Removed URL that duplicated identifier. Removed parameters. | Use this bot. Report bugs. | Suggested by Headbomb | Linked from Wikipedia:WikiProject_Academic_Journals/Journals_cited_by_Wikipedia/Sandbox | #UCB_webform_linked 601/1032
(15 intermediate revisions by 6 users not shown)
Line 1:
{{Short description|CPU architecture component}}
A '''data memory-dependent prefetcher''' ('''DMP''') is a [[Prefetching (computing)|memorycache prefetcher]] that looks at [[Cache (computing)|cache memory]] content for possible [[Pointer (computer programming)|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.<ref name=":0">{{Cite web |date=2022-05-02 |title=Augury: Using Data Memory-Dependent Prefetchers to Leak Data at Rest |url=httphttps://www.prefetchers.info/ |access-date=2024-03-2130 |website=www.prefetchers.info}}</ref><ref>{{Cite journalconference |lastlast1=Vicarte |firstfirst1=Jose Rodrigo Sanchez |last2=Flanders |first2=Michael |last3=Paccagnella |first3=Riccardo |last4=Garrett-Grossman |first4=Grant |last5=Morrison |first5=Adam |last6=Fletcher |first6=Christopher W. |last7=Kohlbrenner |first7=David |date=May 2022 |title=Augury: Using Data Memory-Dependent Prefetchers to Leak Data at Rest |conference=2022 IEEE Symposium on Security and Privacy (SP) |conference-url=https://ieeexplore.ieee.org/documentxpl/9833570conhome/9833550/proceeding |___location=San Francisco, CA, USA |publisher=IEEE |pages=1491–1505 |doi=10.1109/SP46214.2022.9833570 |isbn=978-1-6654-1316-9}}</ref>
As of 2022, data prefetching was already a common feature in CPUs,<ref>{{Citationcite arXiv |lastlast1=Bakhshalipour |firstfirst1=Mohammad |title=A Survey on Recent Hardware Data Prefetching Approaches with An Emphasis on Servers |date=2020-09-01 |urleprint=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|class=cs.AR }}</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 prefetcherDMP in Apple's [[Apple M1|M1]] computer architecture was demonstrated to be capable of being used as a [[Side-channel attack|memory side-channel]] in workan firstattack reportedpublished 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> AThe cryptographicDMP keywas extractionsubsequently attack,discovered namedto GoFetchbe byeven itsmore authorsopportunistic than previously thought, and has now been demonstrated usingto thisbe vulnerabilityable 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>
Some [[Intel Core]] CPUsprocessors featurealso whathave DMP functionality (Intel callsuse the term "Data Dependent Prefetcher" functionality which appears to be similar, ) but Intel states that they have features to prevent themtheir 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" />