Virtualization may provide logical barriers that protect systems running on the same server, but such architectural protections are not foolproof, according to an academic research paper.
The finding serves as a lesson for cloud providers and enterprises that rely on virtual infrastructure that they should not assume that virtual machines are logically isolated and unable to spy on each other.
In a paper presented in October, a group of academic and industry researchers described an attack that can reconstruct private encryption keys being used in another virtual machine on the same processor.
The technique exploits a vulnerability in the way a popular encryption library leaks information about the value of the keys being processed and can turn a decryption task of astronomical complexity into a trivial problem requiring a few hours or days to solve.
While the technique, known as a side-channel attack, requires the attacker to obtain a virtual machine running on the same processor as the targeted virtual system, that is easier than hacking the target.
"Any type of user can launch a virtual machine in the cloud," said Yinqian Zhang, a PhD student in computer science at the University of North Carolina, Chapel Hill, and a co-author of the paper. "So you don't need to compromise any system, you just have to use your credit card to launch a virtual machine and steal the keys in other virtual machines."
The paper, presented at the ACM Conference on Computer and Communications Security by researchers from the UNC Chapel Hill, RSA Laboratories and the University of Wisconsin at Madison, showed how information from the activities of one virtual machine can be leaked to another machine running on the same system and processor. The researchers used inter-process interrupts to repeatedly gain control of the processor and measure attributes from which information could be gleaned about the targeted values.
Using the attack to monitor a few hours of cryptographic calculations in the target virtual machine gave the researchers enough information to reconstruct the victim's 457-bit private key with enough accuracy to reduce the number of possible keys to fewer than 10,000.
"With the private key, you can impersonate the server itself," Zhang said. "In the research community, this type of crypto-key attack is more serious than password theft, because this crypto key is much stronger and is the root of security for the server."
Side-channel attacks, popular among experts that break the security of smart cards, fall into three categories: timing attacks that divine information about the content of a cryptographic operation by focusing on the length of time taken by the calculations; trace-driven attacks that focus on some attribute of the processor, such as energy consumption, that may change with the values being processed; and access-driven attacks that focus on changes in a shared hardware component.
The side-channel attack presented at the conference is an access-driven attack, using information from the processor caches to observe the target VM's activities.
Hardening virtual machines against the attack requires that cloud providers use host operating systems and encryption software that minimize the amount of information leaked between processes. In addition, the latest version of the Xen hypervisor, the virtual machine software studied by the attacker, has a schedule that makes observing side-channel information much more difficult.
"The new design in the Xen hypervisor is not because they know there is a security problem—they don't—but to improve performance," Zhang said.