GoFetch is a family of cryptographic attacks on recent
Apple silicon CPUs that exploits the CPU's on-chip
data memory-dependent prefetcher (DMP) to investigate the contents of memory.
Attacks
CPUs affected include the
M1,
M2,
M3 and
A14 series system-on-a-chip processors.
The DMP looks at
cache memory
In computing, a cache ( ) is a hardware or software component that stores data so that future requests for that data can be served faster; the data stored in a cache might be the result of an earlier computation or a copy of data stored elsew ...
content for possible
pointer values, and prefetches the data at those locations into cache if it sees memory access patterns that suggest following those pointers would be useful.
The GoFetch attacks use those speculative cache fetches to undermine a number of different cryptographic algorithms by using memory access timings to exfiltrate data from those algorithms using
timing attack
In cryptography, a timing attack is a side-channel attack in which the attacker attempts to compromise a cryptosystem by analyzing the time taken to execute cryptographic algorithms. Every logical operation in a computer takes time to execute, an ...
s.
The authors of GoFetch state that they were unable to make their exploit work on the Intel
Raptor Lake
Raptor Lake is Intel's List of Intel codenames, codename for the 13th and 14th generations of Intel Core processors based on a Heterogeneous computing, hybrid architecture, utilizing Raptor Cove performance cores and Gracemont (microarchitecture ...
processor they tested due to its more limited DMP functionality.
References
External links
*
{{Hacking in the 2020s
Computer security exploits
2024 in computing
Apple silicon