A team of researchers at the Worcester Polytechnic Institute (WPI) in Massachusetts has developed a proof-of-concept attack for stealing private RSA cryptographic keys from virtual machines hosted in Amazon’s EC2 cloud infrastructure.
Amazon says customers using current software and following security best practices are not vulnerable to the attack, however. The cloud company describes the attack as a complex one that would only work under certain extremely rare, pre-existing conditions involving outdated third-party software. "Further, a patched version of the open source software targeted by this research (Libgcrypt) is publicly available for Amazon EC2 customers," the company said.
In a paper published by the International Association for Cryptologic Research (IACR), the researchers described a technique for locating the physical machine on which a specific VM might be hosted and then using a rogue machine on the same server to steal the crypto keys.
The attack technique is reminiscent of, and builds off, work done six years ago by researchers at MIT and the University of California at San Diego. In that paper, the researchers showed how an attacker could identify the physical server on which a target virtual machine is located in a public cloud infrastructure and then install a rogue VM on the same server to eavesdrop on it.
The WPI researchers said that many of the vulnerabilities that were exploited by the MIT and UC-San Diego researchers six years ago have been closed. Cloud service providers, hypervisor vendors, providers of crypto libraries, and others have fixed many previously existing security holes through patches, they noted.
"Through combined efforts of all involved parties, the bar for performing successful attacks in the cloud is quickly rising," the researchers acknowledged in their paper.
Even so, it's still possible for attackers to detect when a rogue VM is co-located on the same physical server as a target VM, and then use side-channel attacks to recover the RSA decryption keys from it.
The paper references the use of shared resources such as Last Level Caches (LLCs) to detect instances where a target VM and attack VM are co-located on the same server in a cloud infrastructure like Amazon's.
Their method is based on a previously used technique called "prime and probe," involving the use of shared memory caches for establishing communications between VMs on the same physical server. While the hypervisor typically prevents VMs from directly reading the memory of another VM, the Last Level Cache can provide indirect information on another VMs memory usage. The WPI researchers essentially took advantage of this technique to device a new way for extracting RSA keys from a target VM.
"The main takeaway is that these micro-architectural leakages do not only exist, but may be exploited even in the rather noisy environment of public clouds," Thomas Eisenbarth, assistant professor at WPI’s department of electrical and computer engineering, told Dark Reading.
But enterprises that are careful about their software choices should be well-protected. "For example, the most recent versions of OpenSSL and Libgcrypt are designed in such a way that the exploited leakages do no longer occur," he says. "Crypto keys are still safe if users follow security best practices and stick to well-maintained fully-patched crypto libraries."
Yehuda Lindell, chief scientist and co-founder of encryption technology vendor Dyadic says the proof-of-concept developed by the WPI researchers shows how side-channel attacks make it possible for one process to steal a secret key held by another process.
"In order to carry out such an attack in the cloud, you first need to know that you are co-located on the same physical machine as a VM with the target application," Lindell says. "This paper shows new ways of detecting collocation, and then methods for stealing the key using the side channels."