Ubuntu QA:
BlogBrainstormPackage status
Log in
Ubuntu QA
The Ubuntu community has contributed 12357 ideas, 58479 comments, 1187050 votes

Idea #5913: create (or sponsor) a more secure webbrowser together with mozilla



up
-27
down
Written by ubuntu_demon the 28 Mar 08 at 11:09. Category: Security.
Related to: Nothing/Others. Status: New
Description
Create (or sponsor) a more secure browser based on gecko (firefox's rendering engine) together with the mozilla foundation.

It should be aimed at security (and standards compliance) instead of features. This new browser should be very heavily modularized and wrapped in apparmor. The information flow between the different modules must be restricted and secured as much as possible.

Initially this browser would attract :
* users who would probably only use it for online banking
* departments within companies/enterprises who are afraid to allow browsers at all

Eventually it should be able to run add-ons/plugins/extensions written for firefox in a securely contained way.

This new browser should integrate very well into Ubuntu and use GTK. Maybe use epiphany as a base ?

inspiration :
http://tech.slashdot.org/tech/08/03/27/2324218.shtml
http://www.eweek.com/index2.php?option=content&task=view&id=47212&pop=1&hide_ad s=1&page=0&hide_js=1
http://www.cs.uiuc.edu/homes/kingst/Research_files/grier08.pdf
Tags: (none)

Attachments
No attachments.


Duplicates


Comments
vexorian wrote on the 28 Mar 08 at 13:22
Ok, let's see.

Firefox3:

* Uses GTK and integrates well into ubuntu.
* Antiphising thing.
* secure connections.
* Tells you if you are using an identified page.
* Allows you to install noscript on it.

So, let's put an already implemented tag on this one.


ubuntu_demon wrote on the 28 Mar 08 at 13:43
Firefox 3 is very nice indeed but it's besides the point.

You should look at the inspiration links before saying "already implemented".


Eldmannen wrote on the 28 Mar 08 at 14:24
Or just put Firefox under PolicyKit, AppArmor or SE-Linux.

ubuntu_demon wrote on the 28 Mar 08 at 15:03
to Eldmannen :

Putting firefox under PolicyKit,AppArmor or SE-Linux should increase security. Maybe Hardy even does this already. But that's just a small part.

This new secure webbrowser could borrow design ideas from the paper I linked to. You should read the abstract. I'm quoting a small part of the abstract :

[quote]
Our overall design philosophy is to partition the browser into smaller subsystems and make all communication between subsystems simple and explicit. At the core of our design is a small browser kernel that manages the browser subsystems and interposes on all communications between them to enforce our new browser security features.
[/quote]

Please read this comment from slashdot :
http://tech.slashdot.org/comments.pl?sid=502260&cid=22889026 :

[quote]
Web browsers are already complex, and they've been designed without any regard whatsoever for security. It's impossible to go back to static HTML documents by now. So would you prefer that everyone just sticks their head in the sand, and pretends that it'll all go away?

This approach allows for complex browsers to actually become safer, by simplifying them. The browser is broken up into a set of components. Each component runs in a separate process, completely isolated (by the operating system) from the other components. In addition, each component is isolated from the rest of the system using mandatory access controls (SELinux in this case) which prevent the component from doing anything that it doesn't need to do.

The key aspect is that the components only have one way to communicate with each other - a single communications channel which is created by, controlled, and mediated by the kernel process. That means that all interactions between the components are simplified, and can be monitored by the kernel. The kernel itself can be small and simple enough that it's behaviour can be proven correct. The kernel then enforces a security policy.

This approach is known to work - it's similar to the approach used by operating system kernels.

Let's say you break into the rendering component, where the HTML rendering and JavaScript VM reside. You have absolutely no access to the operating system - your only link to the outside world is through the kernel, to the other components. Even if you manage to run native code inside the rendering engine, the operating system won't allow you to access the network, filesystem, or anything else. You only have access to the IPC mechanisms, and even then only to the connection between the rendering component and the kernel.

If your objective is to compromise the operating system through the browser, you can not do that from here. You can't just send a message to the component that handles file access, and get it to load malware onto the system - the kernel will prevent it. Even if you also find a hole in the kernel that allows you to run native code inside the kernel, the kernel doesn't have the ability to access the filesystem either. The filesystem component won't help either - it only has access to a small piece of the filesystem.

If your goal is to steal someone's bank password, you'll still have a tough time of it. The kernel will prevent you from doing anything that doesn't fit within the security policy. Even if you could access a bank password, you're not going to be able to send that information to anyone. If you do have the ability to send that information, you're not going to have access to the passwords.

The idea is not to add complexity - this browser should be no more complex than any other. The idea is to improve security by separating components, isolating them, and verifying that they are not doing anything that they're not supposed to.

It's called "defence in depth" - acknowledging that the system can never be made totally secure, and designing it in such a way that any security breaches won't be able to do any damange, and are able to be tracked for analysis later.
[/quote]


zooounds wrote on the 28 Mar 08 at 15:53
Firefox is fine. Why reinvent the wheel?

ubuntu_demon wrote on the 28 Mar 08 at 17:13
to zoounds :

Initially this browser would attract :
* users who would probably only use it for online banking
* departments within companies/enterprises who are afraid to allow browsers at all

I'm not talking about reinventing the wheel. With a bit of luck Firefox's rendering engine (Gecko) can be used without much adapation.

Please read the inspiration links to get the idea.

ubuntu_demon wrote on the 28 Mar 08 at 23:58
epiphany supports both webkit and gecko. optimizing epiphany for security (roughly according to the ideas presented in the paper) while allowing both rendering engines sounds nice IMHO.

a little bit offtopic :

Firefox 4 might become too bloated see :
http://tech.slashdot.org/article.pl?sid=08/03/28/1736255&from=rss




Post your comment