Researchers Propose Improved Private Web Browsing System
A group of researchers from MIT and Harvard have presented a new system designed to make private browsing even more private. Dubbed Veil, the system proposes additional protections for people who share computers with other people at the office, in hotel business centers, or university computing centers. The new system, the researchers claim, can be used in conjunction with existing private-browsing systems and anonymity networks.
The system works even if users don't visit a page using a browser's native privacy mode. In a paper (PDF) describing Veil, Frank Wang - MIT Computer Science and Artificial Intelligence Laboratory (CSAIL), Nickolai Zeldovich - MIT CSAIL, and James Mickens - Harvard, explain that the system is meant to prevent information leaks "through the file system, the browser cache, the DNS cache, and on-disk reflections of RAM such as the swap file." The researchers explain that existing private-browsing sessions rely on retrieving data, loading it into memory, and attempting to erase it when the session is over.
However, because of a complex memory management process, some data could end up on a hard drive, where it could remain for days, with the browser not knowing what happened to that data. The newly proposed system keeps all the data that the browse loads into memory encrypted until it is displayed on the screen, the researchers say. Users no longer type a URL into the browser, but access the Veil website and enter the URL there.
With the help of a blinding server, the Veil format of the requested page is transmitted. While the Veil page can be displayed in any browser, there is a bit of code in the page that executes a decryption algorithm and all of the data associated with the page is unreadable until it goes through that algorithm, the researchers say. The system would also add decoy, meaningless code to every served page, so that the underlying source file is modified without affecting the way the page looks to the user.
With no two transmissions of a page by the blinding sever similar, an attacker capable of recovering snippets of decrypted code after a Veil session should not be able to determine what page the user had visited. "The blinding servers mutate content, making object fingerprinting more difficult; rewritten pages also automatically encrypt client-side persistent storage, and actively walk the heap to reduce the likelihood that in-memory RAM artifacts will swap to disk in cleartext form. In the extreme, Veil transforms a page into a thin client which does not include any page-specific, greppable RAM artifacts," the paper reads.
One other option would be to have the blinding server opening the requested page itself, taking a picture of it, and sending the picture to the user's computer. Should the user click anywhere on the image, the browser records the position of the click and sends the data to the server, which processes it and returns an image of the updated page. Veil uses an opt-in model, meaning that the use of the new private browsing system requires developers to create Veil versions of their sites.
The result is that Veil pages can safely store encrypted content in the browser cache; furthermore, the URLs exposed to system interfaces like the DNS cache are unintelligible to attackers who do not possess the user's key," the paper reads. The blinding servers, however, require maintenance, either by a network of private volunteers or a for-profit company. However, site admins would also have the option to host Veil-enabled versions of their sites themselves.