A group of researchers at Microsoft has toyed with a radical idea to resolve that trade-off: Throw out the browser with all of its complex Web interfaces and instead create an architecture -- called "Embassies" -- modeled after the virtual servers that power cloud infrastructure. Just as different companies can run their software in different virtual instances on the same physical server, this virtualized architecture would turn a user's computer into a "pico-datacenter," where even untrusted or malicious code can run without harming the other Web applications or the user's data, the Microsoft researchers stated in a paper on the project presented at the USENIX Symposium on Networked System Design and Implementation earlier this month.
"As browsers add increasingly rich APIs to please developers, these complex interfaces bloat the trusted computing base and erode cross-app isolation boundaries," the researchers state, adding: "The current web API is a battle between isolation and richness, and isolation is losing."
Rich content continues to be a major security weakness for Web browsers. Exploiting Java, Flash, and PDF through the plug-ins designed to give browsers the ability to display those formats is becoming commonplace. The Web has become the most popular way to deliver malicious software, with eight of every 10 companies suffering an attack through the Web, according to security firm Webroot.
The problem is a real one, says Anup Ghosh, CEO and co-founder of Invincea, an endpoint protection firm. "We have this thing called the browser, which is a single application, but in this application you have all these rich content types, of which any one of them can blow away the isolation between the browser and the operating system," he says.
Browser makers have attempted to improve the isolation of their software to protect the underlying operating system from exploit and secure the user's data. Both Google Chrome and Microsoft Internet Explorer, starting with version 8, limits each tab to its own operating system process to enhance isolation. And other research efforts have attempted to improved the process isolation of browsers, yet all have been limited by their adherence to the complexity of standard Web APIs, the researchers argue.
[Researchers use data about websites, IP addresses, and domains to detect 99% of malicious executables downloaded by users -- outperforming antivirus and URL-reputation services. See Google Uses Reputation To Detect Malicious Downloads.]
In its latest research effort, Microsoft -- more often noted for its voluminous code -- has taken a minimalist approach with Embassies, providing a simple execution environment, basic features for storing persistent state, and the use of Internet addresses for all external communications with other applications, wrote Jon Howell, Bryan Parmo and John Douceur, the three researchers who penned the Microsoft Research report. The environment encompasses only 30 functions to interact with the client's execution interface, or CEI. In Microsoft's model, displaying content happens through the equivalent of a screencast from the pico-datacenter to the user's screen.
Because of the minimalist nature of the environment, developers would be responsible for importing the necessary code into a developer programming interface (DPI) to support their applications. Because the developers best understand the functionality they need, they can exclude any unnecessary code, thus the code quality should be better, the researchers said. The researchers were not available for an interview.
To demonstrate the capabilities, the Microsoft researchers created three prototype DPIs for the system, building the environment on top of Linux with Gnome or KDE and on top of the Midori browser with Webkit for HTML rendering.
While the Embassies approach isolates each Web service from others running on the user's computer, the requirement that the developer creates his own set of functions for running the apps means greater worries and headaches for content makers, says Michael Sutton, vice president of security researcher for cloud-security firm Zscaler.
"This is pushing security from the browser vendor to the application developer," he says. "You are putting the onus on the app developer to create secure code. What if they still write code with pervasive vulnerabilities? You are putting security in the hands of the app developer, and history suggests that that is not a good idea."
Sutton and Ghosh both stressed that, even if Microsoft could convince others that the idea for a new Web platform has merit, it would take years -- or likely more than a decade -- to transition to the approach.
Have a comment on this story? Please click "Add Your Comment" below. If you'd like to contact Dark Reading's editors directly, send us a message.