[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-bugs] #4522 [Tor Browser]: Add privilege separation for bundled browser



#4522: Add privilege separation for bundled browser
-------------------------+--------------------------------------------------
 Reporter:  kteel        |          Owner:  mikeperry
     Type:  enhancement  |         Status:  new      
 Priority:  normal       |      Milestone:           
Component:  Tor Browser  |        Version:           
 Keywords:               |         Parent:           
   Points:               |   Actualpoints:           
-------------------------+--------------------------------------------------
 TBB comes with Firefox which runs with full user privileges by default. A
 single vulnerability for example in its rendering or javascript code can
 be used to access private data stored on the system or to bypass Tor and
 reveal IP and location.

 Modern OSs offer security mechanisms to run 3rd party applications with
 reduced privileges:

 Windows Vista and later have Protected/Low Integrity Mode.
 OS X has seatbelt, fully usable at least since Lion.
 Linux has several mechanisms, seccomp is in the kernel and should be
 available on all recent distros, SELinux and Apparmor are more distro
 specific (Red Hat, Fedora, Ubuntu).

 Firefox upstream doesn't make use of any of them yet but that shouldn't
 stop redistributors with different security requirements...

 Firefox is also the only major browser that doesn't have a multi-process
 architecture to further limit the privileges of code that handles
 untrusted input. I don't think anything can be done about that short of
 waiting for Electrolysis making it into Aurora or switching the browser to
 something else in the meantime which is probably undesirable for many
 reasons.

 However sandboxing the firefox process could be done right now with
 relatively little difficulty. The heavy-lifting has been done already,
 Chromium has several sandbox mechanisms to cover all major platforms.

 A few links to get started:
 For Windows:
 a few icacls commands are enough for a basic configuration.
 https://wiki.mozilla.org/Mozilla_2/Protected_mode
 http://superuser.com/questions/30668/how-to-run-firefox-in-protected-
 mode-i-e-at-low-integrity-level

 For OS X:
 http://developer.apple.com/library/mac/#documentation/Security/Conceptual/AppSandboxDesignGuide/AboutAppSandbox/AboutAppSandbox.html
 http://dev.chromium.org/developers/design-documents/sandbox/osx-
 sandboxing-design

 For Linux:
 http://code.google.com/p/chromium/wiki/LinuxSandboxing
 Ubuntu comes with a Firefox Apparmor profile which just needs to be
 adapted to point at the correct binary.

 For *BSD:
 jail is available across the board

 None of these are designed with the threat model of Tor in mind. Special
 focus would be needed to protect the IP address from the browser.

 Summary:
 Outdated security architecture of Firefox together with the javascript
 heavy web and modern drive by exploits make the current TBB increasingly
 susceptible to application level attacks.

 Similar levels of security and resilience against application
 vulnerabilities to the "anonymizing middlebox" (transparent proxy in
 separate computer of VM) can be achieved with privilege separation.

 Make it happen before Electrolysis comes out (is it even still on their
 roadmap?)

-- 
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/4522>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs