Re: Helping ensure privacy + security

Chris Peterson <[email protected]> Thu, 22 Oct 2015 11:46:11 -0700
Newsgroups gmane.comp.mozilla.devel.plugins
Message-ID <[email protected]>
On 10/21/15 8:06 PM, Chris Antaki wrote:
> Have you heard of EFF's Panopticlick project? It uses various methods to identify your browser, then shows you how unique its footprint is.
>
> It turns out that the ability to enumerate plugins and mimetypes is actually one of the largest sources of uniquely identifiable information it collects. Of course, every piece of information adds up.
>
> Inspired by the Panopticlick project, I built a Firefox addon that currently has 2,199 users (https://addons.mozilla.org/en-US/firefox/addon/happy-bonobo-plugins-mimety/). By preventing enumeration of plugins and mimetypes, it made fingerprinting browsers more difficult.
>
> Sadly the addon was broken with Firefox 41, due to this update https://bugzilla.mozilla.org/show_bug.cgi?id=1169945.
>
> Now I understand how the plugins.enumerable_names was broken for certain uses. However, when using it in a Binary way, that is either setting the default value or setting "" for an empty whitelist, it actually worked great.
>
> I'm wondering if we could bring back a simplified version of the feature. And furthermore, what other steps can we take to empower privacy-conscious Firefox users?
>


To provide some background context for others, here is an excerpt from 
our discussion in bug 1169945:

I wrote the plugins.enumerable_names feature (in bug 757726) and removed 
it (in bug 1169945).

The plugins.enumerable_names whitelist was incomplete fingerprinting 
protection and broke a lot of websites. The whitelist breaks on nearly 
all websites that depend on a plugin not exposed in the 
plugins.enumerable_names pref. Tech evangelism bug 934107 has some 
examples of sites that were broken, contacted by Mozilla, and still have 
not fixed their plugin detection. For every website reported, there are 
likely 100x more broken but not reported.

But the big hole is that "hidden" plugins are still visible to tracking 
websites because they can query navigator.plugins using a long list of 
known plugin names. A better solution is to configure your plugins to 
"Never Activate" by default and them allow individual plugins on on the 
websites that use them. That will protect you from both plugin 
fingerprinting and plugin vulnerability exploits on random websites or 
ad networks.

We could make that per-site UI easier. Bug 1186948 would make per-site 
enumeration opt-in easier by hiding click-to-play ("Ask to Activate") 
plugins from websites enumerating navigator.plugins until the user 
clicks the click-to-play button.