Firesheep is a Firefox plug-in that automates session hijacking attacks over unsecured Wi-Fi networks. The plug-in is essentially a packet sniffer that monitors and analyzes traffic between a Wi-Fi router and end users connecting to the network. Eric Butler, a Seattle-based software developer, created Firesheep and announced its release at the ToorCon hackers’ conference in October 2010.
Firesheep is so user-friendly that anyone using an unsecured Wi-Fi connection can hijack another user’s session. The default Firesheep database includes 26 popular Web service and social networking sites, including Amazon, Facebook, Google, Twitter, The New York Times and Wordpress. The database can also be customized to include other websites.
Here's Firesheep in action, as illustrated by Eric Butler's screenshots:
1. Firesheep appears as a sidebar. The attacker just has to connect through an unsecure Wi-Fi network and click "Start Capturing."
2. Firesheep will monitor the network traffic and, when it detects a user connected to a website in the Firesheep database, it will grab cookies and display a list of potential targets.
3. When the list appears, all the attacker has to do is double-click a name to log into the website as that user.
Firesheep works because of lax security in the way user sessions are authenticated on many websites. When the user logs in, the server checks for the user name and password and, when they are found, responds with a cookie that is used to authenticate subsequent communications. Websites commonly encrypt the initial communication but not subsequent ones. If the website is in the Firesheep database, Firesheep uses the session cookie to allow the attacker to do anything on the website that the valid user can -- including making purchases, posting updates, chatting or sending email.
According to Butler, his reason for developing Firesheep was to draw attention to the risks of session hijacking and the importance of adequate security to prevent it:
“This is a widely known problem that has been talked about to death, yet very popular websites continue to fail at protecting their users. The only effective fix for this problem is full end-to-end encryption, known on the web as HTTPS or SSL. Facebook is constantly rolling out new "privacy" features in an endless attempt to quell the screams of unhappy users, but what's the point when someone can just take over an account entirely? Twitter forced all third party developers to use OAuth then immediately released (and promoted) a new version of their insecure website. When it comes to user privacy, SSL is the elephant in the room.”
Because unsecured Wi-Fi networks abound in coffee shops and other public places, it would be unrealistic to expect people to stop connecting through them. However, to prevent session hijacking, public Wi-Fi users should avoid logging into websites.