Translation Leak-aside Buffer: Defeating Cache Side-channel Protections with TLB Attacks presented at 27thUsenixSecuritySymposium 2018

by Kaveh Razavi, Ben Gras, Herbert Giuffrida,

URL : https://www.usenix.org/conference/usenixsecurity18/presentation/gras

Summary : To stop side channel attacks on CPU caches that have allowed attackers to leak secret information and break basic security mechanisms, the security community has developed a variety of powerful defenses that effectively isolate the security domains. Of course, other shared hardware resources exist, but the assumption is that unlike cache side channels, any channel offered by these resources is insufficiently reliable and too coarse-grained to leak general-purpose information.This is no longer true. In this paper, we revisit this assumption and show for the first time that hardware translation lookaside buffers (TLBs) can be abused to leak fine-grained information about a victim’s activity even when CPU cache activity is guarded by state-of-the-art cache side-channel protections, such as CAT and TSX. However, exploiting the TLB channel is challenging, due to unknown addressing functions inside the TLB and the attacker’s limited monitoring capabilities which, at best, cover only the victim’s coarse-grained data accesses. To address the former, we reverse engineer the previously unknown addressing function in recent Intel processors.To address the latter, we introduce a new analysis technique that exploits temporal information about a victim’s memory activity rather than relying on commonly-used spatial information exploited by existing cache attacks. Our prototype implementation, TLBleed, can leak a 256-bit EdDSA secret key from a single capture after 17 seconds of computation time with a 98% success rate, even in presence of state-of-the-art cache isolation. Similarly, using a single capture, TLBleed reconstructs 92% of RSA keys from an implementation that is hardened against FLUSH + RELOAD attacks.