Microsoft researchers are developing a new Web browser that they say could offer a far greater degree of security than Google's Chrome, Mozilla's Firefox or Microsoft's own Internet Explorer.
The browser, called Gazelle, relies on 5,000 lines of C# code called a "browser kernel" that helps enforce security rules to prevent malicious access to the PC's underlying operating system, according to a recently publishedpaper.
So far, Gazelle is just a prototype, with other parts of the browser based on Microsoft's IE. Due to the complex nature of the way it processes Web pages for better security, the browser's performance is more tortoise than gazelle, but the researchers think a few tweaks can make it faster.
Gazelle is different from some other browsers in that it considers each part of a Web site - such as iframes, subframes and plugins - as separate elements. Some of those elements can pull in malicious content from other Web sites. Google's Chrome runs a Web page and its elements in a single process.
The Microsoft researchers argues that their approach brings more reliability and better security since processes can't interact with the underlying system and are mediated by system calls supplied by the browser kernel.
In the paper, the Microsoft researchers are surprisingly critical of the company's forthcoming Web browser, IE8, which uses an approach similar to Chrome by using tabs to isolate processes.
"This granularity is insufficient since a user may browse multiple mutually distrusting sites in a single tab, and a web page may contain an iframe with content from an untrusted site (e.g., ads)," the paper reads.
Gazelle goes so far as to separate elements of a Web page that come from the same registrar-controlled domain. For example, content from ad.datacenter.com and user.datacenter.com would be considered separate, whereas Chrome "puts them into the same site instance," the paper said.
Blocking race condition attacksAnother interesting feature of Gazelle is aimed at blocking so-called race condition attacks. In that scenario, an attacker creates a Web page aimed at making a user click on an area of the page. But just before the predicted click happens, an overlay is drawn into the page, which could cause a user to be attacked.
Gazelle will ignore any clicks in newly exposed screen areas for about one second until a user can see the new screen areas.
Gazelle also aims to limit the dangers posed by programming flaws in browser plugins. Plugins are small bits of code that enable other programs to run within a browser, but they've also been known to contain vulnerabilities that can allow a PC to be hacked.
In Gazelle, the plugins are sandboxed, or isolated from the rest of the system, so that a bad plugin would only affect the particular Web page's plugin process and not the whole PC.
But one huge problem with Gazelle's approach is that existing plugin code would have to be rewritten or ported to interact with Gazelle's browser kernel system calls. That's difficult since plugins are written by a wide variety of software vendors whose development schedules don't necessarily work in perfect sync with those of browser developers.
Other parts of Gazelle borrow from IE code not related to security. For example, the researchers said they didn't want to write a new HTML parser, so they used IE7's Trident renderer and JavaScript engine.
In compatibility tests, Gazelle correctly rendered 19 of the top 20 sites ranked by Web survey firm Alexa.
The paper warns that the new security of Gazelle does introduce "performance overhead" - especially for sites such as the New York Times Web site - but further work should be able to make it faster.
Macworld and Truphone have a brand new MacBook to give away. //www.macworld.co.uk/promotions/ "title="Macworld and Truphone MacBook Competition">Click here to be in with a chance of winning.
Be the first to hear about the latest Mac news with
British singer M.I.A. gives birth to boy
(Reuters)
With acquisition Websense to silence blog comment spam
RIM releases patch for buggy BlackBerry ActiveX control