TBB currently disables safebrowsing. I would like to answer the following questions before we enable it:
Does Firefox stop fetching safebrowsing data if the browser is inactive? The spec says the list is updated every 30 minutes, but doesn't say anything about user activity.
The data itself is authenticated, but it is also served over HTTP, and the protocol supports requesting specific lists and segments. This introduces the ability of exits to repeatedly block list segments in an attempt to create a supercookie in the client that appears like it can persist for up to 6 hours (based on the retry behavior in https://wiki.mozilla.org/Phishing_Protection:_Design_Documentation#Client_Backoff). Is there a way for exits/websites to read this supercookie at will?
Related: Should we clear the safebrowsing list data on New Identity (or does this just cause a lot of pointless network overhead)?
Clearing the list data might also cause an immediate re-download of all lists and segments. Does it? Do we care about leaking this to the exit (who can then infer that we just clicked New Identity)?
It looks like we definitely would need to clear the MAC key on New Identity. How do we do that? Does doing so invalidate our previous list data?
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items
0
Link issues together to show that they're related.
Learn more.
Trac: Description: TBB currently disables safebrowsing. I would like to answer the following questions before we enable it:
Does Firefox stop fetching safebrowsing data if the browser is inactive? The spec says the list is updated every 30 minutes, but doesn't say anything about user activity.
The data itself is authenticated, but it is also served over HTTP, and the protocol supports requesting specific lists and segments. This introduces the ability of exits to repeatedly block list segments in an attempt to create a supercookie in the client that appears like it can persist for up to 6 hours (based on the retry behavior in https://wiki.mozilla.org/Phishing_Protection:_Design_Documentation#Client_Backoff). Is there a way for exits/websites to read this supercookie at will?
Related: Should we clear the safebrowsing list data on New Identity (or does this just cause a lot of pointless network overhead)?
It looks like we definitely would need to clear the MAC key on New Identity. How do we do that? Does doing so invalidate our previous list data?
to
TBB currently disables safebrowsing. I would like to answer the following questions before we enable it:
Does Firefox stop fetching safebrowsing data if the browser is inactive? The spec says the list is updated every 30 minutes, but doesn't say anything about user activity.
The data itself is authenticated, but it is also served over HTTP, and the protocol supports requesting specific lists and segments. This introduces the ability of exits to repeatedly block list segments in an attempt to create a supercookie in the client that appears like it can persist for up to 6 hours (based on the retry behavior in https://wiki.mozilla.org/Phishing_Protection:_Design_Documentation#Client_Backoff). Is there a way for exits/websites to read this supercookie at will?
Related: Should we clear the safebrowsing list data on New Identity (or does this just cause a lot of pointless network overhead)?
Clearing the list data might also cause an immediate re-download of all lists and segments. Does it? Do we care about leaking this to the exit (who can then infer that we just clicked New Identity)?
It looks like we definitely would need to clear the MAC key on New Identity. How do we do that? Does doing so invalidate our previous list data?
Does Firefox stop fetching safebrowsing data if the browser is inactive? The spec says the list is updated every 30 minutes, but doesn't say anything about user activity.
Not to my knowledge. The goal is to keep the list up to date such that when you do browse, you're browsing with an up-to-date list for protection.
The data itself is authenticated, but it is also served over HTTP, and the protocol supports requesting specific lists and segments. This introduces the ability of exits to repeatedly block list segments in an attempt to create a supercookie in the client that appears like it can persist for up to 6 hours (based on the retry behavior in https://wiki.mozilla.org/Phishing_Protection:_Design_Documentation#Client_Backoff). Is there a way for exits/websites to read this supercookie at will?
I'm not entirely sure about this one. I might ask about it on the Firefox mailing list.
Related: Should we clear the safebrowsing list data on New Identity (or does this just cause a lot of pointless network overhead)?
I believe it's stored in urlclassifier3.sqlite (if you wanted to clear it).
Clearing the list data might also cause an immediate re-download of all lists and segments. Does it? Do we care about leaking this to the exit (who can then infer that we just clicked New Identity)?
Eventually, yes, it does cause a re-download. As for the exit leaking, I'll leave that up to higher authority.
It looks like we definitely would need to clear the MAC key on New Identity. How do we do that? Does doing so invalidate our previous list data?
You can request a new MAC key without invalidating the previous list data, but it's probably easier (and safer) just to use the protocol over HTTPS and not use MAC keys at all. Furthermore, a MITM could block updates but should not be able to insert/remove a specific site from the list. There's now an option to use the protocol entirely over HTTPS and ditch the MAC / "wrapped key", which is now in use by Chrome. We should ask Mozilla how to enable this in Firefox.
I'm still looking into this a bit. I will try to ask some questions on the Firefox mailing list and see if I can get anymore answers.
The freshclam tool of the clamav package provides the facility of mirroring safebrowsing data sets from the clamav servers. Safebrowsing could therefore be configured to run from the local data only and stop interaction with Google servers for so little gain.
The Safe Browsing service has changed a lot since this ticket was filed.
I wrote a detailed blog post about the Firefox implementation and I keep this wiki page up-to-date with everything I know about the service and our implementation.
A few quick notes:
it's all HTTPS now
there are no more MAC keys
list fetching is not based on user activity, it's on whenever the browser is running
the cookie has a unique origin attribute so it's not mixed with the other Google cookies (and I believe it will be gone in V4 of the API, Fx 56+)