# Combating Web Tracking: Analyzing Web Tracking Technologies for User Privacy
## 3 Countermeasures against Web Tracking
### Tracking Measurement  
Web tracking research typically follows two methodologies: either by crawling multiple websites using specialized measurement tools or by studying the browsing behaviors of a large user sample. These studies play a crucial role in identifying Web tracking practices and facilitate the collection and analysis of tracking-related data. Table 1 provides an overview of various tracking measurement tools, detailing their capability to track specific properties. The first column enumerates the different properties, such as cookies, navigator, canvas, WebRTC, geolocation, and others. The subsequent columns list the individual tracking measurement tools, including FourthParty, FPDetective, OpenWPM, FP-Crawler, FP-Radar, OpenWPM-Mobile, and OmniCrawl. A \"\(\mathscr{V}\)\" in the table indicates that the tool is capable of tracking a particular property, while a \"-\" signifies that the tool does not support that feature. In 2011, [PERSON] et al. [5] developed FourthParty as a Firefox extension that detects calls to window, navigator, and screen objects among browser APIs and JavaScript APIs related to HTTP traffic, DOM windows, and cookies when a user browses a website. FourthParty stores all records in a standardized log format in an SQLite database. In 2013, [PERSON] et al. [11] developed FPDetective, a framework for detecting web-based device fingerprinting. It consists of a crawler built with PhantomJS and Chromium, and a parser that analyzes the data collected by the crawler. FPDetective detects the use of the navigator and window of the JavaScript API. The navigator contains information about browser vendors and specific browser versions, MIME type, supported plugins, operating system, etc. Using this tool, researchers detected cases of flash and font detection among tracking scripts on 10,000 websites. As a result, 97 websites used flash fingerprinting, and 51 websites used font fingerprinting. In 2015, [PERSON] et al. [12] developed OpenWPM. It uses Firefox-based Selenium and collects information about disk access, JavaScript access, and HTTP data to analyze online tracking features between first and third parties. In particular, to analyze JavaScript access, researchers redefined the getter and setter of the Web API to determine which API was used on a webpage. In 2016, a study using OpenWPM to analyze canvas, AudioContext, WebRTC fingerprinting, etc., identified 14,371 canvas fingerprinting, 3250 canvas-based  
\begin{table}
\begin{tabular}{c c c c c c c c} \hline \hline
**Attribute** & **FourthParty** & **FPDetective** & **OpenWPM** & **FP-Crawler** & **FP-Radar** & **OpenWPM-Mobile** & **OmniCrawl** \\ \hline Cookies & ✓ & - & ✓ & - & - & ✓ & ✓ \\ Window & ✓ & ✓ & ✓ & ✓ & - & ✓ & - \\ Navigator & ✓ & ✓ & ✓ & ✓ & ✓ & ✓ & - \\ \hline Screen & ✓ & - & - & ✓ & - & - & - \\ \hline HTML & - & ✓ & - & - & - & - & - \\ elements & & & & & & & \\ \hline Resource & ✓ & - & - & - & - & - & - \\ loads & & ✓ & - & - & - & ✓ & ✓ \\ CSSfont & - & ✓ & - & - & - & ✓ & ✓ \\ Canvas & - & - & ✓ & ✓ & - & ✓ & ✓ \\ WebRTC & - & - & ✓ & ✓ & - & ✓ & ✓ \\ Audio & - & - & ✓ & ✓ & - & ✓ & ✓ \\ Plugin access & - & - & ✓ & - & - & ✓ & ✓ \\ \hline MIME type & - & - & ✓ & - & - & ✓ & - \\ access & & - & ✓ & - & - & ✓ & - \\ WebGL & - & - & - & ✓ & ✓ & - & ✓ \\ Audio & - & - & - & - & - & - & ✓ \\ \hline Network & - & - & - & - & ✓ & - & - \\ information & & - & - & - & ✓ & - & - \\ Mouse & - & - & - & - & ✓ & - & - \\ Performance & - & - & - & - & ✓ & - &font guesses, and a small number of other WebRTC and AudioContext-based fingerprinting webpages. In 2020, [PERSON] et al. [13], through the FP-Crawler study, investigated the number of websites that used fingerprinting to detect crawlers. Researchers analyzed how effective fingerprinting was in detecting Web crawlers, and according to the research, the more the crawlers have modified fingerprint elements, the more likely the site tends to fail to detect crawlers.