[tbb-dev] nsIUserInfo (browser developer candidate)

Georg Koppen gk at torproject.org
Thu Jul 20 08:00:00 UTC 2017


Hi Richard!

Richard Pospesel:
> Hi tor devs!
> 
> I've spent today getting ramped up on building/debugging tor-browser and
> investigating a solution to issue #13398
> <https://trac.torproject.org/projects/tor/ticket/13398> (NsUserInfo object
> scrapes user's name, username, email, and domain).
> 
> My first instinct was to just completely remove the offending code and
> interface.  It looks like some things have changed in this area since the
> issue was filed, as this information is no longer cached on firefox
> startup, but is still accessible via Add-Ons through the userinfo object (
> https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/
> Reference/Interface/nsIUserInfo ).
> 
> So my question to you is in this case, do we prefer to completely excise
> the nsIUserInfo interface from the codebase (and break any user Add-Ons
> which use it) or do we prefer to replace all the per-system implementations
> with a single 'mock' implementation which returns empty string (or errors)
> for each property getter?
> 
> Having read the design-doc (particularly the parts on finger printing) it
> seems like ripping out the class entirely is a bad idea as it would
> immediately identify the browser as a modern Tor Browser (given how old the
> API is and that vanilla Firefox still has it) and potentially break Add-Ons
> using it.  However, simply returning empty-string for these properties
> would also identify the browser as Tor Browser.  I know for certain that on
> windows the username (at least) will always return *something* so getting
> empty string here would also point to Tor Browser.
> 
> All that said, I suspect either of the above solutions are preferable to
> leaking user identifying information.

Indeed. Identifying the browser as Tor Browser is not such a big deal.
It's probably not even possible to hide that fact. But we should avoid
breaking extensions. Although we are strongly discouraging the
installation of additional extensions, users should be free to override
this decision and retain a functional browsing experience.

Thus, returning an empty string (or the same non-empty values for every
Tor Browser user) would be a good solution. Bonus points for binding
that to a preference in case there are indeed extensions out there that
rely on that kind of information being somewhat accurate. And having the
preference govern this behavior should make it easier for us to upstream
the patch to Mozilla (which is one of the important goals for writing
all those patches in the first place).

Georg

> What do you think?
> 
> best,
> -Richard
> 
> 
> 
> _______________________________________________
> tbb-dev mailing list
> tbb-dev at lists.torproject.org
> https://lists.torproject.org/cgi-bin/mailman/listinfo/tbb-dev
> 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.torproject.org/pipermail/tbb-dev/attachments/20170720/48ec3eea/attachment.sig>


More information about the tbb-dev mailing list