Researchers manage to recover encryption keys from Qualcomm socs
Security researchers have discovered a vulnerability in Qualcomm chipsets that make it possible to eavesdrop on private data and encryption keys from the device. The bug is in millions of Android devices, but a patch is now available.
The bug resides in the Qualcomm Secure Execution Environment or QSEE, a hardware locked part of a chipset where cryptographic keys can be stored securely. The QSEE is a Trusted Execution Environment, a part of the chips that should be completely separate from the rest of the chipset. The feature is typically used to securely store passwords without being accessed by the rest of Android. The leak is in at least 37 socs, including those from the widely used Snapdragon 200-400-600-700-800 series.
According to Keegan Ryan, a security researcher at the NCC Group, many Qualcomm chips leak small amounts of data out through the memory cache. By analyzing it, he can read the keys from the QSEE. He used a tool that could read the cache in fourteen hours. An attacker does not need physical access to the phone to perform the hack, but does need root access. According to Ryan, that can be arranged with malware. The researcher took action and showed how the hack can be exploited in real life by extracting a P-256 key from a Nexus 5X.
It is not the first time that a bug has been found in QSEE. In 2016, a security researcher managed to exploit the system to bypass Android’s disk encryption. Qualcomm is aware of the new leak and has since released a patch. This has been implemented in the April update of Android. Manufacturers still have to transfer these to the relevant phones themselves.
Full details of the vulnerability are described in the paper Hardware-BackedHeist: ExtractingECDSAKeys from Qualcomm’s TrustZone.