Security/Download Protection: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎QA: Link to a list of malicious URLs useful for testing this feature.)
(→‎Documentation: Fix broken Chromium link.)
 
Line 63: Line 63:
* [https://mana.mozilla.org/wiki/display/FIREFOX/Application+Reputation Google API documentation] (internal access only)
* [https://mana.mozilla.org/wiki/display/FIREFOX/Application+Reputation Google API documentation] (internal access only)
* [http://www.internetsociety.org/doc/camp-content-agnostic-malware-protection Content-Agnostic Malware Protection] (paper describing how the whole system is implemented)
* [http://www.internetsociety.org/doc/camp-content-agnostic-malware-protection Content-Agnostic Malware Protection] (paper describing how the whole system is implemented)
* [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/common/safe_browsing/csd.proto&q=csd&sq=package:chromium&l=229 Chromium source code]
* [https://source.chromium.org/chromium/chromium/src/+/master:components/safe_browsing/core/proto/csd.proto;l=465;drc=f0881a1b6bb18aade55c4d60769f53d1a850453e Chromium source code]
* [http://monica-at-mozilla.blogspot.co.nz/2014/07/download-files-more-safely-with-firefox.html Announcement blog post]
* [http://monica-at-mozilla.blogspot.co.nz/2014/07/download-files-more-safely-with-firefox.html Announcement blog post]

Latest revision as of 20:19, 15 June 2020

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.downloads.remote.url: server endpoint for 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

Engineering

Product/Component: Toolkit/Safe Browsing

Most of the code lives in toolkit/components/downloads/ApplicationReputation.cpp. The lookup is requested from within toolkit/components/jsdownloads/src/DownloadIntegration.jsm.

Upstream list of file extensions:

Tests

Here are the download protection specific tests:

./mach test toolkit/components/reputationservice/test/

Also relevant are the Safe Browsing tests.

QA

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

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

Telemetry

Alerts are sent to safebrowsing-telemetry@mozilla.org.

Documentation