Why Cloud Computing Needs More Chaos

Why Cloud Computing Needs More Chaos

Forbes, Andy Greenberg, July 30, 2009
 
Researchers say cloud setups might be lacking an important resource: randomness. Cloud computing, that much-hyped trend toward storing information in off-site data centers, in some ways breaks the long-held order of data privacy. Some CIOs hesitate to blur the line that separates closely-guarded data with information that’s shared with partners. But one group of researchers has brought to light a stranger problem that could undermine cloud computing’s cybersecurity: It’s not chaotic enough In a presentation Thursday at the Black Hat cybersecurity conference in Las Vegas, iSec Partners researcher Alex Stamos pointed to what he described as a fundamental problem with cloud computing setups that use virtualization software to partition servers into “images,” which are then rented out to customers. Although packing those virtual machines into cloud providers’ data centers provides a more flexible and efficient setup than traditional servers, Stamos, along with fellow presenters Andrew Becherer and Nathan Wilcox, argued that virtual machines suffer from a rarely discussed flaw: They don’t always have enough access to the random numbers needed to properly encrypt data. That unlikely problem hits at one of the fundamental problems of cryptography: How do computers produce truly random numbers that can’t be guessed or replicated? In PCs, Stamos explained, operating system software typically monitors users’ mouse movements and key strokes to glean random bits of data that are collected in a so-called “entropy pool,” a set of unpredictable numbers that encryption software automatically pulls from to generate random encryption passkeys. In servers, which don’t have access to a keyboard or mouse, random numbers are also pulled from the unpredictable movements of the computer’s hard drive. Virtual machines, which perform like physical machines but are simulated with software, have fewer sources of entropy: Linux-based virtual machines, for instance, gather random numbers only from the exact millisecond time on their internal clocks. And that source isn’t enough to generate strong keys for encryption, Stamos argues. “Normally there’s enough variation that after a while your operating system can gather up the entropy it needs to provide you with secure random numbers,” he says. “The fundamental issue is that with virtualized hardware, many of those random variations don’t exist.” The problem is compounded by the fact that virtual machines are often created for short periods to serve a single function–not long enough to develop a sufficiently unique entropy pool, Stamos says. If a malicious hacker were to set up his or her own Linux virtual machine in Amazon’s EC2 cloud service, for example, he or she could use that machine’s entropy pool to better guess at the entropy pools of other recently created Linux-based virtual servers in Amazon’s cloud, Stamos posits. That advantage would allow the hacker to crack the machines’ encryption many millions of millions of times faster than in a non-cloud setup, potentially breaking the safeguards that prevent attackers from accessing the server’s data or snooping on Web browsing sessions hosted on that machine. “It doesn’t matter how strong the encryption is if the bad guy can guess at the numbers used to generate the key,” he says. Still, access to entropy pools doesn’t necessarily mean a system’s encryption can be broken, given that encryption using keys that are thousands of bits long would theoretically take enormous amounts of time to crack–in some cases, longer than the lifetime of the universe. Stamos doesn’t claim that his team’s entropy problem necessarily poses an immediate threat to cloud computing, but it does point to a potential vulnerability that calls for more research. “It’s certainly not a slam dunk,” says Stamos. “But we do think that you could potentially reduce the complexity enough that the encryption can be broken by a determined hacker.” The researchers’ Black Hat presentation wasn’t solely focused on using the entropy problem to break into cloud computing setups. The team discussed a wide variety of other security problems with off-site hosting of data and applications ranging. Those problems ranged from the murky legal situation surrounding data stored by hosts like Google ( GOOG – news – people ) or Amazon to the lack of forensics cloud vendors offer after a data breach, to the sloppy password practices that led to Twitter’s security meltdown earlier this month. Many of those practical problems, Stamos admits, are far more serious than cloud computing’s entropy issues. Still, the idea of predicting supposedly random numbers to crack encryption is more than mere speculation. The trick was first demonstrated thirteen years ago by University of California, Berkeley, Ph.D. students David Wagner and Ian Goldberg. The two computer science researchers found that the Netscape Web browser used only a computer’s clock time to generate encryption keys, a method that they could use to replicate those passcodes. That method allowed the students to break the encryption protecting e-commerce or other supposedly-secure sites visited via Netscape’s browser. Wagner, now a professor at Berkeley, says it’s still too early to know whether the entropy hacking method discussed by Stamos’ team could pose a real problem for cloud computing. “This falls somewhere between a very big deal and irrelevant,” says Wagner. But he says that the team’s research at least shows that cloud computing and virtualization still present security problems that aren’t being widely considered. “Random-number generation was viewed as a largely solved problem, but new technologies have changed the game,” he says. “This is a new area where we have to change the way we think about a lot of things.”