Slashdot Log In
Is There Room For a Secure Web Browser?
Posted by
Soulskill
on Thu Mar 27, 2008 07:29 PM
from the you-can-have-ie's-spot dept.
from the you-can-have-ie's-spot dept.
An anonymous reader points out an eWeek story about researchers from the University of Illinois at Urbana-Champaign who are designing a new web browser based on security. The new software, code-named OP for Opus Palladianum, will separate various components of the browser into subsystems which are monitored and managed by the browser kernel. Quoting:
"'We believe Web browsers are the most important network-facing application, but the current browsers are fundamentally flawed from security perspective,' King said in an interview with eWEEK. 'If you look at how the Web was originally designed, it was an application with static Web pages as data. Now, it has become a platform for hosting all kinds of important data and businesses, but unfortunately, [existing] browsers haven't evolved to deal with this change and that's why we have a big malware problem.' The idea behind the OP security browser is to partition the browser into smaller subsystems and make all communication between subsystems simple and explicit."
Related Stories
Submission: Is There Room for a Secure Web Browser? by Anonymous Coward
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Somewhat pointless? (Score:5, Interesting)
"Our policy removes the burden of security from plug-in writers, and gives plug-ins the flexibility to use innovative network architectures to deliver content while still maintaining the confidentiality and integrity of our browser, even if attackers compromise the plug-in," he said.
Great! :)
But even if it works as planned...this new browser is going to enter the market and who is going to download it? A tiny percentage of internet users--those would be part of the same minority who would also know how to use Firefox (and other browsers) quite safely *right now*.
So who is this product for? Seems interesting from a design point of view, but unelss one of the big browsers adopts it, could it really make even a tiny dent on the security of the internet?
I predict no. The internet's main problem is between the monitor and keyboard ;-)
*iza
Re:Somewhat pointless? (Score:5, Insightful)
Parent
Re:Somewhat pointless? (Score:5, Insightful)
Parent
Re:Somewhat pointless? (Score:5, Interesting)
Mozilla, Safari, and Opera gained market traction by having features that users or developers wanted that were not otherwise available. Security is a feature that many users, developers, and particularly network administrators desire. Say you have a choice between deploying your workstations with Firefox or with Secure Firefox, which one do you pick?
We're nearly to the stage where interface features (bookmarks, tabs, toolbars, javascript, flash, java) are reasonably complete and rendering speed and quality (Acid2, Acid3) is reasonably complete. So we can assume that any modern browser (including this new one) will be fully-featured and acid-compliant when released. It would be inane to do otherwise. So how do you improve browsers from here? Security *is* still an issue with browsers because they are *the* platform of the decade. Why not improve that?
Prove to me that security in IE, Firefox, Opera, and Safari is "good enough".
Parent
Re:Somewhat pointless? (Score:4, Insightful)
IE has both activeX and extensions to worry about, on top of being tightly integrated into the core OS. And Firefox has the additional burden of all those extensions that most people use. Removing the extensions makes it significantly easier to audit the code and assure that the end user browser experience is secure. With extensions, they can only QA the browser itself and ensure that the basic API allows sufficiently secure practices.
Personally I like the idea that's being pushed here, and have been wondering for quite some time why there isn't more separation between extensions/plugins and the browser itself. People will use whatever is cheap, fast, pretty, reliable and secure. There is no inherent reason why with all the processing power and extensions to the processor that a browser like this can't nail the other three while being close enough on performance that people don't notice a speed trade off.
This kind of thing can already be done presently. Just in a less efficient and less fine grained manner. Linux or similar in a VM.
Parent
Re: (Score:3, Interesting)
Re:Somewhat pointless? (Score:5, Funny)
Ask not what else your 100 MB of RAM could have done for you, but what you could do with your other 1900 MB of RAM.
Like government, browsers could me more efficient with their resources. But think of your computer as a country in renaissance -- instead of worrying why you paid $100 for that hammer, question instead what the hammer may allow you to do whatever its cost.
(I'm only half-joking because I'm a satirist, not a realist...then I'd be half-serious.)
Parent
Re:Somewhat pointless? (Score:5, Funny)
Or Opera in the IE 7/8 heydays, for that matter...
Parent
Re:Somewhat pointless? (Score:4, Interesting)
Parent
Plan 9 (Score:4, Insightful)
Plan 9 never "made it big", but it wasn't supposed to. Now most Unix systems have adopted ideas from Plan 9, like the
Plan 9 isn't a superstar, and in my personal opinion it's a pain to try to use, but it's considered a highly successful project. I'd like to try this browser, just because it sounds cool, even if it isn't my new browser of choice. I hear people praise Firefox, not because it's the best browser ever, but because it put pressure on Explorer to keep up with the market.
Proof of concept is worth a lot.
Parent
Re:Somewhat pointless? (Score:5, Interesting)
link to the paper:
http://www.cs.uiuc.edu/homes/kingst/Research_files/grier08.pdf [uiuc.edu]
Parent
Re:Somewhat pointless? (Score:5, Funny)
Parent
Re: (Score:3, Funny)
Re: (Score:3, Interesting)
The internet's main problem is between the monitor and keyboard ;-)
I know you meant well, but that is a very ignorant statement. I can be casually surfing the web with a modern browser, and if I hit a site that was hijacked by an attacker, even if I have modern security software installed, I can get hit with JavaScript code that can escape the sandbox, break single origin policy, or (in the past) flat out run OS commands. The browser is an operating system. And a very insecure one at that.
Re:Somewhat pointless? (Score:5, Insightful)
If they show the security advantages can be achieved without hurting other aspects of browser performance, something like Firefox or IE could implement their strategy and claim a big win for security over their competitors. This idea is at least a couple of years old. It would surprise me if it isn't simmering on the back burner of the IE team or someone influential at Mozilla.
As for everyone saying silly things about how programmers should just code better...go take an OS class. Browsers are becoming more like operating systems. Imagine if every program on your computer was essentially working with the same address space except for a few hard-coded rules. Even Windows long ago (like in DOS times) realized that's a broken approach.
Parent
Re:Somewhat pointless? (Score:4, Insightful)
The key feature is Trusted Computing.
So who is this product for?
The RIAA, MPAA, and all those people who want to make DRM locked websites where no one can save copies of pictures or any other content from the page, where you can't copy-paste text or anything else, where you can't run any ad-blockers, where you can't view the webpage source, where you can't "deep link", where they can securely track your identity, etc etc etc.
He's this guy's page [uiuc.edu] at The Information Trust Institute (ITI). [uiuc.edu]
Their definition of "secure" is securing computers against the owner.
They do Trusted Comptuting, Trusted Platform Models, DRM, they are even working on a Trusted DRM P2P system. Oh joy, I can't wait to get me some of that Trusted DRM P2P! Woohoo! Yummy! to ensure that distributed multimedia protocols' trustworthiness is enforced in terms of security... security when delivering voice, music... trusted peer-to-peer (P2P) streaming protocols in large-scale ad hoc distributed systems for efficient content distribution... Issues of digital rights management [uiuc.edu]
Come on, don't tell me no one noticed the project name "Opus Palladianum" and thought, "Damn, that sounds like Palladium!" Yep, this is the scheme for a DRM locked down browser running on a DRM hardware locked Palladium system. And yeah, the article mentions that this guy came from Microsoft. Who here is surprised at that? Yeah, me neither.
Yeah, tag this article trustedcomputing. Or treacherouscomputing if you prefer.
-
Parent
Re:Somewhat pointless? (Score:5, Interesting)
On a browse through I don't see anything directly tied to Trusted Computing in there. So maybe I jumped the gun, but this group *is* deep into the Trusted Computing stuff, and the Palladium-esque name sure seems like more than a coincidence, and looking the paper it is exactly the sort of design you'd want to adapt into a Trusted Computing browser.
So I'm still rather suspicious of the intent and connections behind it, but I will retract my positive tagging that it *does* explicitly intend to involve Trusted Computing.
-
Parent
Re:Somewhat pointless? (Score:4, Funny)
Like it's that hard to securely receive and render webpages. It's a trivial task. Anyone who says the contrary should get a reality check. It's very possible to program without bugs. That's what correctness tests are for. An if your tolkit sucks so much it has security holes, code your own lib from scratch.
Parent
Re:Somewhat pointless? (Score:4, Insightful)
Parent
Re:Somewhat pointless? (Score:5, Informative)
Fuck silly restrictions.
Parent
part of the solution.... (Score:5, Informative)
Re:part of the solution.... (Score:4, Interesting)
Run the browser in a Virtual Machine along with its plugins. When you close it flush all changes to the binaries and keep the changes to the history and cache.
You might not even need VMware to do this, just virtualize the files available to the browser and the memory available to the process. I dont think this will have a performance hit.
Parent
Please don't link to eWeek (Score:3, Insightful)
Users with strong privacy protections can't get past the stupid ad screen. Find another source, please.
no (Score:3, Insightful)
So no.
Ad-free version of article (Score:4, Informative)
How hard is it to look for the "Print version" w/o ads and link to that?
Man, if only Samuel L Jackson were here... (Score:3, Funny)
Whiny-bitch-free version of the motherfucking link provided by parent. [eweek.com]
or
Really fucking easy, which is why we don't need a karma whoring bitch such as yourself providing the motherfucking thing.
or
About as easy as shutting your editorializing bitchass mouth motherfucker.
In other news... (Score:5, Funny)
Re: (Score:3, Funny)
I've got a secure web browser (Score:4, Funny)
Re:I've got a secure web browser (Score:4, Informative)
http://www.ciac.org/ciac/bulletins/h-82.shtml [ciac.org]
http://securitydot.net/vuln/exploits/vulnerabilities/articles/14814/vuln.html [securitydot.net]
Parent
Such a great idea (Score:4, Funny)
The super-duper-secure safe OS (Score:4, Funny)
OK, if you really want a truly secure safe OS (and by extension, to a browser mapped to the same address space), this is what you need in your OS:
Not one microkernel, for extra safety you need redundant nanokernels, with a microkernel over those, then the user kernel. To prevent buffer overruns, all messages passed between these are sent as emails, with spamassassin checking lest any of them get any ideas about sending spams.
OK, next you need lots of verification. Every time you write to disk there should be a second process to verify that what was written is correct. Then you need a process to check that the verifier process is checking things correctly. If memory doesn't run out while doing this, a body of processes should vote democratically as to whether the whole thing finished correctly. In case of collusion between the processes, some of them will be strictly dice rolls.
The least trusted part of the computer is the user, otherwise known as the "owner" of said computer. Thus, that person should not be allowed to do anything because that is a sure way to introduce problems. Harass that person with questions and popups at every opportunity. That will make sure they go out and read a book and not get in the way of the important things that the operating system is trying to do.
To prevent hardware from crashing any of the kernels, they must be separated by a special interface layer that works a lot like a chat room (IRC). What this means is that devices that speak the protocol correctly can connect and be listened to by the kernel(s). Those that misbehave or that use foul language are kicked off by the watchdog process. The watchdog process is watched by a bulldog process. Sometimes the bulldog just barks, other times the two are wrestling it out on the ground while the rest of the system waits for them to sort out their differences. Alas, such is the price of progress.
To further prevent buffer overruns, a new character encoding is introduced where a previously one-byte code now needs ten bytes to encode it. This means that buffers have to be ten times bigger and thus there is a lot more space before an overrun occurs.
Let me know if you can think of any more features to add to this future super-OS.
Parent
Re:The super-duper-secure safe OS (Score:4, Funny)
Parent
Government model (Score:3, Insightful)
Re: (Score:3, Funny)
Let all the processes be fully independent, evolving and with absolutely no regulations whatsoever. Give them 100 bucvk (virtual money). They will, according to economists, evolve into free market practically immediately. After that the free market will solve every problem in the most efficient way possible. Security will therefore be better than is possible with any other method.
Re: (Score:3, Insightful)
But if you go out and look at software that is written to be secure, the subsystem approach is how it is done. Pos
The less functionality the better (Score:5, Insightful)
If we allow an internet to exist without the need for complex interpreted languages, if people open mostly static HTML documents when they open web pages instead of opening a pandora's box of plugins, languages, interpreted bytecodes, activeX gotchas and other unnecessary exploitable garbage, then the entire internet will be more secure.
By making it more complex, exploits and backdoors are virtually guaranteed. But well, that's just *my* ignorant opinion.
Re:The less functionality the better (Score:5, Informative)
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.
Parent
What I want to know is... (Score:5, Funny)
Re: (Score:3, Funny)
Security is an annoyance to most peopl (Score:3, Insightful)
Yes, if it's standards-compliant (Score:5, Insightful)
I don't see why this couldn't fly. Samuel King appears to be a well-established professor with solid credentials. It's based on SELinux at present, but they've designed it to work with various other resource segmenting programs (they named AppArmor).
I'd say the key to finding a market will be standards-compliance. If it supports HTML 4 and XHTML reasonably well (like anyone can do it perfectly) and has ECMAScript, then it can work with a properly-designed webapp. While they're designing plugin support, I don't think it matters much whether Flash will be supported. People who care about security don't tend to be distracted by shiny things.
Sure, it won't even come close to top of the browser list. The purpose of this browser, however, is to bring web browsers to locations that can't use them because of security concerns. As a developer, I can certainly say that my productivity is improved with web access - forums, developer documentation, bug reports. I've been at companies that won't let their developers work on the Internet at all, probably for fear of espionage. The web browser is probably the second largest target (after e-mail clients) for malware writers. Web browsers are ubiquitous now, so spending some time researching "white-hat" web techniques is a worthwhile effort regardless, and I'm sure there are some who will find this browser useful. I will continue to use Firefox, despite the security concerns associated with JavaScript and Flash. My tin-foil hat is back in the closet, and I want to keep it there.
A link to the paper (Score:5, Informative)
Doomed by Expediency (Score:3, Interesting)
Next.
Seriously, yes, I'd love to see a secure browser I could recommend for my family's computers, but it's alot of hard ground-up work. (It might actually be faster to write a tool to port the current Gecko/Webkit tree to another language automatically than to start in on a whole new rendering engine in a secure language).
Get started now and the silicon will be fast enough by time the browser is ready.
Here's what I want (Score:4, Insightful)
To me a secure browser would be non-modular, and be pretty slim on the list of features.
NO activeX
NO plug-ins, period. Once you introduce a 3rd party software entry point, it's spoiled
No giving out referrer info unless you say so
strict cookie control
mike's ad blocking hosts file built in, and configurable(or something similar)
CANCELABLE javascript. Wha? Any time you get a javascript prompt, you'll have OK, cancel, and "stop all javascript right fucking now".
Javscript turn off URL bars, resizing of windows? I don't think so. Leave that to the user.
And I'm betting there's 20 other things I haven't thought of that's mandatory. The web browser has become so fluidic that there's tons of entry points to a user's system now.
Re: (Score:3, Informative)
Re:Here's what I want (Score:4, Informative)
- Open all pop-ups
- Open pop-ups in background
- Block unwanted pop-ups
- Block all pop-ups
- Enable GIF/SVG animation
- Enable sound in webpages
- Enable Java
- Enable plug-ins
- Enable JavaScript
- Enable cookies
- Enable referrer logging
- Enable proxy servers
- Edit site preferences...
It's amazingly simple to enable and disable many irritating features. I keep plugins and animations off at all times, except when I want them.Parent
Re: (Score:3, Insightful)
That person oughtta be lynched.
Yes, it's called IE 7 on Vista (seriously) (Score:3, Insightful)
While there have been exploits for IE 7, not a single one of them could successfully bypass Protected Mode. I'd say that's a pretty damn good track record for a browser that has been out for about a year and a half and has undoubtedly been targeted by many, many bad guys. (And good guys, for that matter.)
A decent solution (Score:3, Insightful)