Util::Lookup: Exploiting Key Decoding in Cryptographic Libraries

Abstract

Implementations of cryptographic libraries have been scrutinized for secret-dependent execution behavior exploitable by microarchitectural side-channel attacks. To prevent unintended leakages, most libraries moved to constant-time implementations of cryptographic primitives. There have also been efforts to certify libraries for use in sensitive areas, like Microsoft CNG and Botan, with specific attention to leakage behavior.
In this work, we show that a common oversight in these libraries is the existence of utility functions, which handle and thus possibly leak confidential information. We analyze the exploitability of base64 decoding functions across several widely used cryptographic libraries. Base64 decoding is used when loading keys stored in PEM format. We show that these functions by themselves leak sufficient information even if libraries are executed in trusted execution environments. In fact, we show that recent countermeasures to transient execution attacks such as LVI ease the exploitability of the observed faint leakages, allowing us to robustly infer sufficient information about RSA private keys with a single trace. We present a complete attack, including a broad library analysis, a high-resolution last level cache attack on SGX enclaves, and a fully parallelized implementation of the extend-and-prune approach that allows a complete key recovery at medium costs.
OriginalspracheEnglisch
TitelCCS '21: Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security
Herausgeber (Verlag)Association for Computing Machinery
Erscheinungsdatum12.11.2021
Seiten2456–2473
ISBN (elektronisch)978-1-4503-8454-4
DOIs
PublikationsstatusVeröffentlicht - 12.11.2021

Fingerprint

Untersuchen Sie die Forschungsthemen von „Util::Lookup: Exploiting Key Decoding in Cryptographic Libraries“. Zusammen bilden sie einen einzigartigen Fingerprint.

Zitieren