Security/Download Protection: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Telemetry: describe APPLICATION_REPUTATION_SERVER)
(→‎Engineering: mention the upstream source of file extensions)
Line 29: Line 29:


Most of the code lives in <tt>toolkit/components/downloads/ApplicationReputation.cpp</tt>.
Most of the code lives in <tt>toolkit/components/downloads/ApplicationReputation.cpp</tt>.
The list of file extensions that Chrome submits for remote verification lives inside a "File Type Policies" Chrome extension (see `chrome://components`) and uses this protobuf file as the source: https://cs.chromium.org/chromium/src/chrome/browser/resources/safe_browsing/download_file_types.asciipb


== QA ==
== QA ==

Revision as of 23:58, 12 September 2016

Description

This feature protects users against malware downloads. It is based on Safe Browsing.

See Security/Features/Application_Reputation_Design_Doc for implementation details.

Prefs

  • browser.safebrowsing.downloads.enabled: enables application reputation checks for downloaded files
  • browser.safebrowsing.downloads.remote.enabled: enables remote lookups (requires the previous pref)
  • browser.safebrowsing.downloads.remote.timeout_ms: timeout for the remote lookups
  • browser.safebrowsing.malware.enabled: enables malware checks (required by application reputation)
  • browser.safebrowsing.provider.google.lists: list of tables coming from the Google Safe Browsing service
  • urlclassifier.downloadAllowTable: list of trusted certificates which suppress remote lookups (Windows-only)
  • urlclassifier.downloadBlockTable: list of URLs serving malware binaries

Firefox 45 and earlier:

  • browser.safebrowsing.appRepURL: server endpoint for remote lookups

Firefox 46 and later:

  • browser.safebrowsing.downloads.remote.url: server endpoint for remote lookups

Engineering

Product/Component: Toolkit/Safe Browsing

Most of the code lives in toolkit/components/downloads/ApplicationReputation.cpp.

The list of file extensions that Chrome submits for remote verification lives inside a "File Type Policies" Chrome extension (see `chrome://components`) and uses this protobuf file as the source: https://cs.chromium.org/chromium/src/chrome/browser/resources/safe_browsing/download_file_types.asciipb

QA

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

MOZ_LOG_FILE=/tmp/apprep.log
MOZ_LOG="ApplicationReputation:5"

Telemetry

Documentation