TY - GEN
T1 - Spectre without shared memory
AU - Amos, Ben
AU - Gilboa, Niv
AU - Levy, Arbel
N1 - Publisher Copyright:
© 2019 Association for Computing Machinery.
PY - 2019/1/1
Y1 - 2019/1/1
N2 - The Spectre attack by Kocher et al. [11] reads arbitrary data from colocated processes by exploiting two common features of modern processors: speculative execution and shared caches. While theoretically the attack works in many different settings, the current variations all require that the attacker share with the target a memory region that includes vulnerable code which accepts input from the attacker. Motivated by the common practice in cloud computing of not allowing shared memory between different users, we construct the first Spectre type attack in which the target and the attacker do not share any memory pages. The target is a server and the attacker is colocated with the target, shares a Last-Level Cache with it and provides input to the target as a typical client over TCP. We develop new techniques for the attack including accurate location of the target's code and data in the shared cache, noise suppression enabling reliable retrieval of the target's data and optimizations speeding up the retrieval process. An indispensable tool in the retrieval process is a careful comparison of cache activity between two scenarios: the attacker sending as input an address of interest x and the attacker sending a different address x′. The comparison enables extraction of a single memory byte from the target. We report on a Proof-of-Concept implementation of our attack and on tests on two Intel multi-core platforms with inclusive Last-Level Caches and speculative execution. The tests ran in two virtualization settings, Virtual Machines and Linux containers and in two profiles of cache activity, relative inactivity and very high activity. The setup phase in which the attacker locates the target's data in the cache requires on the order of several minutes to several tens of minutes. The attack successfully extracts the data with probability per byte between 0.91 to 0.99 and rate ranging from 0.4 to 10 bytes per second.
AB - The Spectre attack by Kocher et al. [11] reads arbitrary data from colocated processes by exploiting two common features of modern processors: speculative execution and shared caches. While theoretically the attack works in many different settings, the current variations all require that the attacker share with the target a memory region that includes vulnerable code which accepts input from the attacker. Motivated by the common practice in cloud computing of not allowing shared memory between different users, we construct the first Spectre type attack in which the target and the attacker do not share any memory pages. The target is a server and the attacker is colocated with the target, shares a Last-Level Cache with it and provides input to the target as a typical client over TCP. We develop new techniques for the attack including accurate location of the target's code and data in the shared cache, noise suppression enabling reliable retrieval of the target's data and optimizations speeding up the retrieval process. An indispensable tool in the retrieval process is a careful comparison of cache activity between two scenarios: the attacker sending as input an address of interest x and the attacker sending a different address x′. The comparison enables extraction of a single memory byte from the target. We report on a Proof-of-Concept implementation of our attack and on tests on two Intel multi-core platforms with inclusive Last-Level Caches and speculative execution. The tests ran in two virtualization settings, Virtual Machines and Linux containers and in two profiles of cache activity, relative inactivity and very high activity. The setup phase in which the attacker locates the target's data in the cache requires on the order of several minutes to several tens of minutes. The attack successfully extracts the data with probability per byte between 0.91 to 0.99 and rate ranging from 0.4 to 10 bytes per second.
KW - Cross-VM side channel
KW - Last-level cache
KW - Side-channel attack
KW - Speculative execution
UR - http://www.scopus.com/inward/record.url?scp=85065649835&partnerID=8YFLogxK
U2 - 10.1145/3297280.3297470
DO - 10.1145/3297280.3297470
M3 - Conference contribution
AN - SCOPUS:85065649835
SN - 9781450359337
T3 - Proceedings of the ACM Symposium on Applied Computing
SP - 1944
EP - 1951
BT - Proceedings of the ACM Symposium on Applied Computing
PB - Association for Computing Machinery
T2 - 34th Annual ACM Symposium on Applied Computing, SAC 2019
Y2 - 8 April 2019 through 12 April 2019
ER -