Security/Safe Browsing/Chromium Implementation Overview: Difference between revisions
< Security | Safe Browsing
Jump to navigation
Jump to search
(Initial version of the page based on notes I took on 2015-10-06) |
(Mention chrome://safe-browsing/) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 21: | Line 21: | ||
* [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/safe_browsing_store_file.h File store] (inherits from [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/safe_browsing_store.h SB Store]) | * [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/safe_browsing_store_file.h File store] (inherits from [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/safe_browsing_store.h SB Store]) | ||
* [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/safe_browsing_blocking_page.h Interstitial pages] (will allow users to opt into reporting malware details) | * [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/safe_browsing_blocking_page.h Interstitial pages] (will allow users to opt into reporting malware details) | ||
* [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/local_database_manager.h Local DB manager] (inherits from [https://code.google.com/p/chromium/codesearch#chromium/src/ | * [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/local_database_manager.h Local DB manager] (inherits from [https://code.google.com/p/chromium/codesearch#chromium/src/components/safe_browsing_db/database_manager.h DB manager]) | ||
** [https://code.google.com/p/chromium/codesearch#chromium/src/ | ** [https://code.google.com/p/chromium/codesearch#chromium/src/components/safe_browsing_db/remote_database_manager.h Remote DB manager] (in trial on Android) | ||
* [https://code.google.com/p/chromium/codesearch#chromium/src/ | * [https://code.google.com/p/chromium/codesearch#chromium/src/components/safe_browsing_db/prefix_set.h Prefix set] | ||
* [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/protocol_manager.h Protocol interactions] with service (including [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/protocol_parser.h parsing server responses]) | * [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/protocol_manager.h Protocol interactions] with service (including [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/protocol_parser.h parsing server responses]) | ||
* [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/chunk_range.h Range parsing] | * [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/chunk_range.h Range parsing] | ||
* [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/ping_manager.h SB stats reporting] (optional, includes [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/ | * [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/ping_manager.h SB stats reporting] (optional, includes [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/threat_details.h threat details reporting]) | ||
* [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/safe_browsing_database.h URL classification helpers] | * [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/safe_browsing_database.h URL classification helpers] | ||
* [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/safe_browsing_util.h Utilities for handling chunks and hashes] | * [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/safe_browsing/safe_browsing_util.h Utilities for handling chunks and hashes] | ||
== Protocol Version 4 == | |||
* [https://code.google.com/p/chromium/codesearch#chromium/src/components/safe_browsing_db/safebrowsing.proto Protobuf definition] | |||
* [https://code.google.com/p/chromium/codesearch#chromium/src/components/safe_browsing_db/ Safe Browsing DB component] | |||
== Testing == | == Testing == | ||
* See <tt>chrome://safe-browsing/</tt> for Chrome's equivalent of <tt>about:url-classifier</tt> | |||
* [https://code.google.com/p/google-safe-browsing/ Test server] (also see this [https://code.google.com/p/chromium/codesearch#chromium/src/third_party/safe_browsing/testing/safebrowsing_test_server.py&q=safebrowsing_test&sq=package:chromium&type=cs v2 test server]) | * [https://code.google.com/p/google-safe-browsing/ Test server] (also see this [https://code.google.com/p/chromium/codesearch#chromium/src/third_party/safe_browsing/testing/safebrowsing_test_server.py&q=safebrowsing_test&sq=package:chromium&type=cs v2 test server]) | ||
* [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/test/data/safe_browsing/ Test data] (including [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/test/data/safe_browsing/download_protection/ executables and archives] as well as [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/test/data/safe_browsing/mach_o/ mac binaries] and a [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/test/data/safe_browsing/signed_binary.dll signed DLL]) | * [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/test/data/safe_browsing/ Test data] (including [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/test/data/safe_browsing/download_protection/ executables and archives] as well as [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/test/data/safe_browsing/mach_o/ mac binaries] and a [https://code.google.com/p/chromium/codesearch#chromium/src/chrome/test/data/safe_browsing/signed_binary.dll signed DLL]) |
Latest revision as of 00:15, 7 September 2017
Notes on the Safe Browsing implementation in Chromium.
Documentation
- Design doc that explains how Safe Browsing works in Chromium.
- Protocol version 3 (the one that Chrome implements)
Application Reputation
- Protobuf definition
- Utility functions
- Extracting signatures (also see cli tool)
- Extracting features of binary files (also windows executables)
- Mac DMGs and the sandboxed analyzer (also see dependencies)
- ZIP analyzer (and the sandboxed analyzer)
- File uploads to a download feedback service
- Download protection service
Malware and phishing
- File store (inherits from SB Store)
- Interstitial pages (will allow users to opt into reporting malware details)
- Local DB manager (inherits from DB manager)
- Remote DB manager (in trial on Android)
- Prefix set
- Protocol interactions with service (including parsing server responses)
- Range parsing
- SB stats reporting (optional, includes threat details reporting)
- URL classification helpers
- Utilities for handling chunks and hashes
Protocol Version 4
Testing
- See chrome://safe-browsing/ for Chrome's equivalent of about:url-classifier
- Test server (also see this v2 test server)
- Test data (including executables and archives as well as mac binaries and a signed DLL)
Client-side malware/phishing detection (CSD)
- Protobuf definitions
- Browser feature extractor and matching renderer code
- Client model
- "Site reputation" service
Software Removal Tool (SRT)
- Code (Windows only)