Security/Tracking protection
< Security
Jump to navigation
Jump to search
Description
Tracking Protection is a new platform-level technology that blocks HTTP loads at the network level. It is based on the Safe Browsing technology that powers our phishing and malware protection.
This feature is part of the Polaris initiative.
Prefs
- browser.trackingprotection.updateURL: server endpoint for downloading list updates
- browser.trackingprotection.gethashURL: server endpoint for completions
- privacy.trackingprotection.enabled: to enable TP globally
- privacy.trackingprotection.pbmode.enabled: to enable TP in Private Browsing mode (not needed if the global pref is enabled)
- privacy.trackingprotection.ui.enabled: show a checkbox to toggle privacy.trackingprotection.enabled in the Preferences (Nightly only)
- privacy.trackingprotection.introCount
- privacy.trackingprotection.introURL
- urlclassifier.disallow_completions: list of tables for which we never call gethash
- urlclassifier.trackingTable: list of tables to use when looking for trackers (they need to be named *-track-*)
- urlclassifier.trackingWhitelistTable: list of tables to use when checking whether or not a tracker is part of the same entity as the page (they need to be named *-trackwhite-*)
Engineering
- Tracking Bug
- Client implementation
- Server implementation
- Telemetry dashboard
- itisatrap.org test page
Lists
- Blacklist (mozstd-track-digest256)
- Upstream source (how it's created)
- Our copy (i.e. what we ship to clients in binary form)
- Entity whitelist (mozstd-trackwhite-digest256)
- Upstream source
- Our copy (i.e. what we ship to clients in binary form)
- Implemented in bug 1141352
- List creation script
- The script which generates all of the tracking protection lists in binary format.
- Prod/stage list configuration for the script
- Allow list (deprecated) -- entries to remove from the upstream blacklist when generating it
- List policy (internal only)
- The lists are stored in these files:
- ~/.cache/mozilla/firefox/XXXX/safebrowsing/mozstd-track* on Linux
- ~/Library/Caches/Firefox/Profiles/XXXX/safebrowsing/mozstd-track* on Mac
- C:\Users\XXXX\AppData\Local\mozilla\firefox\profiles\XXXX\safebrowsing\mozstd-track* on Windows
QA
- Test page
- Test plan for Fx42
- Shavar test plan (includes end-to-end tests)
- Breakage bugs
- Ideas for a testing strategy
- One and Done task
- Script to dump the contents of mozpub-track-digest256* files
To turn on debugging output, export the following environment variable:
NSPR_LOG_MODULES="UrlClassifierDbService:5,nsChannelClassifier:5"
To produce the "digest256" hash that sbdbdump -v will contain for example.com:
echo -n "example.com/" | sha256sum 7fc983ea552f7c8d153fc308d621eb4f52e84aa63ecccf3a735698a11a2a4a8d