Security/Safe Browsing: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎How to Enable: mention all of the prefs)
(→‎Prefs: document two more prefs)
Line 22: Line 22:
* <tt>browser.safebrowsing.updateURL</tt>: server endpoint for malware and phishing list updates
* <tt>browser.safebrowsing.updateURL</tt>: server endpoint for malware and phishing list updates
* <tt>urlclassifier.disallow_completions</tt>: list of tables for which we never call <tt>gethash</tt>
* <tt>urlclassifier.disallow_completions</tt>: list of tables for which we never call <tt>gethash</tt>
* <tt>urlclassifier.gethashnoise</tt>: the number of fake entries to add to any <tt>gethash</tt> calls
* <tt>urlclassifier.malwareTable</tt>: list of tables to use when looking for malware (they need to be named <tt>*-malware-*</tt> or <tt>*-unwanted-*</tt>)
* <tt>urlclassifier.malwareTable</tt>: list of tables to use when looking for malware (they need to be named <tt>*-malware-*</tt> or <tt>*-unwanted-*</tt>)
* <tt>urlclassifier.max-complete-age</tt>
* <tt>urlclassifier.phishTable</tt>: list of tables to use when looking for phishing (they need to be named <tt>*-phish-*</tt>)
* <tt>urlclassifier.phishTable</tt>: list of tables to use when looking for phishing (they need to be named <tt>*-phish-*</tt>)



Revision as of 20:03, 7 August 2015

Note: The Safe Browsing feature in Firefox has been renamed to Phishing Protection, but it's still now as Safe Browsing internally.

Overview

Google Safe Browsing was an anti-phishing extension released by Google on labs.google.com in December 2005. Google has released this extension to the Mozilla Foundation under MPL 1.1/GPL 2.0/LGPL 2.1 in order that it might be used as part of Firefox if desired.

We've landed this change on the trunk as a global extension as of 7 March 2006. The next steps are to figure out whether this is something we want to use as the base for an anti-phishing feature in Firefox. Of course, whether it is enabled or even shipped is still a matter for discussion, as is the final form the extension might take, its UI, the way users opt-in, and the like.

You can read the discussion that lead up to to its integration in https://bugzilla.mozilla.org/show_bug.cgi?id=329292

Prefs

  • browser.safebrowsing.debug: show extra information about list updates on the command line
  • browser.safebrowsing.enabled: enable phishing protection
  • browser.safebrowsing.gethashURL: server endpoint for completions of malware and phishing lists
  • browser.safebrowsing.id: what SAFEBROWSING_ID in gethashURL and updateURL maps to
  • browser.safebrowsing.malware.enabled: enable malware protection
  • browser.safebrowsing.malware.reportURL: probably unused
  • browser.safebrowsing.reportMalwareMistakeURL: destination for the "This isn't an attack site" button (after ignoring the interstitial warning)
  • browser.safebrowsing.reportPhishMistakeURL: destination for the "This isn't a web forgery" button (after ignoring the interstitial warning)
  • browser.safebrowsing.reportPhishURL: destination for the "Help | Report Web Forgery" menu item
  • browser.safebrowsing.updateURL: server endpoint for malware and phishing list updates
  • urlclassifier.disallow_completions: list of tables for which we never call gethash
  • urlclassifier.gethashnoise: the number of fake entries to add to any gethash calls
  • urlclassifier.malwareTable: list of tables to use when looking for malware (they need to be named *-malware-* or *-unwanted-*)
  • urlclassifier.max-complete-age
  • urlclassifier.phishTable: list of tables to use when looking for phishing (they need to be named *-phish-*)

Documentation

Engineering

Product/Component: Toolkit/Safe Browsing

  • Tracking bug
  • The Firefox implementation is split into two parts:
    • browser/components/safebrowsing/
    • toolkit/components/url-classifier/ (includes the list manager)
  • Local store is in:
    • ~/.cache/mozilla/firefox/XXXX/safebrowsing/ on Linux
    • ~/Library/Caches/Firefox/Profiles/XXXX/safebrowsing/ on Mac
  • itisatrap.org test pages
  • Telemetry dashboard

QA

To turn on debugging output, export the following environment variable:

NSPR_LOG_MODULES="UrlClassifierDbService:5,nsChannelClassifier:5"