BETA
This is a BETA experience. You may opt-out by clicking here

More From Forbes

Edit Story

New Browser Hack Can Spy On Eight Out Of Ten PCs

This article is more than 8 years old.

A group of Columbia University security researchers have uncovered a new and insidious way for a hacker to spy on a computer, Web app or virtual machine running in the cloud without being detected. Any computer running a late-model Intel microprocessor and a Web browser using HTML5 (i.e., 80% of all PCs in the world) is vulnerable to this attack.

The exploit, which the researchers are calling “the spy in the sandbox,” requires little in the way of cost or time on the part of the attacker; there’s nothing to install and no need to break into hardened systems. All a hacker has to do is lure a victim to an untrusted web page with content controlled by the attacker. Once there, the software inside the bogus content launches a program that  manipulates how data moves in and out of a victim PC’s cache, which is the part of the CPU that serves as the intermediary between the high-speed central processor and the lower-speed random access memory or RAM.

The exploit then records the time it takes for the victim’s PC to run various operations in the cache memory, using the browser’s own high-resolution timers (we’re talking nanoseconds here). By studying the time it takes for memory access to take place, the hacker can get an accurate picture about a user’s browser history, keystrokes and mouse movements. The attack is more for spying than theft: it doesn’t steal any data or passwords or corrupt the victim’s machine.

The “spy in the sandbox” is what’s known as a side-channel attack, which is one of the older tricks in the hacker’s black bag. Such an attack usually involves interpreting what’s going inside a computer guts by measuring physical outputs such as sound, electromagnetic radiation or power consumption. In the 1980s, Soviet spies reportedly were suspected of having planted tiny microphones inside IBM Selectric typewriters to record the striking of the type ball as it hit paper to determine which key was pressed. Other old-school side-channel hacks include filming and analyzing the blinking lights on old modems or external hard drives. Bad guys have since used side-channel attacks to steal pay TV streams and cars and break into phones.

Modern-day side-channel attacks now take the form of reading the activity of processors, memory or networking ports. The recent and massive shift of computing to cloud services such as Amazon EC2 or Microsoft Azure initially raised fears that hackers would be able to spy among virtual machines shared on the same servers (which is how clouds get their cost efficiencies), but apart from research done in 2009 showing that it is hypothetically possible for one virtual machine to spy on another by studying how it uses computing cycles, so far there haven’t been any publicly confirmed side-channel attacks by bad guys in the cloud. Amazon tried to downplay the 2009 report by researchers at MIT and UC-San Diego.

While it’s difficult to launch a side-channel attacks in a secured cloud, it would be far easier on the open web. A handful of security researchers have already proven various techniques, a recent one of which used a radio receiver to steal cryptographic keys from a computer sitting a few feet away. Yuval Yarom, a researcher from the University of Adelaide, Australia, last year presented a way to use a cache memory side-channel attack to steal a victim’s Bitcoin secret key after observing about 25 Bitcoin transactions.

The Columbia researchers, Yossef Oren, Vasileios Kemerlis, Simha Sethumadhavan and Angelos Keromytis, used the same technical method as Yarom but focused on how such an attack could be built into a simple Web page to hit the most amount of users as possible—without being detected.

The Columbia researchers created this exploit to prove it could work and shed some light on vulnerabilities in common browser and cache memory architecture. In doing so, they point to a couple of ways to thwart the attack. One would be to restrict access to the high-resolution timer to only those applications that gain the user’s consent by displaying a confirmation pop-up dialog box or that have been approved by an app store. Another way would be to use separate Javascript software that would analyze how memory is being accessed to spot telltale spying behavior and modifying a response by, for example, jittering the high-resolution timer or dynamically moving arrays around in memory.

You can read their entire paper here.