New torbutton Featured at Blackhat

I was just searching google for some BlackHat pdf's and ran accross a great firefox extention that works with tor. Here are some of the features..

This is a c/p right from the developers site:
Download/install here


Torbutton is a 1-click way for Firefox users to enable or disable the browser's use of Tor. It adds a panel to the statusbar that says "Tor Enabled" (in green) or "Tor Disabled" (in red). The user may click on the panel to toggle the status. If the user (or some other extension) changes the proxy settings, the change is automatically reflected in the statusbar.

Some users may prefer a toolbar button instead of a statusbar panel. Such a button is included, and one adds it to the toolbar by right-clicking on the desired toolbar, selecting "Customize...", and then dragging the Torbutton icon onto the toolbar. There is an option in the preferences to hide the statusbar panel (Tools->Extensions, select Torbutton, and click on Preferences).

Newer Firefoxes have the ability to send DNS resolves through the socks proxy, and Torbutton will make use of this feature if it is available in your version of Firefox.

Description of Options

The development branch of Torbutton adds several new security features to protect your anonymity from all the major threats the author is aware of. The defaults should be fine for most people, but in case you are the tweaker type, or if you prefer to try to outsource some options to more flexible extensions, here is the complete list. (In an ideal world, these descriptions should all be tooltips in the extension itself, but Firefox bugs 45375 and 218223 currently prevent this).

  • Disable plugins on Tor Usage (crucial)
  • This option is key to Tor security. Plugins perform their own networking independent of the browser, and many plugins only partially obey even their own proxy settings.
  • Isolate Dynamic Content to Tor State (crucial)
  • Another crucial option, this setting causes the plugin to disable Javascript on tabs that are loaded during a Tor state different than the current one, to prevent delayed fetches of injected URLs that contain unique identifiers, and to kill meta-refresh tags. It also enables an nsIContentPolicy that prevents all fetches from tabs loaded with an opposite Tor state. This Content Policy serves to block non-Javascript dynamic content such as CSS popups.
  • Hook Dangerous Javascript (crucial)
  • This setting enables the Javascript hooking code. Javascript is injected into the DOM (and then removed immediately after executing) to hook the Date object to mask timezone, and to hook the navigator object to mask OS and user agent properties not handled by the standard Firefox user agent override settings.
  • Disable Updates During Tor (recommended)
  • Many extension authors do not update their extensions from SSL-enabled websites. It is possible for malicious Tor nodes to hijack these extensions and replace them with malicious ones, or add malicious code to existing extensions.
  • Disable Search Suggestions during Tor (optional)
  • This optional setting governs if you get Google search suggestions during Tor usage. Since no cookie is transmitted during search suggestions, this is a relatively benign behavior.
  • Block History Reads during Tor (crucial)
  • Based on code contributed by Collin Jackson, when enabled and Tor is enabled, this setting prevents the rendering engine from knowing if certain links were visited. This mechanism defeats all document-based history disclosure attacks, including CSS-only attacks.
  • Block History Reads during Non-Tor (recommended)
  • This setting accomplishes the same but for your Non-Tor activity.
  • Block History Writes during Tor (recommended)
  • This setting prevents the rendering engine from recording visited URLs, and also disables download manager history, form field history, and disables remembering login information. Note that if you allow writing of Tor history, it is recommended that you disable non-Tor history reads, since malicious websites you visit without Tor can query your history for .onion sites and other history recorded during Tor usage (such as Google queries).
  • Block History Writes during Non-Tor (optional)
  • This setting also disables recording any history information during Non-Tor usage.
  • Clear History During Tor Toggle (optional)
  • This is an alternate setting to use instead of (or in addition to) blocking history reads or writes.
  • Block Tor disk cache and clear all cache on Tor Toggle
  • Since the browser cache can be leveraged to store unique identifiers, cache must not persist across Tor sessions. This option keeps the memory cache active during Tor usage for performance, but blocks disk access for caching.
  • Block disk and memory cache during Tor
  • This setting entirely blocks the cache during Tor, but preserves it for Non-Tor usage.
  • Clear Cookies on Tor Toggle
  • Fully clears all cookies on Tor toggle.
  • Store Non-Tor cookies in a protected jar
  • This option stores your persistent Non-Tor cookies in a special cookie jar file, in case you wish to preserve some cookies. Contributed by Collin Jackson. It is compatible with third party extensions that you use to manage your Non-Tor cookies. Your Tor cookies will be cleared on toggle, of course.
  • Manage My Own Cookies (dangerous)
  • This setting allows you to manage your own cookies with an alternate extension, such as CookieCuller. Note that this is particularly dangerous, since malicious exit nodes can spoof document elements that appear to be from sites you have preserved cookies for (and can then do things like fetch your entire gmail inbox, even if you were not using gmail or visiting any google pages at the time!).
  • Disable DOM Storage during Tor usage (crucial)
  • Firefox has recently added the ability to store additional state in persistant hash tables, called DOM Storage. Obviously this can compromise your anonymity if stored content can be fetched across Tor-state.
  • Clear cookies on Tor/Non-Tor shutdown
  • This setting uses the Firefox Private Data settings to clear cookies on Tor and/or Non-Tor browser shutdown.
  • Disable Session Saving (recommended)
  • This option disables the session store, which stores your session in the event of browser upgrades and crashes. Since the session store can be written at random times and a browser crash or upgrade can cause you to refetch many Tor urls outside of Tor, currently this is an all-or-nothing setting for both Tor and Non-Tor.
  • Set user agent during Tor usage (crucial)
  • User agent masking is done with the idea of making all Tor users appear uniform. A recent Firefox Windows build was chosen to mimic for this string and supporting navigator.* properties, and this version will remain the same for all TorButton versions until such time as specific incompatibility issues are demonstrated. Uniformity of this value is obviously very important to anonymity. Note that for this option to have full effectiveness, the user must also allow Hook Dangerous Javascript ensure that the navigator.* properties are reset correctly. The browser does not set some of them via the exposed user agent override preferences.
  • Spoof US English Browser
  • This option causes Firefox to send http headers as if it were an English browser. Useful for internationalized users.
  • Don't send referer during Tor Usage
  • This option disables the referer header, preventing sites from determining where you came from to visit them. This can break some sites, however. Digg in particular seemed to be broken by this. A more streamlined, less instrusive version of this option should be available eventually. In the meantime, RefControl can provide this functionality via a default option of Forge.


When I use Tor, Firefox is no longer filling in logins/search boxes for me. Why?

Currently, this is tied to the "Block history writes during Tor" setting. If you have enabled that setting, all formfill functionality (both saving and reading) is disabled. If this bothers you, you can uncheck that option, but both history and forms will be saved. To prevent history disclosure attacks via Non-Tor usage, it is recommended you disable Non-Tor history reads if you allow history writing during Tor.

Which Firefox extensions should I avoid using?

This is a tough one. There are thousands of Firefox extensions: making a complete list of ones that are bad for anonymity is near impossible. However, here are a few examples that should get you started as to what sorts of behavior are dangerous.

  1. StumbleUpon, et al
  2. This extension will send all sorts of information about the websites you visit to the stumbleupon servers, and correlate this information with a unique identifier. This is obviously terrible for your anonymity. More generally, any sort of extension that requires registration, or even extensions that provide information about websites you visit should be suspect.
  3. NoScript
  4. Torbutton currently mitigates all known anonymity issues with Javascript. While it may be tempting to get better security by disabling Javascript for certain sites, you are far better off with an all-or-nothing approach. NoScript is exceedingly complicated, and has many subleties that can surprise even advanced users. For example, verifies extension integrity via Javascript over https, but downloads them in the clear. Not adding it to your whitelist effectively means you are pulling down unverified extensions. Worse still, using NoScript can actually disable protections that Torbutton itself provides via Javascript, yet still allow malicious exit nodes to compromise your anonymity via the default whitelist (which they can spoof).
  5. FoxyProxy
  6. FoxyProxy faces similar problems as NoScript. Since it only loads some content elements through a proxy, it is possible for exit nodes or malicious websites to insert links to sites that are allowed to bypass your proxy rules, and unmask you that way. The FoxyProxy author has been informed of this issue (and other security issues) relating to his extension. The solution they must implement is similar to Torbutton's "isolate dynamic content" mechanism: an entire tab must be bound to a single proxy setting for the duration of its document's existence. So far the author has expressed no interest in implementing this ability. Avoid this extension.
  7. SwitchProxy, et al
  8. In theory, Torbutton should tolerate third-party proxy switchers that behave sanely (ie in an all-or-nothing fashion). In practice, there are likely bugs relating to this. Please be vigilant if you are going to attempt combining Torbutton with another proxy siwtcher. There may be cases where Torbutton gets confused as to which state it currently is in, leaving you vulnerable to all sorts of unmasking attacks.

Clicky Web Analytics