Security/Tracking protection: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Documentation: link to the other two SUMO pages)
(→‎Lists: fix Disconnect link, remove obsolete policy link)
Line 38: Line 38:


* Blacklist (<tt>mozstd-track-digest256</tt>)
* Blacklist (<tt>mozstd-track-digest256</tt>)
** [https://services.disconnect.me/disconnect-plaintext.json Upstream source] ([https://disconnect.me/help#where-can-i-find-disconnects-tracker-protection-list-and-how-is-this-list-created how it's created])
** [https://services.disconnect.me/disconnect-plaintext.json Upstream source] ([https://disconnect.me/help#where-can-i-find-disconnects-open-source-tracker-protection-lists-and-how-is-this-list-created how it's created])
** [https://github.com/mozilla-services/shavar-prod-lists/blob/master/disconnect-blacklist.json Our copy] (i.e. what we ship to clients in binary form)
** [https://github.com/mozilla-services/shavar-prod-lists/blob/master/disconnect-blacklist.json Our copy] (i.e. what we ship to clients in binary form)
* Entity whitelist (<tt>mozstd-trackwhite-digest256</tt>)
* Entity whitelist (<tt>mozstd-trackwhite-digest256</tt>)
Line 48: Line 48:
** [https://github.com/mozilla-services/shavar-list-creation-config Prod/stage list configuration] for the script
** [https://github.com/mozilla-services/shavar-list-creation-config Prod/stage list configuration] for the script
** [https://github.com/mozilla-services/shavar-list-exceptions Allow list] (deprecated) -- entries to remove from the upstream blacklist when generating it
** [https://github.com/mozilla-services/shavar-list-exceptions Allow list] (deprecated) -- entries to remove from the upstream blacklist when generating it
* [https://intranet.mozilla.org/TrackingProtectionForFirefox/ListPolicy List policy] (internal only)
* The lists are stored in these files:
* The lists are stored in these files:
** <tt>~/.cache/mozilla/firefox/XXXX/safebrowsing/mozstd-track*</tt> on Linux
** <tt>~/.cache/mozilla/firefox/XXXX/safebrowsing/mozstd-track*</tt> on Linux

Revision as of 19:06, 25 September 2015

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

  • 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-*)

Firefox 42 and earlier:

  • browser.trackingprotection.updateURL: server endpoint for downloading list updates
  • browser.trackingprotection.gethashURL: server endpoint for completions

Firefox 43 and later:

  • browser.safebrowsing.provider.mozilla.lists: list of tables coming from the Mozilla shavar service
  • browser.safebrowsing.provider.mozilla.updateURL: server endpoint for downloading list updates
  • browser.safebrowsing.provider.mozilla.gethashURL: server endpoint for completions

Engineering

Lists

  • Blacklist (mozstd-track-digest256)
  • Entity whitelist (mozstd-trackwhite-digest256)
  • List creation script
  • 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

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

Documentation