Actions

Data Collection Techniques

About this Data Collection Techniques Page
Support Status stable
Difficulty easy
Maintainer torjunkie
Support Support

Active Web Contents[edit]

Web content that is accessible by browser plugins such as Flash, Java, ActiveX and Silverlight renders the Web more dynamic and colorful. However, permissions are also granted to websites to execute code locally on a machine, increasing the security risks. If executed, these plugins can read a host of details about the user's computer and network configuration and send it to a remote server. Certain techniques even permit files to be read and edited on the user's machine, and in extreme cases this allows complete control over it.


Limiting browsing to trusted websites does not mitigate the risk from applets. In the recent past, numerous popular websites have been hacked and infected with malicious code. Greater security requires these plugins to be blocked, deactivated or removed.

With Whonix, an adversary will not benefit from learning the IP address via this method: it is either a local IP address shared among all Whonix users or the IP address of a Tor exit relay, both of which do not reduce the user's anonymity set. Further, the MAC address is a virtual one which is also shared among all Whonix users, and is therefore worthless to attackers. Although active content will not reveal the real IP address, it is deactivated in Tor Browser by default. See Browser Plugins for a detailed discussion of browser plugins in Whonix and the potential effects on anonymity, security, and privacy.

Browser Fingerprinting[edit]

Research from a pool of 500,000 Internet users has shown that the vast majority (84%) have unique browser configurations and version information which makes them trackable across the Internet. When Java or Flash is installed, this figures rises to 94%. [1] Considering this research relied only on a relatively small number of variables, [2] companies with advanced fingerprinting capabilities may be approaching 100%, particularly in combination with cookies.

Fingerprinting and Anonymity[edit]


For anonymity, it is necessary to reduce the number of bits of information (entropy) the browser provides to an acceptable lower bound; for instance, 18.1 bits of entropy means that a browser chosen at random will share the fingerprint with one in 286,777 other browsers. [4] Browser uniqueness research has revealed the entropy associated with various pieces of browser information: [5]

Table: Browser Fingerprinting Estimates

Variable Entropy (bits)
Plugins 15.4
Fonts 13.9
User agent 10.0
HTTP accept 6.09
Screen resolution 4.83
Time zone 3.04
Supercookies 2.12
Cookies enabled 0.353

The primary browser fingerprinting methods that are used include: [6] [4]

  • Plugins: The PluginDirect JavaScript library checks for common plugins on the respective platform, and code is run to check for the Acrobat Reader version. Other information may be leaked, including the CPU type.
  • Fonts: System fonts are collected by Flash or Java applets, or by CSS introspection.
  • User Agent string: When websites are visited, the browser sends precise information on the operating system and web browser being used. [7]
  • HTTP Accept headers: With every webpage request, the browser sends URL variables within the HTTP protocol framework that can be analyzed. This includes personalized language, browser type and version, operating system and version, supported character / font sets, file codecs, and the last visited webpage.
  • Screen resolution: The exact resolution is revealed to websites, for example 1280x800x24. [8]
  • Supercookies: Reported entropy depends on whether the following are enabled: DOM localStorage, DOM sessionStorage, userData, Flash LSOs, Silverlight cookies, HTML5 databases, or DOM globalStorage.
  • Clock skew/precision measurements: Differential parameters are used to measure the time difference (down to milliseconds) between a user's computer and that of the server. Clock precision measurements rely upon how long operations take on a partricular system.
  • HTML5 canvas: A precise fingerprint is provided by the rendering of WebGL, font and color data to a canvas element. This is then extracted from the image buffer, and an identifying hash is computed. For more information, see here.

Fingerprinting Resistance[edit]

The EFF has found that while most browsers are uniquely fingerprintable, resistance is afforded via four methods:

  • Disabling JavaScript with tools like NoScript.
  • Use of Torbutton, which is bundled with Tor Browser and enabled by default. [9]
  • Use of mobile devices like Android and iPhone.
  • Corporate desktop machines which are clones of one another.

With JavaScript disabled, Tor Browser provides significant resistance to browser fingerprinting: [10]

  • The User Agent is uniform for all Torbutton users.
  • Plugins are blocked.
  • The screen resolution is rounded down to 50 pixel multiples.
  • The timezone is set to GMT.
  • DOM Storage is cleared and disabled.

At the time of writing, Panopticlick only returns 6.63 bits of information for Tor Browser with JavaScript disabled. This is equivalent to sharing the same fingerprint as 1 in 99 other browsers (from the testing pool) due to the 2 million strong pool of near-identical users. That said, fingerprinting defense is not perfect in any browser and there are still open bugs, see TBB-linkability and TBB-fingerprinting.

Browser History and Cache[edit]

Introduction[edit]

A user's browser history and cache enables the possibility of history sniffing attacks: [12]

In most browsers, all application domains share access to a single visited-page history, file cache, and DNS cache. This leads to the possibility of history sniffing attacks, where a malicious site (say, attacker.com) can learn whether a user has visited a specific URL (say, bankofamerica.com), merely by inducing the user to visit attacker.com. To this end, the attack uses the fact that browsers display links differently depending on whether or not their target has been visited. In JavaScript, the attacker creates a link to the target URL in a hidden part of the page, and then uses the browser’s DOM interface to inspect how the link is displayed. If the link is displayed as a visited link, the target URL is in the user’s history. Tealium and Beencounter sell services that allow a website to collect the browsing history of their visitors using history sniffing.

A 2010 University of California publication found that nearly 1 per cent of the Alexa global top 50,000 websites collected information from web surfers via history sniffing. History sniffing was not just limited to fringe websites - popular sites like youporn.com were found to engage in the practice. Website histories were vulnerable via a combination of malicious JavaScript and CSS hacks, leading to:

  • Inspection of style properties to infer browser history.
  • Transfer of the browser's history to the network.
  • Actual history hijacking.

Tracking Methods[edit]

Websites can tell which sites are saved in a user's browser history using specialized commands and design elements. Three example are outlined below.

  • CSS Stylesheets: Commonly the visited website will embed special formatting commands (CSS Stylesheets) that contain external links "of interest" on the pages that are visited. If one of the external websites have been visited before, the browser will react by executing a command defined in the format, for example by downloading a small picture from the website. In this way the website can learn and/or make educated guesses about the contents of a user's browser history.
  • ETags: The contents of the browser cache can reveal previously visited websites. Along with the website URL and numerous page elements, the browser caches also store an ETag sent by the server. If the website is visited again, the ETag is first sent to ask for changes. ETags can contain unique user IDs, which have been used by companies like KISSmetrics to identify persons visiting some of the top 100 websites.
  • Website Page Load Time: The time required for a website page to load changes when it is partially stored in the browser cache. By subtle placement of the images on the website, the server can analyze the cache elements one by one. [13]

Deanonymization Risk[edit]

The obvious corporate business case for information collected via history sniffing is targeted advertising. However, the same technique can be used to deanonymize web surfers.

Consider the following attack vector, outlined in a publication by security researchers iSecLab. Browser history was used to collect the groups visited in the social network "Xing." Logically, it is improbable that two or more people would share membership of the same set of groups within a social network. Therefore, when this information was revealed it was possible to associate users with their real names and e-mail addresses.

Precautions[edit]

The only reliable protection against analysis of a user's browser history is to use Tor Browser:

  • This "feature" is deactivated by default.
  • Tor Browser bypasses the cache for third party content to protect users. [14]
  • The cache is deleted automatically when the browser is closed.

Deactivating the browser cache is not recommended, since it can have a deleterious impact on browsing speed.

Cookies[edit]

Introduction[edit]

Cookies have been in existence since 1994, when they were conceived by a programmer working for Netscape Communications as a reliable method for e-commerce applications. According to Wikipedia: [15]

An HTTP cookie (also called web cookie, Internet cookie, browser cookie, or simply cookie) is a small piece of data sent from a website and stored on the user's computer by the user's web browser while the user is browsing. Cookies were designed to be a reliable mechanism for websites to remember stateful information (such as items added in the shopping cart in an online store) or to record the user's browsing activity (including clicking particular buttons, logging in, or recording which pages were visited in the past). They can also be used to remember arbitrary pieces of information that the user previously entered into form fields such as names, addresses, passwords, and credit card numbers.

Cookie Classification[edit]

Whonix users are probably most familiar with third-party cookies since they can be used to track browsing history via web page content sourced from external websites, such as banner advertisements. However, cookies have a range of both useful and potentially harmful applications: [15]

  • Authentication cookies: Used by web servers to know whether a user is logged in, and the account being used.
  • Session cookies: Exist temporarily in memory while a website is navigated and are normally deleted when the browser is closed.
  • Persistent cookies: Expire after a specific period of time, or on a set date. They transmit information to servers every time a user browses websites that are associated with the cookie. Persistent cookies can track a user's browsing habits over an extended period, possibly years. [16]
  • Secure cookies: Transmitted over encrypted (HTTPS) connections, making them less vulnerable to cookie theft.
  • Third-party cookies: Belong to domains that are different from the URL shown in the web browser address bar. Tracking is enabled via the following process:
    • Website A contains an advertisement served by eviladvertiser.org
    • A cookie belonging to eviladvertiser.org is downloaded and stored on the user's computer.
    • Website B is visited and also contains advertising content from eviladvertiser.org, setting another cookie belonging to that domain.
    • Both cookies are eventually sent to eviladvertiser.org, and an extensive profile of browsing history is gradually acquired over time.
  • Supercookies: Have an origin of a top-level domain like .org or a public suffix such as .com.de. If not blocked by the browser, adversaries in control of malicious websites can set supercookies and then impersonate or disrupt user requests to another website sharing the same top-level domain or public suffix.

Evercookies[edit]

With 80% of users disapproving of tracking while browsing the Internet, they have progressively started to delete cookies with relevant browser settings and extensions. Advertisement and tracking networks have responded in kind, using more sophisticated methods - evercookies - to distinguish users.

Evercookies come in various forms:

  • Entity tag (ETag) cookies: HTTP supports simple cache control mechanisms, including ETags which store either a version number or a user identifier (ETag cookie). The purpose is to save bandwidth and have browsers use caches for web content when it has not changed, instead of reloading the complete web server content again. [17] Unfortunately this provides a tracking mechanism which can be persistently stored, and has been used by various websites including Hulu.com. ETag cookies can be, and often are respawned. [18]
  • Zombie cookies: Automatically recreated after being deleted. Cookie content is stored in multiple locations such as HTML5 web storage, Flash Local shared object, client-side and server-side locations. When the cookie is deleted on a user's computer, this is detected and restored from one of the other cookie storage locations.
  • Flash cookies (LSOs): Flash cookies are also known as local shared objects (LSOs) and store data from websites that use Adobe Flash. User permission is not sought when cookies are stored, and they are stored outside of normal browser local storage system. [19] Previously, it was difficult to delete Flash cookies, as they could not be located easily with browsers. [20] However, modern browsers, extensions and software have relevant settings to easily remove them. [21] LSOs can be used to: [22]
    • Store and retrieve information from local storage when a user access webpages with a Flash application.
    • Store user preferencs.
    • Save data from Flash games.
    • Track users' Internet activity, even across different browsers. For example:
      • Firefox is used to visit a site showing a relevant product.
      • Firefox is closed, but that information was stored in a LSO.
      • The same person on the same machine uses Chrome to access a website viewed in Firefox.
      • The website is able to read the LSO value(s) in Chrome, and display relevant content or targeted information.
  • HTML5 DOM cookies: Allow web application software to store data persistently in a manner similar to cookies. Local storage and session-only storage are both possible. The storage size is far greater than that available to cookies, but it is not automatically transmitted on every HTTP request. Instead, client-side scripts allow the desired interaction with the server. It is possible to remove DOM cookies without about:config changes in Firefox [23], or by using relevant extensions (like Click&Clean or BetterPrivacy). However, this action is no longer necessary since DOM cookies are disabled in Firefox 58 onward. Tor Browser also defends against this technique by default. [24]
  • Samy Kamkar has shown that there are other possible methods to track Internet users using evercookies.

In a study by the University of California, Berkeley the methods of Space Pencil Inc. (aka KISSmetrics) were exposed. In addition to cookies and flash cookies, KISSmetrics used cache cookies via ETags, DOMStorage and IE-userData to distinguish each user. KISSmetrics was sued as a result and dispensed with using ETags. It also allegedly now respects the Do Not Track HTTP header. [25]

Tor Browser, which comes with Whonix, resists evercookies.

Cookie Threats[edit]


It is evident that cookies are useful for website personalization, logins, monitoring purchases and other functions, but they also present a dire tracking threat. The average website places 34 cookies on a device on the first visit, and 70 percent of these are third-party cookies. Expiry dates are often set to the year "9999", indicating there is no intention to ever stop recording user behavior. [26]

The tracking service Yahoo! Web Analytics has made claims of being able to set cookies on 99.9% of users. This indicates that cookie-generating JavaScript and/or Flash cookies are deployed as the primary mechanisms.

A 2011 study by the University of California, Berkeley found that the top 100 websites at that time stored a total of 5,675 cookies. Of these, 4,914 cookies were set by third party domains and not the first-party domain being purposefully visited by the user. When browsing these 100 websites, data was transmitted to 600 servers.

Cookie security is dependent on whether cookie data is encrypted, since adversaries may otherwise use this information to gain access to user data or to access websites with the user's credentials. Examples of this attack include cross-site scripting and cross-site request forgery.

As well as gathering the IP address and/or the HTTP referrer field of the computer requesting the web page, cookies can also store the requested URL and the date/time of the request. Web hosts are therefore capable of recording a large proportion of browsing behavior over many years, and correlating the accumulated profile data with individuals. The typical Internet user has collected hundreds of cookies from various websites on their PC without their knowledge. For instance, the following figure exhibits a small number of the cookies that are stored when a request is made to www.nytimes.com.

Figure: Cookies set by the New York Times

Cookies nytimes.png

Most modern browsers integrate an optional function to block cookies, but the option has to be first set by the user. Tor Browser, which comes bundled with Whonix, has activated cookie blocking by default. Firefox has also adopted Tor Browser's first party isolation feature since version 55, meaning cookies are separated on a per-domain basis. Advertisement trackers are unable to see all the cookies stored on a user's computer (only the cookie for the currently viewed domain), meaning they cannot aggregate persistent cookie data for profiling. In the future, it is expected that more functions will become available to administrate preferences and acquired cookie collections.

HTML5 Canvas Image Data[edit]

Websites routinely request browser configuration settings in order to help select the best page format for the visitor. One of those variables is HTML5 canvas image data, which is related to graphical rendering. Canvas is a drawable region in HTML code with height and width attributes, and Javascript code can access this area though a large set of drawing functions related to animation, games, images and so on.[27]

When combined with other exposed browser settings this can be enough to uniquely identify an individual, even without access to the specific IP address. [28]

The Tor Project provides a good explanation of this fingerprinting method: [29]

After plugins and plugin-provided information, we believe that the HTML5 Canvas is the single largest fingerprinting threat browsers face today. Studies show that the Canvas can provide an easy-access fingerprinting target: The adversary simply renders WebGL, font, and named color data to a Canvas element, extracts the image buffer, and computes a hash of that image data. Subtle differences in the video card, font packs, and even font and graphics library versions allow the adversary to produce a stable, simple, high-entropy fingerprint of a computer. In fact, the hash of the rendered image can be used almost identically to a tracking cookie by the web server.

Tor Browser has been patched to prompt before returning valid image data to the Canvas APIs. By default, if the site has not been given previous permission to extract canvas image data, then white image data is returned to the Javscript APIs. Third parties are not allowed to extract canvas image data at all.

When browsing, if a prompt appears with a message like that below, it is recommended to select n.

This website (github.com) attempted to extract HTML5 canvas image data, which may be used to uniquely identify your computer.

Should Tor browser allow this website to extract HTML5 canvas image data? 

IP Address[edit]

Introduction[edit]

The Privacy Commissioner of Canada provides a succinct definition of an IP address: [30]

An Internet Protocol (IP) address is a numerical identification and logical address that is assigned to devices participating in a computer network utilizing the Internet Protocol. Although IP addresses are stored as binary numbers, they are usually displayed in a more human-readable notation, such as 208.77.188.166. The Internet Protocol also has the task of routing data packets between networks, and IP addresses specify the locations of the source and destination nodes in the topology of the routing system.

Internet Service Providers (ISPs) assign or lease IP addresses to individuals and these can be static or dynamic. Static IP addresses have a permanent address that is assigned to the network-connected device such as a firewall or router. Dynamic IP addresses are assigned to network-connected devices on a temporary basis (typically a few months), which is often the case for household customers.

In both cases, the IP address acts as a unique identifier and the ISP may save (meta)data for months or even years. This may include browsing records, time spent online, and any direct connection to Internet services. This is possible because the IP address tells the server where to send a response. So long as the IP address does not change, it is easy for ISPs to monitor when and where a user has connected.

Information Linked to IP Addresses[edit]

Knowledge of an IP address can reveal various information about devices, networks or services: [30]

  • ISP provider: Personal data might be retrieved if the provider is known. For example, information might be sought on email addresses associated with an IP address, which in turn might relate to requests for subscriber information.
  • Personal Information:
    • Searching the WHOIS database might reveal other information about an individual, including organizational affiliations. [31]
    • Internet searches using the IP address or computer names might show relevant peer-to-peer (P2P) activities (such as file sharing), fragments in web server log files, or evidence of other individual activities (like Wikipedia edits). Small pieces of online history can reveal a range of personal characteristics, preoccupations and individual interests.
  • Physical location: It is possible to geo-locate an IP address to the country, city and regional level:
    • Geo-location services are available to refine the search further to districts or office buildings. In the case of a company or computer center, it is sometimes possible to determine which terminal a user is on.
    • Traceroutes can find the path to a computer, which provides information on its logical and physical location. [32]
    • Some lookup tools reveal latitude/longitude, telephone area code and a map of the location.
  • Access Technology:
    • Databases can help reveal what hardware is being used to browse the Internet. For example, it is possible to distinguish whether a user is relying on DSL, a modem or a mobile device for connectivity.
    • A reverse lookup can be performed to obtain a computer name, which can reveal the physical location or other details. [33]

Interested readers can refer to online sites to review some of the information that is revealed by an IP address or browser.

Conclusion[edit]

Based on the preceding information, it is clear that without privacy or anonymity software, individuals are "browsing naked" on the Internet. While many of the threats in this chapter may be mitigated fully or partially without any special services, this is not the case for the IP address which is often uniquely linked to one person.

This is why projects like Tor were founded, to blur any connection between a user's IP address and the websites that are visited. Similarly, this is why the Whonix platform relies on the Tor network as the foundation for anonymous activities. How Tor works

JavaScript[edit]

Introduction[edit]

JavaScript is one of the fundamental core technologies for Internet content production, alongside HTML and CSS. It allows sites to be interactive and dynamic, as well as provide for online applications such as video games. In contrast, HTML is a markup language that is used to create static content on sites, and Cascading Style Sheets (CSS) are designed for user formatting like interfaces, layout, colors and fonts. Modern browsers frequently use JavaScript ("scripts", "active scripting") and it is marginally safer against security and privacy vulnerabilities compared to the aforementioned plugins.

In the past, JavaScript has been responsible for an estimated 84% of all security vulnerabilities on the Internet via cross-site scripting. This attack allows adversaries to inject malicious client-side script into web pages, leading to users redirecting to malicious sites that phish for login credentials, bank accounts, personal information, or other sensitive data. [35] Similarly, JavaScript can be used by web hosts to access detailed information about a user's browser, desktop setting, operating system and hardware specifications, which forms a unique digital fingerprint of an individual. [36] [37]

JavaScript Attack Classification[edit]

JavaScript is essential to a fully functional browsing experience, but several classes of attacks rely upon it and are often successful: [38] [39] [40]

  • Malicious JavaScript email attachments: When a harmless looking document is opened by the user, ransomware is downloaded to the HDD/SSD, later encrypting the computer and demanding a ransom to unlock the files.
  • Drive-by download attacks: When users visit a compromised website running malicious code, [41] users are redirected to another site controlled by the attackers. Attackers then run code in the victim's web browser that loads an exploit kit which probes the user's OS, browser and software to find vulnerabilities. Payloads/malware are then downloaded that access personal data, encrypt the computer or other intended criminal activity.
  • Cross-site scripting: Since the 1990s it has been possible to inject JavaScript client-side into web-based applications, servers or plug-in systems, bypassing the same-origin policy. After successful exploitation, users visiting the compromised site are served malicious content which is presumed to be from a trusted source. Attackers can then access sensitive page content, session cookies and other information.
  • Universal cross-site scripting: Vulnerabilities in the browser or plugins are exploited to take control over the network. For example Firefox and other browsers, as well as plugins like Flash and ActiveX controls, all have flaws which can lead to buffer overflows. These are often exploitable via JavaScript and allows attackers to gain access to to OS's Application Programming Interface (API) with root privileges. [42]
  • Cross-site request forgery: Unauthorized commands are transmitted from a user by trusted web applications. Malicious websites can use specially crafted image tags, hidden forms, and JavaScript XMLHttpRequests for this purpose. Depending on the specific vulnerability, when these elements are clicked by the user, the attacker may be able to:
    • Execute remote code with root privileges.
    • Forge login requests and view private information.
    • Change personal information or fully compromise online accounts.
    • Conduct illicit money transfers.
    • Performance nearly all actions of a logged in user.

Session Replay Scripts[edit]

Enabling Javascript does more than reveal additional information about a user's system and increase the probability of a successful browser exploit. It can also lead to a complete, literal recording of the entire browsing session if the user is unlucky enough to browse one of nearly 500 sites in the Alexa top 50,000: [43] [44]

You may know that most websites have third-party analytics scripts that record which pages you visit and the searches you make. But lately, more and more sites use “session replay” scripts. These scripts record your keystrokes, mouse movements, and scrolling behavior, along with the entire contents of the pages you visit, and send them to third-party servers. Unlike typical analytics services that provide aggregate statistics, these scripts are intended for the recording and playback of individual browsing sessions, as if someone is looking over your shoulder.

The law as it stands allows corporate entities to embed Javascript functions on sites in order to record highly personal information. This includes what is typed, exact movements of the mouse, and even "co-browsing", whereby an unseen intruder can watch what it is done in real time, without any form of notification. There are few limits to the data harvested; name, email, phone number, address, social security numbers and date of birth are all considered fair game by companies like FullStory, Hotjar, and Smartlook. Many offer the option to explicitly link recordings to real identities.

Although full or part redactions are attempted on passwords, credit card numbers, CVC numbers, and credit card expiry dates, sensitive information was found to leak in many instances, such as: [43]

  • Passwords entered into registration forms.
  • Leaking of credit card details on payment pages, even in real time.
  • Leaking of specific medical conditions and prescriptions.

The same tracking companies often use insecure HTTP pages to deliver the recording playbacks or publisher page contents, providing an enticing man-in-the-middle attack opportunity for advanced adversaries. [45] Fortunately, disabling Javascript is sufficient to prevent this activity completely, and ad-blocking lists are also useful in preventing data exfiltration. [46] Users should not solely rely on ad-blockers for general tracking protection, as tools have already been developed which successfully defeat the most popular extensions, including Adblock Plus, Adblocker Ultimate, Ghostery and uBlock Origin.

Conclusion[edit]

Enabling or Disabling JavaScript[edit]

JavaScript is a clear and present danger for a host of attack vectors, however, there is a security versus usability trade-off to consider before disabling JavaScript completely: [47]

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), but it reduces usability on many sites and acts as a fingerprinting mechanism based on the select sites where it is enabled. 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.

Safest Browser Against Exploitation[edit]

It is clearly unwise to browse the Internet without a well secured browser, otherwise there is a danger of a browser exploit leading to an infected system. Personally configuring a browser to be secure is an enormous effort requiring expertise and significant trial and error. The safer path is to use Tor Browser, preferably on a Whonix platform, since it is already hardened against data leakage. As noted in the Tor Browser chapter:

Tor Browser 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.

...
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. With Tor Browser, the user "blends in" and shares the Fingerprint of nearly two million other users, which is advantageous for privacy.

Tor Browser blocks most dangerous technologies by default, but most popular websites like Youtube will still resolve correctly. For media portals which rely on Flash or alternative plugins, the user can download the relevant files with special software and then view it with an open source media player like VLC. Websites should be avoided if they insist on the use of active plugins, see Browser Plugins.

MAC Address[edit]

The Media Access Control (MAC) address is the hardware address of each individual network device. It is sometimes referred to as the Ethernet-ID, Airport-ID, or physical / hardware / adapter address. Standard computer systems may have several physical or virtual network devices. These devices can be bound to a cable (LAN), wireless (WLAN), mobile (GPRS, UMTS) or virtual (VPS) environment, or another setup.


The MAC address serves as a unique identifier for the respective device in a local area network. Unless the computer is infected with malware designed to disclose this identifier, it is neither used nor transmitted on the Internet. Also, an access provider can only see the MAC address if the computer is connected directly to the Internet (for example by a modem), rather than over a router.

Despite the limited risk of disclosure, MAC addresses can be used for tracking purposes by adversaries. For instance, other computers on the local network can potentially log it, which would then provide proof that the user's computer has been connected to a specific network. Moreover, advanced tracking techniques exist that are able to enumerate the MAC address of a Wi-Fi card in use, by examining its physical characteristics. For these reasons MAC spoofing should be considered for particular circumstances, like when an untrusted, public network will be used. See the MAC address entry for further information.

TCP Timestamps[edit]

The Transmission Control Protocol (TCP) is a session-layer protocol for transferring data between computers. It is necessary for using Internet protocols like http (www), smtp (email) and ftp. For example, when a computer sends a request for a website, this data is sent within many small TCP packets. In addition to the data request, a TCP packet also contains optional information fields in the header (metadata), such as the TCP timestamp. The timestamp's value is proportional to the current time of the computer and is incremented according to the computer's internal clock.

The timestamp can be used by the client and/or server machine for performance metrics and optimization. However, an Internet server may recognize and track a computer by observing those timestamps. By measuring the clock skew of the timestamps to millisecond precision, an adversary can remotely calculate the individual clock skew profile for a computer, and determine the system uptime and boot time. These techniques work even if the user has otherwise perfectly anonymized their Internet connections.

The Whonix documentation recommends that TCP timestamps be disabled on the host operating system due to the risk. [49] [50] Non-Qubes-Whonix and Qubes-Whonix users are already protected from this threat. The clock in Whonix-Workstation (anon-whonix) does not match the clock on the host and is also set securely by sdwdate over https, which results in a slightly different result compared to the more accurate NTP.

Tor users are also being protected from being profiled by TCP timestamps in another way: Tor relays automatically replace the potentially insecure TCP packets with their own.

source 1: Tor trac #8169 replace TCP timestamp source 2: Tor wiki FAQ

Web (Email) Beacons and Banner Ads[edit]

Introduction[edit]

A web/email beacon ("webbug") is a technique for tracking persons who read a specific web page or email, including the time it occurred and the details of the connecting device. [51] Beacons can also capture whether an email was read or forwarded, or if web pages were copied to another site. [52]

This technique is possible because some emails and web pages are not wholly self-contained. Often content is not provided directly, but instead provided by other servers. When the browser or email client prepares the content for display, usually requests are made to the foreign servers for the additional content. These requests reveal: [52]

  • The IP address of the requesting device.
  • The time/date the content was requested.
  • Details of the web browser/email client making the request.
  • Whether cookies exist that were previously set by the server.

Logically a detailed profile can be built over time if this information is stored by servers and each request is associated with a unique tracking token.

Web Beacons (Webbugs)[edit]

If users examine the cookies stored in a standard browser, usually one or more exist that are attached to data miners like doubleclick.com, advertisement.com or Google, even if those websites have never been visited. This is possible because these enterprises embed "webbugs" on various websites, which plant cookies in the browser and track browsing habits: [53]

Web bugs are tiny (usually a single pixel) transparent image files on web pages that are used to monitor user's online habits. As cited in a CNET article at the height of the web bug storm, critics claimed the bugs could capture IP addresses or perhaps install "pernicious files" and were therefore more invasive than cookies. The argument revolved around the capability, used or unused, that the bugs could take information given by the user at a selected web site and transfer it to any number of other sites without the user's knowledge or consent. The arguments also included the possibility of the bug's information being aggregated with that of cookies and used to create profiles of specific users' habits, instead of being used as general demographic information.

Webbugs are usually tiny pictures around 1 x 1 pixels in size, making them invisible to the viewer. Webbugs can also be coded into banner ads embedded in a website. The website contains a picture (webbug) that is loaded from a third party server running a statistics service, such as Doubleclick or Google Analytics. The statistics service then sets or edits a cookie in the browser, without the user noticing.

Afterwards, the browser will send this cookie back to the statistics service if/when a new content request is made on a site where the service's webbug is embedded. This means if a service is used on many different or popular websites, it can now track a large proportion of a user's browsing session. If a statistics service were to collaborate with a user's preferred search engine, then this could reveal nearly the entirety of Internet activities. [54]

It is important to note that the privacy functions of most modern browsers provide an inadequate defense. Optimal protection against webbugs is not achieved by simply employing webbug filters and rejecting cookies and/or deleting them upon browser shutdown. As the IP address is sent to the statistics service with every request, the only effective protection is an anonymization service like Tor.

Email Beacons[edit]

The same profiling technique via beacons can be utilized with email: [55]

  • Web beacons (tiny images) are embedded in emails with unique identifiers contained in the URL.
  • When the email is opened, the email client requests the image.
  • The email senders learns when the message was read, and the IP address of the device (or proxy server) that the user went through.
  • The same information is gathered each time the email is displayed (opened).

This technique is popular with email marketers, spammers, and phishers. It confirms the validity of email addresses, tests whether emails made it past the spam filters, and informs if/when the email is displayed. Detection of these emails by users and mail filters is difficult, and emails do not need to contain advertisements or any other commercial material.

The general advice is to use an email client (like Mozilla Thunderbird) rather than a browser, and to disable the downloading of remote images whose URLs are embedded in HTML emails. Alternatively, text-based mail readers are available (like Pine or Mutt) or graphical email clients with text-based HTML capabilities (such as Mulberry), which do not interpret HTML or display images. Plain text email messages close off this attack vector completely, because web beacons cannot be embedded; the contents are interpreted as display characters, rather than as embedded HTML code. [55] [56]

License[edit]

Gratitude is expressed to JonDos for permission to use material from their website. (w) (w) [57] The DataCollectionTechniques page contains content from the JonDonym documentation DataCollectionTechniques page.

Footnotes[edit]

  1. https://www.eff.org/deeplinks/2010/05/every-browser-unique-results-fom-panopticlick
  2. Supercookie test, hash of canvas fingerprint, screen size and color depth, browser plugin details, time zone, DNT header enabled, HTTP_Accept headers, has of WebGL fingerprint, language, system fonts, platform, user agent, touch support, cookies enabled.
  3. https://33bits.wordpress.com/about/
  4. 4.0 4.1 https://wiki.mozilla.org/Fingerprinting
  5. https://panopticlick.eff.org/browser-uniqueness.pdf
  6. Many require active JavaScript code.
  7. Research suggests this is useful for profiling and tracking Internet users, as it reveals 10.5 bits of identifying information on average. This means only one person in 1,500 shares the same User Agent.
  8. In Tor Browser, Torbutton reduces the available entropy by quantising AvailWidth and AvailHeight, and setting the actual Width and Height to the values of AvailWidth and AvailHeight.
  9. Torbutton automatically disables many types of active content.
  10. https://blog.torproject.org/effs-panopticlick-and-torbutton
  11. Privoxy manipulates cookies and modifies web page data and HTTP headers before the page is rendered.
  12. https://cseweb.ucsd.edu/~lerner/papers/ccs10-jsc.pdf
  13. Cache elements include graphic files (logos, icons, banners, buttons etc.), script files, photographs and HTML pages.
  14. This means a website can only learn information about itself, and not other websites.
  15. They also have legitimate functions such as keeping users logged into specific accounts.
  16. https://en.wikipedia.org/wiki/HTTP_ETag
  17. http://cyberlaw.stanford.edu/blog/2011/08/tracking-trackers-microsoft-advertising
  18. http://www.popularmechanics.com/technology/security/how-to/a6134/what-are-flash-cookies-and-how-can-you-stop-them/
  19. https://www.ghacks.net/2007/05/04/flash-cookies-explained/
  20. In Linux, LSOs are normally stored in:
    • ~/.macromedia/Flash_Player/#SharedObjects/
    • ~/.macromedia/Flash_Player/macromedia.com/support/flashplayer/sys/
  21. https://en.wikipedia.org/wiki/Flash_cookies
  22. Set dom.storage.enabled to false.
  23. https://nakedsecurity.sophos.com/2017/10/30/firefox-takes-a-bite-out-of-the-canvas-super-cookie/
  24. Users should never rely on DNT preferences, since they are rarely respected by industry.
  25. https://en.wikipedia.org/wiki/Canvas_element
  26. https://tor.stackexchange.com/questions/4029/html-5-canvas-imagedata-extraction-what-does-it-actually-mean
  27. https://www.torproject.org/projects/torbrowser/design/
  28. 30.0 30.1 https://www.priv.gc.ca/en/opc-actions-and-decisions/research/explore-privacy-research/2013/ip_201305/
  29. This might include organizational address, name and phone number.
  30. This technique displays the path of packets across an IP network.
  31. This technique links the resolution of an IP address to its domain name.
  32. In short, JavaScript is not part of the Java platform and is a scripting language, while Java is an object-oriented programming language. The Java plugin is bundled with Java runtime and runs inside the browser; allowing Java code to run inside a client's browser process.
  33. https://gizmodo.com/why-are-javascript-attacks-so-dangerous-1453269240
  34. Refer to the following ip-check.info anonymity test to view some sample values which can be gathered via JavaScript (if enabled).
  35. ip-check.info returns some false values and confuses TBB users (w)
  36. https://www.sophos.com/en-us/security-news-trends/security-trends/malicious-javascript.aspx
  37. http://worldcomp-proceedings.com/proc/p2016/SAM9734.pdf
  38. https://en.wikipedia.org/wiki/Cross-site_scripting#Related_vulnerabilities
  39. 82% of malicious sites are hacked legitimate ones.
  40. Sandbox implementation errors can also lead to Javascript running outside of the sandbox and with elevated privileges e.g. create or delete files.
  41. 43.0 43.1 https://freedom-to-tinker.com/2017/11/15/no-boundaries-exfiltration-of-personal-data-by-session-replay-scripts/
  42. This includes the usual privacy offenders such as microsoft.com, skype.com and adobe.com, along with various sites providing banking, media, torrenting, educational, telecommunications, forums, shopping, and anti-virus services.
  43. Reinforcing the perception that the private sector really is a comfortable and principal ally in the surveillance-industrial complex.
  44. For instance, the EasyList and EasyPrivacy blocking lists that are available in popular extensions. However, they did not block all the major companies at the time of writing.
  45. See also Tor Browser disabling JavaScript anonymity set reduction.
  46. http://accc.uic.edu/answer/what-my-ip-address-mac-address
  47. Even though TCP timestamps protect against wrapped sequence numbers.
  48. The disabling of ICMP timestamps is also recommended for the same reason.
  49. The first beacons were small images.
  50. 52.0 52.1 https://en.wikipedia.org/wiki/Web_bug
  51. https://www.scmagazine.com/cookies-and-web-bugs-and-spyware-oh-my/article/548878/
  52. See here for further details on actual implementation.
  53. 55.0 55.1 https://en.wikipedia.org/wiki/Web_bug#Email_web_beacons
  54. Users can also disconnect from the Internet before reading any downloaded messages, and then delete them before reconnecting.
  55. Broken link: https://anonymous-proxy-servers.net/forum/viewtopic.php?p=31220#p31220

Random News:

Please help in testing new features and bug fixes in Whonix.


https | (forcing) onion

Share: Twitter | Facebook

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 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?)