Data memory-dependent prefetcher: Difference between revisions

Content deleted Content added
sufficiently nasty to deserve its own article
sp.
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 DMP in Apple's [[Apple M1|M1]] computer architecture was demonstrated to be capable of being used as a [[memory side-channel]] in snan attack published in early 2024. At that time its authors did not know of any practical way to exploit it.<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> The DMP was subsequently discovered to be even more opportunistic than previously thought, and has now been demonstrated to be able to be used to effectively attack a variety of cryptographic algorithms in work called [[GoFetch]] by its authors.<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>
 
[[Intel Core]] processors also have DMP functionality (Intel use the term "Data Dependent Prefetcher") but Intel states that they have features to prevent their DMPs 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" />