Data memory-dependent prefetcher: Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Add: arxiv, authors 1-1. Removed parameters. Some additions/deletions were parameter name changes. | Use this bot. Report bugs. | Suggested by Headbomb | Linked from Wikipedia:WikiProject_Academic_Journals/Journals_cited_by_Wikipedia/Sandbox | #UCB_webform_linked 9/59
Citation bot (talk | contribs)
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
 
(3 intermediate revisions by 3 users not shown)
Line 1:
{{Short description|CPU architecture component}}
A '''data memory-dependent prefetcher''' ('''DMP''') is a [[Prefetching (computing)|cache 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=https://www.prefetchers.info/ |access-date=2024-03-30 |website=www.prefetchers.info}}</ref><ref>{{Cite conference |last1=Vicarte |first1=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 |url=https://ieeexplore.ieee.org/document/9833570 |conference=2022 IEEE Symposium on Security and Privacy (SP) |conference-url=https://ieeexplore.ieee.org/xpl/conhome/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 |last1=Bakhshalipour |first1=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 |arxiveprint=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 DMP 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 an 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>