Data memory-dependent prefetcher: Difference between revisions

Content deleted Content added
add GoFetch to this
OK, one more thing
Line 4:
As of 2022, data prefetching was already a common feature in CPUs,<ref>{{Citation |last=Bakhshalipour |first=Mohammad |title=A Survey on Recent Hardware Data Prefetching Approaches with An Emphasis on Servers |date=2020-09-01 |url=http://arxiv.org/abs/2009.00715 |access-date=2024-03-21 |doi=10.48550/arXiv.2009.00715 |last2=Shakerinava |first2=Mehran |last3=Golshan |first3=Fatemeh |last4=Ansari |first4=Ali |last5=Lotfi-Karman |first5=Pejman |last6=Sarbazi-Azad |first6=Hamid}}</ref> but most prefetchers do not inspect the data within the cache for pointers, instead working by monitoring memory access patterns. Data memory-dependent prefetchers take this one step further.
 
The data memory-dependent prefetcher in Apple's [[Apple M1|M1]] computer architecture was demonstrated to be capable of being used as a [[memory side-channel]] in work first reported in 2024.<ref>{{Cite web |last=Goodin |first=Dan |date=2024-03-21 |title=Unpatchable vulnerability in Apple chip leaks secret encryption keys |url=https://arstechnica.com/security/2024/03/hackers-can-extract-secret-encryption-keys-from-apples-mac-chips/ |access-date=2024-03-21 |website=Ars Technica |language=en-us}}</ref> A cryptographic key extraction attack, named GoFetch by its authors, has been demonstrated using this vulnerability.<ref>{{Cite web |date=2024-03-21 |title=Apple Silicon chip flaw can leak encryption keys, say researchers |url=https://appleinsider.com/articles/24/03/21/apple-silicon-vulnerability-leaks-encryption-keys-and-cant-be-patched-easily |access-date=2024-03-22 |website=AppleInsider |language=en}}</ref><ref name=":1">{{Cite web |title=GoFetch: Breaking Constant-Time Cryptographic Implementations Using Data Memory-Dependent Prefetchers |url=https://gofetch.fail/ |access-date=2024-03-22 |website=gofetch.fail |language=en}}</ref>
 
Some [[Intel Core]] CPUs feature what Intel calls "Data Dependent Prefetcher" functionality which appears to be similar, but Intel states that they have features to prevent them being used for side-channel attacks.<ref>{{Cite web |title=Data Dependent Prefetcher |url=https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/data-dependent-prefetcher.html |access-date=2024-03-21 |website=Intel |language=en}}</ref> The authors of GoFetch state that they were unable to make their exploit work on Intel processors.<ref name=":1" />
 
== References ==