MemJam: A False Dependency Attack against Constant-Time Crypto Implementations
Ahmad Moghimi, Thomas Eisenbarth, Berk Sunar

TL;DR
MemJam introduces a novel side-channel attack exploiting false dependencies in memory read-after-write operations, successfully breaking constant-time cryptographic implementations and bypassing existing protections across modern Intel processors, including SGX enclaves.
Contribution
This work presents the first intra cache level timing attack applicable to all major Intel processors, demonstrating key recovery on constant-time AES and SM4 implementations, and bypassing existing protections.
Findings
Successfully recovered AES keys from constant-time implementations.
Demonstrated attack on SGX enclave encryption.
Outperformed CacheBleed by targeting newer processors.
Abstract
Cache attacks exploit memory access patterns of cryptographic implementations. Constant-Time implementation techniques have become an indispensable tool in fighting cache timing attacks. These techniques engineer the memory accesses of cryptographic operations to follow a uniform key independent pattern. However, the constant-time behavior is dependent on the underlying architecture, which can be highly complex and often incorporates unpublished features. CacheBleed attack targets cache bank conflicts and thereby invalidates the assumption that microarchitectural side-channel adversaries can only observe memory with cache line granularity. In this work, we propose MemJam, a side-channel attack that exploits false dependency of memory read-after-write and provides a high quality intra cache level timing channel. As a proof of concept, we demonstrate the first key recovery attacks on a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
