In Learning Tree’s Cloud Security Essentials course we talk some about how security is difficult. Yes, there are issues of secure software implementation (the Heartbleed bug, for example) and cautious configuration, but the first step is designing a system that has a chance of being secure.
As Ross Anderson explains in his textbook “Security Engineering” (available for free download!), so many designs fail because they secure the wrong things, or they attempt to secure the right things but in the wrong way.
Side-channel attacks target systems where the obvious interface for the intended users does force the good guys to interact with the system in carefully controlled ways. But we’re not really concerned about the trusted intended users, we want to keep the intruders out! The side channels are like back doors propped open on a building. Information leaks out and intruders sneak in.
There are many ways that low-level noise can leak sensitive data, and this is nothing new. NSA publication “Learning From The Enemy: The GUNMAN Project” describes how the Soviet Union bugged IBM Selectric typewriters in the U.S. Embassy in Moscow in the early 1980s. The bugs captured electromagnetic signatures of print ball movements. The bugging was detected and the typewriters replaced in 1984. CBS television news reported the story in 1985.
The latest attention-getting side-channel attack was reported by researchers at Tel Aviv University who have previously extracted cryptographic keys by measuring electromagnetic emanations (that is, low-frequency through radio-frequency noise), variations in a laptop’s electrical power consumption, CPU cache timing analysis to attack cryptographic processes running on the same system, and analysis of high-frequency acoustical noise emitted by the processors.
Their latest work, with an overview here and a detailed paper here, steals 4096-bit RSA and 3072-bit El Gamal keys by observing ground voltage fluctuations (that’s “earth” in Britain). They touched the target system with a bare hand and measured signals at the far end of Ethernet, VGA, and USB cables.
All this seems rather grim and hopeless. Is there some lesson here about how to secure our systems? I think so!First, these side-channel mechanisms can be rather subtle. See NIST’s report “A Cautionary Note Regarding Evaluation of AES Candidates on Smart-Cards” on timing and power consumption attacks against smart-card cryptography for an example. That just emphasizes the importance of using carefully tested open-source implementations. If I try re-inventing some wheel, who knows what subtle side channel I may leave open.
Second, these side-channel attacks largely require physical access or at least proximity. Here’s a case where cloud computing has a significant advantage!
If my processing is happening in a cloud provider’s data center, physical access is strictly limited. What’s more, my virtualized server will be sharing a physical platform with many unrelated fellow customers, meaning that my signals and activity will be buried deep beneath their noise. The more noisy neighbors, the better!
Absolute security is impossible. Increasingly better security becomes impractically expensive. When used carefully, cloud computing seems to have a very good security/price ratio.