Data memory-dependent prefetcher: Difference between revisions

Content deleted Content added
more
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
 
(24 intermediate revisions by 7 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-05 |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>{{cite arXiv |last1=Bakhshalipour |first1=Mohammad |title=A Survey on Recent Hardware Data Prefetching Approaches with An Emphasis on Servers |date=2020-09-01 |eprint=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 [[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>
 
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>
 
[[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" />
 
== References ==
{{reflist}}
 
[[Category:Digital circuits]]
[[Category:Computer architecture]]
 
 
{{computing-stub}}
{{Uncategorized stub|date=March 2024}}