Security researchers in Israel recently published research on a hardware-based attack on smartphones that can obtain the cryptographic keys used by OpenSSL to protect high-value assets used by the device. Both Android and older iOS systems are vulnerable to this exploit.
While listening to the electromagnetic radiation patterns of PCs has long been known as a potential vulnerability, this is the first time such an approach has been implemented for smartphones. In this exploit, an attacker can measure electromagnetic radiation and power consumption in a phone using an inexpensive magnetic probe or makeshift USB reader. These readings fluctuate in ways that depend on key information.
How It Works
The algorithm under attack is called the Elliptic Curve Digital Signature Algorithm (ECDSA), a digital signature algorithm used in many applications.
The technique involves signal processing and a lattice-based algorithm for recovering the secret signing key. The lattice aggregates partial information discovered from a few thousand randomized signing operations.
What Systems Are Vulnerable?
Researchers reported that several systems are vulnerable to these OpenSSL attacks. For example, OpenSSL 1.0.x is vulnerable except when the library uses an alternative implementation for some elliptic curves. OpenSSL 1.1.x is also vulnerable with minor exceptions.
OpenSSL’s developers told researchers that “hardware side-channel attacks are not in OpenSSL’s threat model,” so no updates are planned to mitigate the attacks. This could be a major problem for the crypto library since it is so widely used.
But it’s not only OpenSSL that has problems: Researchers found that iOS 7.1.2-8 is vulnerable. However, iOS 9.x has a different crypto mechanism and shows no sign of the vulnerability.
CoreBitcoin is also vulnerable. When contacted by the researchers before the paper was made public, the developers expressed their intention to switch to the more secure library in the future. As an alternative, the latest version of Bitcoin Core, which was released in February 2015, is not vulnerable.
While this particular research did not extend its testing to Android, other independent works have. A recent paper and RSA Conference presentation disclosed that Android’s version of BouncyCastle is vulnerable.
OpenSSL Key Protection
The major takeaway here is to be aware that this attack, whether done by a magnetic loop or a USB device, is possible. While proximity is required for it to succeed, the range may be extended with sensitive equipment. Knowing that such an exploit is possible may just be enough to avoid the situations that enable it.