Puneet Varma (Editor)

Firesheep

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
Eric Butler

Available in
  
English

Stable release
  
0.1-1

Type
  
Add-on (Mozilla)

Operating system
  
Microsoft Windows and Mac OS X (highly unstable on Linux)

Website
  
codebutler.com/firesheep

Firesheep is an extension for the Firefox web browser that uses a packet sniffer to intercept unencrypted cookies from websites such as Facebook and Twitter. As cookies are transmitted over networks, packet sniffing is used to discover identities on a sidebar displayed in the browser, and allows the user to instantly take on the log-in credentials of the user by double-clicking on the victim's name.

Contents

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.

Countermeasures

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

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.
  • As an adjunct to this, the site can advertise the HTTP Strict Transport Security (HSTS) policy, which will be honored by user agents implementing HSTS.
  • 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).

    References

    Firesheep Wikipedia