Jump to: navigation, search

Tor Browser

Contents

Introduction[edit]


Tor Browser [2] is a fork of the Mozilla Firefox web browser. It is developed by The Tor Project and optimized and designed for Tor, anonymity and security. Many users will have browsed with Firefox and be familiar with the user interface that resembles those found in other popular, modern browsers. [3]

Users are encouraged to read this entire wiki entry so Tor Browser is used effectively and safely on the Whonix platform. Advanced users may also be interested in the Tor Browser Adversary Model.

Anonymity vs Pseudonymity[edit]


If browsers other than Tor Browser are used in Whonix, the user's IP address and Domain Name Service (DNS) requests [4] are still protected. However, users do not profit from Tor Browser's protocol level cleanup in this scenario. Features like proxy obedience, state separation, network isolation, anonymity set preservation and a host of others are simply unsupported by other browsers.

In stark contrast to regular browsers, Tor Browser is optimized for anonymity and has a plethora of privacy-enhancing patches and add-ons. [5] With Tor Browser, the user "blends in" and shares the Fingerprint of nearly three million other users, which is advantageous for privacy.

Encryption[edit]

HTTPS Encryption[edit]

It is important to understand the difference between HTTP and HTTPS: [6]

HTTPS (also called HTTP over Transport Layer Security (TLS), HTTP over SSL, and HTTP Secure) is a communications protocol for secure communication over a computer network which is widely used on the Internet. HTTPS consists of communication over Hypertext Transfer Protocol (HTTP) within a connection encrypted by Transport Layer Security, or its predecessor, Secure Sockets Layer. The main motivation for HTTPS is authentication of the visited website and protection of the privacy and integrity of the exchanged data.

HTTPS Advantages[edit]

HTTPS advantages include: [7]

  • Authentication of the website and web server the user is communicating with.
  • Protection against man-in-the-middle attacks.
  • Bidirectional encryption of communications between a client and server. This protects against eavesdropping and tampering with / forging of communication contents.
  • A reasonable user expectation that the website being communicated with is genuine. [8]


In the context of Tor Browser, this means users should prefer HTTPS instead of HTTP so communication is encrypted while browsing the Internet. While traffic is encrypted throughout the Tor network, the exit relay (third of three servers) can see traffic sent into Tor if it is plain HTTP. If HTTPS is used, the exit relay will only know the destination address. [9]

As an example, the screenshot below is how the browser looks when visiting the Whonix website. [10]

Figure: A Secure Connection to www.whonix.org

HTTPS-website-example.png

Take notice of the small area on the left-hand side of the address bar. Indicators of an encrypted connection are www.whonix.org is highlighted with a padlock and "Secure Connection" in green writing, and the URL begins with https:// instead of http://.

HTTP / HTTPS Connections with and without Tor[edit]

The following figures from EFF provide an overview of HTTP / HTTPS connections with and without Tor, and what information is visible to various third parties. The descriptors are as follows: [11]

Potentially visible data includes: the site you are visiting (SITE.COM), your username and password (USER/PW), the data you are transmitting (DATA), your IP address (LOCATION), and whether or not you are using Tor (TOR).

Figure: Tor and HTTPS

Tor-with-https.png

Figure: Tor and No HTTPS

Tor-without-https.png

Figure: No Tor and HTTPS

Without-tor-with-https.png

Figure: No Tor and No HTTPS

Without-tor-https.png

Onion Services Encryption[edit]

Whenever possible, users are encouraged to stay within the Tor network for communications and web browsing via available .onion addresses. These services are commonly referred to as onion services (formerly "hidden services"), even when their location is publicly known. [12]

Onion Services Advantages[edit]

URLs ending in the .onion extension provide a superior level of security and privacy, since the user's connection forms a completely end-to-end encrypted tunnel that uses a random rendezvous point within the Tor network (HTTPS is not required). These connections also incorporate perfect forward secrecy (PFS). PFS means the compromise of long-term keys does not compromise past session keys. As a consequence, past encrypted communications and sessions cannot be retrieved and decrypted if long-term secrets keys or passwords are compromised in the future by adversaries. [13]

Other primary benefits of onion services include: [14]

  • Prevention of passive surveillance by network observers and the Tor exit node that is possible when using plain Tor + HTTPS. Adversaries cannot (easily) determine which destination the users are connecting from/to.
  • Onion services establish "rendezvous points" in the Tor network for web services whereby neither the hosting service or the user know each other's network identity.
  • Onion services can be combined with SSL/TLS to provide additional protection. Only a handful of services currently provide this service, including DuckDuckGo: https://3g2upl4pq6kufc4m.onion and ProtonMail: https://protonirockerxow.onion. [15] [16]
  • Onion services do not use the insecure DNS system. Strong authentication comes from the self-authenticating address: the address itself forms a cryptographic proof of the .onion's identity. [17] [18]


Users who want to learn more about how onion services work should read the technical description.

Tor Browser Add-Ons[edit]

HTTPS Everywhere[edit]

HTTPS Everywhere logo

HTTPS Everywhere is a Firefox extension shipped in Tor Browser and produced as a collaboration between The Tor Project and the Electronic Frontier Foundation. It helps to encrypt user communications with a number of major sites.

Many sites on the Internet offer some limited support for encryption over HTTPS, but make it difficult to use. For instance, sites may default to unencrypted HTTP or fill encrypted pages with links that return to the unencrypted version of site. The HTTPS Everywhere extension addresses these problems by rewriting all site requests to HTTPS.

To learn more about HTTPS Everywhere, visit:

NoScript[edit]

NoScript logo

NoScript is a free, open source extension that comes bundled with Tor Browser and other Mozilla-based web browsers. NoScript can provide significant protection for users, depending on its configuration: [19]

NoScript allows executable web content based on JavaScript, Java, Flash, Silverlight, and other plugins only if the site hosting is considered trusted by its user and has been previously added to a whitelist. NoScript also offers specific countermeasures against security exploits. ... This is based on the assumption that malicious websites can use these technologies in harmful ways.

NoScript protects against cross-site scripting, which otherwise enables attackers to inject malicious client-side scripts into web pages being viewed, bypassing the same-origin policy. The same-origin policy refers to web browsers usually only allowing scripts in the first web page to access data in a second web page if they have the same origin (URL scheme, hostname and port number).

Anti-clickjacking is also available to protect against hidden or disguised user interface elements masquerading as trusted web page buttons, links and so on (this is disabled by default in Tor Browser). Clickjacking can maliciously activate microphones or webcams, or trick users into interacting with hidden elements to steal important financial, personal or other data.

Security vs Usability Trade-off[edit]

In the stock Tor Browser configuration, JavaScript is enabled by default for greater usability. The Tor Project FAQ provides a summary of the reasoning for this decision: [20]

We configure NoScript to allow JavaScript by default in Tor Browser because many websites will not work with JavaScript disabled. Most users would give up on Tor entirely if a website they want to use requires JavaScript, because they would not know how to allow a website to use JavaScript (or that enabling JavaScript might make a website work).


There's a trade-off here. On the one hand, we should leave JavaScript enabled by default so websites work the way users expect. On the other hand, we should disable JavaScript by default to better protect against browser vulnerabilities (not just a theoretical concern!). But there's a third issue: websites can easily determine whether you have allowed JavaScript for them, and if you disable JavaScript by default but then allow a few websites to run scripts (the way most people use NoScript), then your choice of whitelisted websites acts as a sort of cookie that makes you recognizable (and distinguishable), thus harming your anonymity.

The take-home message is disabling all JavaScript with white-list based, pre-emptive script-blocking may better protect against vulnerabilities (many attacks are based on scripting), [21] but it reduces usability on many sites and acts as a fingerprinting mechanism based on the select sites where it is enabled. [22] On the other hand, allowing JavaScript by default increases usability and the risk of exploitation, but the user also has a fingerprint more in common with the larger pool of users. [23] [24]

Developers are unaware of any JavaScript vulnerabilities that could compromise Whonix anonymity. That said, users should refrain from changing NoScript settings in Tor Browser, unless they are aware of the potential impacts. Users can enable/disable JavaScript, Java and/or plugin execution by left-clicking on the NoScript status bar icon, or via the the contextual menu. [25] Permissions can be selected either temporarily or on a permanent basis. "Temporarily allow" will only enable scripts for that site until the browser session is closed, or until permission is manually revoked.


For further information, refer to the NoScript website and features overview, or the Torbutton design document.

Non-default Add-ons[edit]

As Tor Browser is based on Firefox, any browser add-on that is compatible with Firefox can also be installed in Tor Browser. In this context, add-ons is the collective name for extensions, themes and plugins: [26]

  • Extensions add new features to Firefox or modify existing ones, like video downloaders, ad blockers and so on.
  • Themes change the appearance of the browser, such as buttons, menus and the background image.
  • Plugins add support for Internet content and often include patented formats like Flash and Silverlight which are used for video, audio, online games and more.

[27]

Non-default Add-on Risks[edit]

The Tor Project explicitly warns against using non-default add-ons with Tor Browser: [28]

However, the only add-ons that have been tested for use with Tor Browser are those included by default. Installing any other browser add-ons may break functionality in Tor Browser or cause more serious problems that affect your privacy and security. It is strongly discouraged to install additional add-ons, and the Tor Project will not offer support for these configurations.

....

Video websites, such as Vimeo make use of the Flash Player plugin to display video content. Unfortunately, this software operates independently of Tor Browser and cannot easily be made to obey Tor Browser’s proxy settings. It can therefore reveal your real location and IP address to the website operators, or to an outside observer. For this reason, Flash is disabled by default in Tor Browser, and enabling it is not recommended.

Recommendations


The problem with non-default add-ons is they are often non-free software, and can lead to linkability to the same pseudonym. Moreover, they worsen fingerprinting and open up attack vectors in the form of remote exploits.

This advice holds true even though Whonix is configured to prevent these applications (along with malware) from leaking the user's real external IP address, even if they are misconfigured (see Features). Users should first consider the various alternatives to plugins, such as HTML5 or online media converters. [29]

If this advice is to be disregarded, first read Browser Plugins before proceeding.

Torbutton[edit]

Tor alone is not enough to protect your anonymity and privacy while browsing the Internet. All modern web browsers support JavaScript, Adobe Flash, cookies and other features which are capable of defeating the anonymity [30] provided by the Tor network.

In Tor Browser, these features are handled from inside the browser, because it is a modified (patched) version of Firefox and it contains an extension called Torbutton:

Torbutton is the component in Tor Browser that takes care of application-level security and privacy concerns in Firefox. To keep you safe, Torbutton disables many types of active content.
[31]

Users are also encouraged to learn more about fingerprinting and data collection techniques. Advanced users who are interested in a detailed description of the Torbutton design and the functions described below can learn more here.

New Identity Function[edit]

The "New Identity" menu option sends the protocol command "signal newnym" to Tor's ControlPort. This clears the browser state, closes tabs, and obtains a fresh Tor circuit for future requests. [32]


Sometimes Tor only replaces the middle relay while using the same Tor exit relay. This is by design and the Tor default. Further, "signal newnym" does not interfere with long-lived connections like an IRC connection.

New Identity is not yet perfect and there are open bugs; this is not a Whonix-specific issue. [33] For greater security, it is better to completely close Tor Browser and restart it. In Qubes-Whonix, the safest option is using a Whonix-Workstation Qubes/DisposableVM and closing it and recreating a new one after critical activities.

This is how to use the New Identity feature in Torbutton.

Click Torbutton -> Click "New Identity"

Please read New Identity and Tor circuits and the New Identity design to learn more about this option and its limitations.

New Tor Circuit Function[edit]

The "New Tor Circuit for this Site" Torbutton feature causes a new circuit to be created for the current Tor Browser tab, including other open tabs or windows from the same website. [34]


If it is really necessary to separate contextual identities, it is always safer to close and then restart Tor Browser.

Potential use cases for this feature include: [35]

  • The Tor exit relay is located in a country which negatively affects the presentation of the website due to language localization.
  • The site is censored due to the current Tor exit relay in use (caused by Tor IP address blacklisting).
  • To bypass Google CAPTCHA or reCAPTHA systems protecting sites from abuse if these are showing unsolvable captcha or no captcha at all.
  • Connections to websites become unresponsive or slow.
  • To change the Tor exit relay IP address without losing all open tabs.


To use it:

Click Torbutton -> Click "New Tor Circuit for this Site"

Advanced users who want to learn more about this function should refer to the New Tor Circuit design entry.

Security Slider[edit]

Tor Browser includes a “Security Slider” that lets the user disable certain web features that can be used to compromise security and anonymity. Currently there are three levels: "High", "Medium" and "Low (default)". Users have to make a trade-off between security, usability and privacy. At the higher levels the slider will prevent some sites from working properly. [36]

To use this feature:

Click Torbutton -> Click "Security Settings..." -> Select desired security level

To learn more about the exact effect of each setting level, users should refer to the Security Slider design entry.

Check for Tor Browser Update[edit]

Torbutton will notify the user if a Tor Browser update is available. See Tor Browser Internal Updater for further information and screenshots of this process. Note that there are multiple methods of updating Tor Browser. To use the Torbutton menu option:

Click Torbutton -> Click "Check for Tor Browser Update..."

Disabled Torbutton Functions[edit]

Users who are interested in why Torbutton's "Open Networking Settings" and "Tor Circuit View" features have been disabled in Whonix can learn more here.

Tor Browser: How-To[edit]

Start Tor Browser[edit]

From the Menu[edit]

Start Tor Browser.

If you are using Qubes-Whonix.

Qubes Start Menu -> Whonix-Workstation AppVM (commonly called anon-whonix) -> Tor Browser

If you are using Non-Qubes-Whonix.

Start Menu -> Tor Browser

From the Command Line or Debugging Mode[edit]

To start Tor Browser from the command line or in debugging mode, please press Expand on the right.

Open a terminal.

If you are using Qubes-Whonix, complete the following steps.

Qubes App Launcher (blue/grey "Q") -> Whonix-Workstation AppVM (commonly named anon-whonix) -> Konsole

If you are using a graphical Whonix-Workstation, complete the following steps.

Start Menu -> Applications -> System -> Konsole

The user has two options. To start Tor Browser "normally" from the terminal. [37]

torbrowser

Or to generate debugging output if problems are experienced with Tor Browser (also see Debugging).

Change into the Tor Browser folder.

cd ~/.tb/tor-browser/Browser

Start Tor Browser in debugging mode.

./start-tor-browser --debug

Note: Tor Browser can also be started manually without the --debug argument.

Successful Tor Browser Connection[edit]

If Tor Browser successfully launches and connects to the Tor network, check.torproject.org should show the following message.

Figure: Successful Tor Browser Connection

This-Browser-is-Using-Tor.png

File Downloads[edit]

Warnings[edit]

Whonix protects against these threats outlined below, such as files that inadvertently or maliciously attempt to reveal the real IP address of the user, or third-party, external applications that can leak information outside of Tor. However, users should always engage in best safety practices.

Do not Open Documents Downloaded via Tor while Online

The Tor Project explicitly warns users not to open documents handled by external applications, since in the normal case they may contain Internet resources that may be downloaded outside of Tor by the application that opens them. [38]

This warning is not strictly relevant to Whonix users since all traffic is forced over the Whonix-Gateway and the IP address will not be leaked. Despite this fact, for greater safety users should open files such as PDFs and word processing documents in offline VMs.

Malicious files or links to files pose a greater threat; potential compromise of the user's system. Therefore users should heed the Whonix advice to not open random links or files in the Whonix-Workstation. Instead, in Qubes-Whonix it is preferable to sanitize the PDF or open the file or link in a DisposableVM. Non-Qubes-Whonix users should only open the file in a separate, offline Whonix-Workstation.

Do not Torrent over Tor

See File Sharing.

Secure Downloads[edit]

Preventing SSLStrip Attacks[edit]


Users often mistakenly believe that a secure, green padlock and a https:// URL makes any download from that particular website secure. This is not the case. The website might be redirecting to http.

In fact, the user may be vulnerable to an attempted SSLstrip attack if a link is pasted or typed into the address bar without the https:// component (e.g. torproject.org instead of https://torproject.org). [39]

In this instance, the user cannot actually confirm if the file is being downloaded over https://. Potentially, a SSLstrip attack might have made the download take place over plain http. The reason is the user cannot see a padlock; it just appears empty.

To avoid the risk of an SSLstrip attack or similar threats, users should always explicitly type or paste https:// in the URL / address bar. The SSL certificate button or padlock will not appear in this instance, but that is nothing to be concerned about. Unfortunately, few users follow this sage advice; instead most mistakenly believe pasting or typing www.torproject.org into the address bar is safe.

Other Precautions[edit]

For even greater safety, where possible download files from hidden services (.onion addresses). Greater security is provided by hidden service downloads, since: the connection is encrypted end-to-end (with PFS), targeting of individuals is difficult, and adversaries cannot easily determine where the user is connecting to or from.

Also, if files are already available in repositories, then users should prefer mechanisms which simplify and automate software upgrades and installations (like apt-get functions), rather than download Internet resources. Avoid installing unsigned software and be sure to always verify key fingerprints and digital signatures of signed software from the Internet, before importing keys or completing installations.

Finally, consider using multiple Whonix-Workstations when downloading and installing additional software, to better compartmentalize user activities and minimize the threat of misbehaving applications.

Navigating Tor Browser Downloads[edit]

For users who regularly download Internet files, Tor Browser's default download folder is inconvenient. For example, if the user downloaded the sample image below using Tor Browser, by default the download path is /home/user/.tb/tor-browser/Browser/Downloads. It is time-consuming to navigate to this folder so far down the directory tree.

Figure: Default Tor Browser Download Folder

Tbbd.png

To make things simpler, users can change Tor Browser preferences so files are saved directly inside /home/user/Downloads. To do this, follow these steps.

1. Navigate to Tor Browser Preferences

Choose one of the following three methods:

  • Click the "hamburger" symbol -> Click Preferences
  • Navigate to the Edit menu -> click Preferences -> click General tab
  • Enter about:preferences in the Tor Browser address bar.


Figure: Tor Browser Preferences

Tbbd6.png

2. Select the Save files to Download Option

Figure: Custom Download Path Option

Tbbd8.png

3. Change the Default Download Folder Location

Users are recommended to set the custom path as /home/user/Downloads

Figure: Set the Custom Download Path

Tbbd7.png

User files will now be downloaded to /home/user/Downloads. You can navigate to this folder using either dolphin or konsole.

If a user has stored files inside the "wrong" download folder and needs to access them, please press Expand on the right.

1. Start Dolphin

2. Enable Hidden Files View

To show hidden files:

Navigate to the View menu -> click Show Hidden Files

Figure: Hidden Files in Dolphin

Tbbd2.png

3. Navigate to the Downloaded Files

Double-click the .tb folder

Figure: Hidden Tor Browser Folder

Tbbd3.png

Use the following path: tor-browser -> Browser -> Downloads

Figure: Default Tor Browser Download Folder

Tbbd4.png

Now the user can review the downloaded files.

Figure: Downloaded Files

Tbbd5.png

Browser Language[edit]

As of April 2017, Tor Browser binaries with additional language packs support sixteen languages. For instructions on changing Tor Browser's interface to a language other than English, see Tor Browser Language. [40]

Local Connections[edit]

Sometimes a user needs to access the local application interface on 127.0.01 in order to run specific applications like I2P. [41] Due to potential fingerprinting and information leakage risks, this behavior is no longer possible in Tor Browser unless an exception is configured. [42] [43]

To configure an exception for local connections in Tor Browser: [44]

Preferences -> Advanced -> Network | Connection Settings... -> No Proxy for: "127.0.0.1" -> click "OK"

The configured exception means a small trade-off in privacy, but it is much safer than using another browser (see Local Connections Exception Threat Analysis).


Recommendations

For better anonymity:

  • Browse with JavaScript disabled in Tor Browser and enable it only when needed. Disabled JavaScript mitigates these browser fingerprinting issues completely.
  • Set passwords for web interfaces listening on the localhost.
  • Run sensitive daemons with local WebGUIs on a separate, dedicated Whonix-Workstation and virtual network instance. TODO: expand or link how to do that

Harden Tor Browser[edit]

Users can further protect their anonymity and increase their safety via: AppArmor, Tor Browser settings, sandboxing, the alpha Tor Browser series, multiple Tor Browser instances, and operation of Whonix-Workstation DisposableVMs (Qubes-Whonix) or multiple Whonix-Workstations.

Tor Browser provides reasonable security in its stock configuration. However, mitigating the risk of Tor Browser security breaches makes sense, because it is an untrusted application with a huge attack surface; it is frequently attacked successfully in the wild by adversaries.

Tor Browser Series and Settings[edit]

Tor Browser Settings

Follow these recommendations and routinely: use onion services for search queries and browsing (where possible), run the Security Slider in the highest position, disable Javascript by default, and enable ClearClick protections in NoScript.

Tor Browser Series

For greater security, consider using the alpha series of Tor Browser. This incorporates Selfrando load-time memory randomization protection and other security features. Both the alpha and main series of Tor Browser now benefit from Mozilla's content level sandboxing, as well as being multi-process (e10s) compatible.

Multiple Tor Browser Instances and Whonix-Workstations[edit]

Multiple Tor Browsers Instances

To better separate different contextual identities, users should consider starting multiple Tor Browser instances and running them through different SocksPorts. This method is less secure than the method outlined below.

Multiple Whonix-Workstations

For tasks requiring different identities and/or additional software, users should compartmentalize their activities and use two or more Whonix-Workstation VMs. In this way, an exploit in Tor Browser in one Whonix-Workstation cannot simultaneously read the user's identity in another VM (for example, an IRC account). [45] This method is less secure than using a Whonix-Workstation DisposableVM with Tor Browser (see below).

Sandboxing and DisposableVMs[edit]

Sandboxing

The Tor Project's official sandboxed Tor Browser cannot be used until Whonix 14 is released. However, Firejail can be used as an interim sandboxing measure to restrict the Tor Browser process.

Whonix-Workstation DisposableVMs

One of the safest configurations is to assume future compromise and run all instances of Tor Browser in an uncustomized Whonix-Workstation DisposableVM in Qubes-Whonix. This way, the user can routinely create fresh instances of the Whonix-Workstation and Tor Browser for discrete Internet activities, while ensuring that previous, potentially compromised versions of Tor Browser and Whonix-Workstation are destroyed. [46]

AppArmor Confinement[edit]

AppArmor can help protect the user's system and data. It confines programs according to a set of rules that specify what files a given program can access, and with what privileges. This also provides some protection against zero-day attacks, and exploits via unknown application flaws.

To mitigate the threat of specific attacks against Tor Browser, Whonix's Tor Browser AppArmor profile can be easily applied.


The workaround for denied errors is saving files from Tor Browser to the ~/Downloads folder that is located within the home folder. In order to upload files with Tor Browser, first copy them to that folder.

Update the package lists.

sudo apt-get update

Install the apparmor-profile-torbrowser package.

sudo apt-get install apparmor-profile-torbrowser

Update Tor Browser[edit]

Users have three options for updating Tor Browser in Whonix:


The first two methods are suitable for the majority of users in most cases. Manual updates are only required if the Whonix Tor Browser update script ever breaks. Users should never continue using an outdated version of Tor Browser, otherwise serious security flaws may lead to a compromise of privacy and anonymity. [49]

Tor Browser Downloader by Whonix[edit]

Installation Process[edit]

Note: Tor Browser Downloader (Whonix) is really just a downloader, not a updater. This means it is incapable of retaining user data, for example bookmarks and passwords. In order to keep user data, use the Tor Browser Internal Updater method instead.

To use Tor Browser Downloader (Whonix), follow these instructions.

If you are using Qubes-Whonix, complete the following steps:

Qubes App Launcher (blue/grey "Q") -> Whonix-Workstation AppVM (commonly named anon-whonix) -> Tor Browser Downloader (Whonix)

If you are using a graphical Whonix-Workstation, complete the following steps:

Start Menu -> Applications -> System -> Tor Browser Downloader (Whonix)

If you are using a terminal-only Whonix-Gateway, complete the following steps:

update-torbrowser

There are several steps in this process. First, the downloader will show it is checking for updates.

Figure: Checking for Updates

Tor Browser Downloader (Whonix) checking for updates.


Next, the downloader will ask the user to select the preferred Tor Browser version and confirm installation. Note the warning in the confirmation box stating the existing Tor Browser user profile (including bookmarks and passwords) will be lost during this process.

Figure: Download Confirmation

Tor Browser Downloader (Whonix) Download Confirmation


After the user has assented to the download process, a progress indicator will be displayed by the downloader. This process can be lengthy depending on the speed of the Tor network connection.

Figure: Downloading Tor Browser

Tor Browser Downloader (Whonix) Downloading Tor Browser.


Once the download has finished, the downloader will provide verification (or not) of the cryptographic signature associated with the Tor Browser binary, highlighting the key used to sign it and the date. The downloader will then ask for confirmation to install the package. See Installation Confirmation Notification for steps on securely determining if a user was likely the target of an attack.

Figure: Tor Browser Installation Confirmation

Tor Browser Downloader (Whonix) Installation Confirmation.


If the user confirms the installation process, the downloader will extract Tor Browser.

Figure: Extracting Tor Browser

Tor Browser Downloader (Whonix) Extracting.


In the final step, the downloader will ask the user whether or not they wish to launch the upgraded Tor Browser.

Figure: Finalized Tor Browser Installation

Tor Browser Downloader (Whonix) Finished Installing Tor Browser.


(Also available as CLI version.)

Download Confirmation Notification[edit]


Currently, there is no reliable and secure way for a program to determine the latest stable version of Tor Browser with reasonable certainty. [50] [51] When the version format changes, the automated parser of version information could falsely suggest:

  • An earlier stable version that is still considered secure.
  • An alpha series release.
  • A beta Tor Browser build.
  • A release candidate or nightly Tor Browser build.


Alternatively, the user could be targeted by a denial of service, indefinite freeze or rollback (downgrade) attack. [52] [53]

Therefore, the intelligence of the user is utilized as a sanity check. The Download Confirmation Notification enables users to detect such situations and abort the procedure. In this instance, users should rotate their Tor circuits and attempt the download process again.

Version numbers that are visible under Online versions come from an online resource. The Tor Browser RecommendedTBBVersions versions file is provided by The Tor Project, and is parsed by Whonix's Tor Browser Downloader. The Whonix downloader will indicate to the user that no upgrade is required if the installed Tor Browser version matches the up-to-date online version.

TODO: expand.

Installation Confirmation Notification[edit]


Currently, there is no reliable and secure way for a program to determine (with reasonable certainty) if the Tor Browser download was targeted by an indefinite freeze or rollback attack. [54] [55]

When verifying cryptographic signatures, the user should consider several important aspects:

  • The signature should be made by a trusted key.
  • Trusted keys will have signed other files in the past. The user should also check they received the right file and not just any file that was signed by a trusted key.
  • Even if the right type of file is received, [56] the user should check it has a current signature attached and not a historical one. This step counters the threat of indefinite freeze and rollback attacks.


By the time the users sees the Installation Confirmation Notification, the verification of the signature (and hash) has already succeeded. However, the intelligence of the user is required to make sure they have not been targeted by an indefinite freeze or downgrade attack. In the figure below, the signature creation dates should be carefully examined.

Previous Signature Creation Date: When Tor Browser was previously installed by tb-updater, the creation date of the accompanying signature that signed Tor Browser will have been stored. The Previous Signature Creation Date field displays that date.

Last Signature Creation Date: This field shows the user the date of signature creation for the file which was just downloaded.

Figure: Tor Browser Installation Confirmation

torbrowser-updater_signature_verification_screen.

[57] [58]

Users should note that Tor Browser local version number detection is not currently implemented in Whonix.

TODO: expand.

Tor Browser Internal Updater[edit]

Since Tor Browser v5.0, upgrades have been possible from within the browser: [59]

Starting with this release, Tor Browser will now also download and apply upgrades in the background, to ensure that users upgrade quicker and with less interaction. This behavior is governed by the about:config pref app.update.auto, but we do not recommend disabling it unless you really know what you're doing.

When a new Tor Browser version become available, the user will be prompted to update: the Torbutton icon will display a yellow triangle, and sometimes a written Internal Updater Notification / Updater Wizard will appear when Tor Browser opens. To update automatically, users can either:

  • Use the Internal Updater Notification (Click "Update Tor Browser") or Updater Wizard (Click "Download & Install").
  • Or update via the Torbutton extension (Click Torbutton -> Click "Check for Tor Browser Update...").


A screenshot of Tor Browser's Internal Updater Notification:

Figure: Tor Browser Internal Updater Notification

Tor Browser Internal Updater Popup.png


A screenshot of Tor Browser's Internal Updater Wizard:

Figure: Tor Browser Internal Updater Wizard

Tor Browser Internal Updater Wizard.png


A screenshot of Torbutton's warning symbol (a yellow triangle and exclamation mark) indicating an update is available:

Figure: Torbutton Update Warning

Tor Browser Internal Updater About Tor.png

Tor Browser Manual Update[edit]

A future update of Tor Browser by The Tor Project might make Whonix's Tor Browser Updater or Tor Browser running in Whonix-Workstation unusable. In case Tor Browser (Updater) inside Whonix-Workstation breaks, Whonix news will be published within a few days with instructions on how to fix the issue. If this does not occur, the Whonix developers are not aware of the issue.

Unsafe Tor Browser Habits[edit]

It is important to develop a set of safe habits when communicating, browsing or downloading with Tor Browser. Even the world's premier anonymity software cannot protect users if they shoot themselves in the foot.

The following is an inexhaustive list of unsafe behaviors. Users are encouraged to also read the Whonix Do Not entry, along with documentation available from The Tor Project before using Tor Browser for serious activities necessitating anonymity.

When using Tor Browser, users should not:

Add-ons


Anonymity Modes


Bridges

  • Expect that Tor relay bridges will absolutely disguise all use of Tor / Tor Browser.


Browser Settings


Communications


File Downloads


HTML5 Canvas Image Data


Identities


JavaScript


Logins


Local Connections


Networking


Other Browsers


Personal Websites and Links


Phone Verification


Proxy Settings


Qubes-Whonix


Server Connections


Torbutton


Updates


User Mentality

  • Believe they are invincible running Tor Browser (irrespective of the platform), due to significant adversary capabilities and interest in unmasking or infecting Tor users.

Whonix Tor Browser Differences[edit]

The regular Tor Browser Bundle and Whonix Tor Browser slightly differ. The reason is Tor Browser must be adjusted by Whonix to work behind Whonix-Gateway. Despite environmental variable adjustments, the network and browser fingerprint remain the same.

The main Whonix Tor Browser differences can be summarized as follows:

  • The default landing page upon Tor Browser start is set to use a local Whonix resource. [62]
  • The Tor Circuit View and Open Network Settings functions have been disabled in Torbutton. The former is unsupported for security reasons, [63] while the latter would have no effect since Tor must be configured in the Whonix-Gateway.
  • Tor Browser is installed by default in the Qubes-Whonix Whonix-Workstation, but not in Non-Qubes-Whonix for licensing reasons. This will change in Whonix 14. [64] [65]


Whonix does not:

Tor Browser Functionality on Different Platforms[edit]


The reason is this comparison includes a host of platform-specific differences which confound the result. For example, a more valid comparison would be the differences between:

  • TBB on (non-Qubes) Debian vs Tor Browser on Non-Qubes-Whonix.
  • TBB on (non-Qubes) Debian vs Tor Browser on Qubes-Whonix.


Similarly, if a user wanted to help with TBB (non-Whonix) development, then these comparisons would be useful:

  • TBB on (non-Qubes) Debian vs TBB on Windows.
  • TBB on different Linux distributions.
  • TBB on different Windows platforms.

Glossary and Key Terminology[edit]

Glossary[edit]

Users should familiarize themselves with terms regularly used by The Tor Project and Whonix. One useful resource is the v1.0 Tor glossary which is now available on The Tor Project community wiki page.

Key Terminology[edit]

Tor vs Tor Browser

Tor is an anonymizer developed by The Tor Project. Tor Browser is a web browser developed by the Tor Project which is optimized for privacy. Please do not confuse Tor with Tor Browser when conversing about Whonix topics.

Tor Browser Transparent Proxying

The Tor Browser "transparent proxying" feature [68] and/or the environment variable TOR_TRANSPROXY=1 often cause confusion. It was an unfortunate naming decision by The Tor Project. This feature actually removes proxy settings. With no proxy set, the user's system reverts to its default configuration. The effect of this decision is that Tor Browser will work identically to an unconfigured Firefox or Iceweasel browser.

This is potentially dangerous when done outside of Whonix because Tor Browser's transparent proxying feature could result in clearnet traffic; for instance if the user does not have a gateway with transparent torification features (like Whonix-Gateway). For Whonix users, even with the transparent proxying feature set, Whonix-Gateway will "torrify" traffic and force it through Tor. Similarly, if a user has transparent proxying set and happens to use a JonDo-Gateway, traffic will be forced through JonDo.

One downside of the transparent proxying feature is that even when it is used inside Whonix, it breaks Tor Browser's top level isolation for each separate tab.

Transparent proxying should not be confused with:

  • Tor's TransPort [address:]port|auto [isolation flags] setting.
  • Tor's IsolatingProxy.


TODO: expand.

Advanced Users[edit]

Users should refer to this documentation if any of the following advanced topics are relevant or of interest:

  • Sandboxed Tor Browser.
  • Tor Browser without Tor.
  • Setting a custom homepage.
  • A custom Whonix configuration or Workstation is being used.
  • Changes to proxy settings are required.
  • The difference between tor-launcher and tor-browser launcher.
  • Qubes-Whonix is being used or the user wants to run the Split Tor Browser.
  • Tor Browser debugging is required.

Footnotes / References[edit]

  1. For a comprehensive list of reasons, readers are encouraged to review some or all of the references in this section.
  2. https://tb-manual.torproject.org/linux/en-US/
  3. A good overview of the browser component is provided by The Tor Project design document.
    The Tor Browser is based on Mozilla's Extended Support Release (ESR) Firefox branch. We have a series of patches against this browser to enhance privacy and security. Browser behavior is additionally augmented through the Torbutton extension, though we are in the process of moving this functionality into direct Firefox patches. We also change a number of Firefox preferences from their defaults.


    Tor process management and configuration is accomplished through the Tor Launcher addon, which provides the initial Tor configuration splash screen and bootstrap progress bar. Tor Launcher is also compatible with Thunderbird, Instantbird, and XULRunner.

    To help protect against potential Tor Exit Node eavesdroppers, we include HTTPS-Everywhere. To provide users with optional defense-in-depth against JavaScript and other potential exploit vectors, we also include NoScript. We also modify several extension preferences from their defaults.

    To provide censorship circumvention in areas where the public Tor network is blocked either by IP, or by protocol fingerprint, we include several Pluggable Transports in the distribution. As of this writing, we include Obfs3proxy, Obfs4proxy, Scramblesuit, meek, and FTE.
  4. DNS is a distributed database which keeps track of computer's names and their corresponding IP addresses on the Internet https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm. DNS servers enable the browser to know where resources are located on the Internet, and the corresponding IP address for fetching these.
  5. See below for a further description of these features.
  6. https://en.wikipedia.org/wiki/HTTPS
  7. https://en.wikipedia.org/wiki/HTTPS
  8. HTTPS is not foolproof due to reliance on the Certificate Authority (CA) system that issues digital certificates (private keys) for websites. As a trusted third party, this trust can be abused or the CAs can be subject to adversary attacks.
  9. https://www.torproject.org/docs/faq#AmITotallyAnonymous
  10. https://www.whonix.org
  11. https://www.eff.org/pages/tor-and-https
  12. https://riseup.net/en/security/network-security/tor/onionservices-best-practices
  13. This does not however defend against improved cryptanalysis that breaks underlying ciphers being used, for example by the emergence of quantum computers. Only post-quantum ciphers resistant to these attacks will prevail.
  14. https://www.torproject.org/docs/hidden-services.html.en
  15. Extra layers of encryption are not really necessary, since a completely encrypted tunnel is already formed (but it certainly doesn't hurt). Until recently, these certificates would not validate because of the *.onion hostname.
  16. https://riseup.net/en/security/network-security/tor/onionservices-best-practices
  17. https://blog.torproject.org/blog/cooking-onions-names-your-onions
  18. This is why onion addresses appear absurdly long and random.
  19. https://en.wikipedia.org/wiki/NoScript
  20. https://www.torproject.org/docs/faq#TBBJavaScriptEnabled
  21. Javascript has previously been used in Windows to deanonymize Tor users with a zero-day exploit which revealed the computer's MAC address to the attackers.
  22. https://en.wikipedia.org/wiki/NoScript
  23. Having a large user base is important for strong anonymity, as Roger Dingledine explains here.
  24. Another related discussion justifying JavaScript's enabling by default was held on tor-talk, "Tor Browser disabling Javascript anonymity set reduction". https://lists.torproject.org/pipermail/tor-talk/2012-May/024227.html
  25. https://noscript.net/
  26. https://tb-manual.torproject.org/en-US/plugins.html
  27. https://support.mozilla.org/en-US/kb/find-and-install-add-ons-add-features-to-firefox?redirectlocale=en-US&redirectslug=Customizing+Firefox+with+add-ons
  28. https://tb-manual.torproject.org/en-US/plugins.html
  29. For example, most videos can now be viewed in HTML5 which Tor Browser supports and prefers.
  30. DoNot#Do_not_confuse_Anonymity_with_Pseudonymity.
  31. https://www.torproject.org/docs/torbutton/torbutton-faq.html.en
  32. https://blog.torproject.org/blog/torbutton-141-released
  33. See tbb-linkability and tbb-fingerprinting.
  34. https://trac.torproject.org/projects/tor/ticket/9442
  35. https://tails.boum.org/doc/anonymous_internet/Tor_Browser/index.en.html
  36. https://tb-manual.torproject.org/en-US/security-slider.html
  37. /usr/bin/torbrowser simply navigates to the Tor Browser folder and runs ./start-tor-browser. The former has more features like reporting error conditions or the absence of a Tor Browser folder, generation of non-zero exit code failures, and more.
  38. https://www.torproject.org/download/download
  39. And that website does not:
  40. Language packs might be another fingerprinting vector, but this issue requires further investigation.
  41. Since it uses predetermined ports on the localhost.
  42. https://trac.torproject.org/projects/tor/ticket/10419
  43. https://trac.torproject.org/projects/tor/ticket/11493
  44. Alternatively, the user can remove Tor Browser's proxy settings, but this method is still vulnerable to the same fingerprinting issues as configuring an exception. There are also other factors which will worsen the user's fingerprint, such as the breaking of both stream isolation and the tab isolation by socks user name in Tor Browser.
  45. This does not protect against the sudden loss of networking, which could reveal to the attacker that two activities / accounts suddenly going off-line are probably related.
  46. This does not protect against potential infection of dom0 or the Whonix-Workstation DisposableVM-Template by advanced adversaries.
  47. This does not yet notice upgrades done by Tor Browser's Internal Updater.
  48. Since v5.0, Tor Browser is configured to update itself.
  49. https://tb-manual.torproject.org/en-US/updating.html
  50. Finalize RecommendedTBBVersions format
  51. Counter downgrade / stale mirror attacks on RecommendedTBBVersions - sign / verify tbb versions file
  52. For a definition of these attacks, see the threat model of TUF (The Update Framework) (w).
  53. Adversaries capable of breaking SSL could mount these attacks by replacing RecommendedTBBVersions with invalid, frozen or outdated version information.
  54. Unfortunately, Tor Browser signatures do not yet provide expiration dates in a manner similar to Debian's valid-until field.
  55. Rollback attacks are possible because the user's computer clock could be wrong, so there is no solid basis for comparison.
  56. That is, a browser and not a messenger or other application.
  57. GnuPG (OpenPGP) common misconceptions.
  58. The name of the file is stored in the hash file and verified to match the downloaded file name and hash.
  59. https://blog.torproject.org/blog/tor-browser-50-released
  60. http://forums.whonix.org/t/should-still-recommend-against-maximizing-tor-browser-window
  61. https://www.torproject.org/docs/faq.html.en#AmITotallyAnonymous
  62. The default Tor Browser Bundle uses about:tor as the landing page. See: https://trac.torproject.org/projects/tor/ticket/13835
  63. This is so Whonix-Workstation does not have access to the information about which Tor middle relay or Tor entry guard [or bridge] are being used. See also: Dev/Control_Port_Filter_Proxy#Indicator_for_current_Circuit_Status_and_Exit_IP
  64. Licensing reasons:
  65. In Whonix-Workstation, rinetd listens on 127.0.0.1 9150 and 9151 (Tor Browser's default ports) and forwards them to Whonix-Gateway 10.152.152.10 9150 (where a Tor SocksPort is listening) and 9151 (where Control Port Filter Proxy is listening). Tor does not get started by the tor-launcher Firefox add-on because the TOR_SKIP_LAUNCH environment variable has been set set to 1. See also Dev/anon-ws-disable-stacked-tor.
  66. No changes have been made to Whonix code to prevent such a warning.
  67. https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy

License[edit]

Whonix Tor Browser wiki page Copyright (C) Amnesia <amnesia at boum dot org>
Whonix Tor Browser wiki page Copyright (C) 2012 - 2017 Patrick Schleizer <adrelanos@riseup.net>

This program comes with ABSOLUTELY NO WARRANTY; for details see the wiki source code.
This is free software, and you are welcome to redistribute it
under certain conditions; see the wiki source code for details.

Random News:

Want to help create awesome, up-to-date screenshots for the Whonix wiki? Help is most welcome!


Impressum | Datenschutz | Haftungsausschluss

https | (forcing) onion
Share: Twitter | Facebook | Google+

This is a wiki. Want to improve this page? Help is welcome and volunteer contributions are happily considered! See Conditions for Contributions to Whonix, then Edit! IP addresses are scrubbed, but editing over Tor is recommended. Edits are held for moderation.

Whonix (g+) is a licensee of the Open Invention Network. Unless otherwise noted, the content of this page is copyrighted and licensed under the same Libre Software license as Whonix itself. (Why?)