|Operating system||Microsoft Windows and Mac OS X (highly unstable on Linux)|
Firesheep is an extension for the Firefox web browser that uses a packet sniffer to intercept unencrypted session cookies from websites such as Facebook and Twitter. The plugin eavesdrops on Wi-Fi communications, listening for session cookies. When it detects a session cookie, the tool uses this cookie to obtain the identity belonging to that session. The collected identities (victims) are displayed in a side bar in Firefox. By clicking on a victim's name, the victim's session is taken over by the attacker.
The extension was released October 2010 as a demonstration of the security risk of session hijacking vulnerabilities to users of web sites that only encrypt the login process and not the cookie(s) created during the login process. It has been warned that the use of the extension to capture login details without permission would violate wiretapping laws and/or computer security laws in some countries. Despite the security threat surrounding Firesheep, representatives for Mozilla Add-ons have stated that it would not use the browser's internal add-on blacklist to disable use of Firesheep, as the blacklist has only been used to disable spyware or add-ons which inadvertently create security vulnerabilities, as opposed to attack tools (which may legitimately be used to test the security of one's own systems). Note that even if they did, it wouldn't actually prevent anyone from using Firesheep, as Firefox contains a setting to disable this blacklist.
Later a similar tool called Faceniff was released for Android mobile phones.
Multiple methods exist to counter Firesheep's local network sniffing, such as preventing sniffing by using a secure connection. This can be realized in several ways: for example by using HTTPS, or a virtual private network (VPN) connection, or using wireless security. These approaches may be employed individually or in any combination, and their availability in any given situation will vary, in part due to web site and local network characteristics and configuration.
HTTPS offers end-to-end security between the user agent and the web server. This works well with web sites that are offered uniformly over HTTPS. However, many web sites employ HTTPS only during the login process, then revert the user's session to unsecure HTTP.
This can be addressed in two intersecting fashions:
- First, the site can offer itself uniformly over HTTPS.
- Second, the user can employ a browser extension, such as HTTPS Everywhere which can help ensure uniform HTTPS access to certain websites (the list is extensive), whether or not the site offers itself uniformly over HTTPS by default or employs HSTS. Also, in Mozilla Firefox 4 (or later) as well as Google Chrome (version 4 and later) the user may natively hand-configure the browser to treat the site as HTTPS-only.
Virtual private network
The end-user may also employ a corporate virtual private network or implement a personal VPN (for example via OpenVPN) to a home PC acting as a VPN server to encrypt absolutely all the data during transmission over the public Wi-Fi link.
However, one must then trust the VPN's operators not to capture the session cookies themselves. That is particularly a concern with the Tor network, for which anyone can set up an exit node and monitor traffic going to non-HTTPS websites.
Wireless network security
Local Wi-Fi networks may be configured with varying levels of security enabled. Using a Wired Equivalent Privacy (WEP) password, the attacker running Firesheep must have the password, but once this has been achieved (a likely scenario if a coffee shop is asking all users for the same basic password) they are able to decrypt the cookies and continue their attack. However, using Wi-Fi Protected Access (WPA or WPA2) encryption offers individual user isolation, preventing the attacker from using Firesheep from decrypting cookies sent over the network even if the Firesheep user has logged into the network using the same password. An attacker would be able to manually retrieve and decrypt another user's data on a WPA-PSK connection, if the key is known and the attacker was present at the time of the handshake, or if they send a spoofed de-authenticate packet to the router, causing the user to re-authenticate and allow the attacker to capture the handshake. This attack would not work on WPA-Enterprise networks as there is no single password (the 'Pre Shared Key' in PSK).
On a WPA / WPA2 or Ethernet network, an attacker on the same network could still access session cookies of an unencrypted HTTP connection with a man-in-the-middle attack like ARP spoofing.
- Butler, Eric. "Firesheep – codebutler". Retrieved December 20, 2010.
- Steve Gibson, Gibson Research Corporation. "Security Now! Transcript of Episode No. 272". Grc.com. Retrieved November 2, 2010.
- "Firesheep Sniffs Out Facebook and Other User Credentials on Wi-Fi Hotspots". Lifehacker. Retrieved October 28, 2010.
- Keizer, Gregg. "Mozilla: No 'kill switch' for Firesheep add-on". Computer World. Retrieved October 29, 2010.
- "Extensions.blocklist.enabled". MozillaZine Knowledge Base. Retrieved January 31, 2013.
- "Sniff and intercept web session profiles on Android". Help Net Security. Retrieved June 2, 2011.
- Seth Schoen (October 29, 2010). "The Message of Firesheep: "Baaaad Websites, Implement Sitewide HTTPS Now!"". Retrieved March 8, 2011.
- Chris Palmer (November 15, 2010). "How to Deploy HTTPS Correctly". Retrieved March 8, 2011.
- Jeff Hodges (October 31, 2010). "Firesheep and HSTS (HTTP Strict Transport Security)". Retrieved March 8, 2011.
- Answer to 'Can other people on an encrypted Wi-Fi AP see what you're doing?'
- Firesheep home page
- Eric Butler
- New York Times article about Firesheep
- Setting up Firesheep on Linux