
अनुमानित लोड खतरे Rowhammer और कैश हमलों को बढ़ावा देते हैं - CVE-2019-0162 -
https://www.usenix.org/system/files/sec19-islam.pdf
@inproceedings {236252,
author = {Saad Islam and Ahmad Moghimi and Ida Bruhns and Moritz Krebbel and Berk Gulmezoglu and Thomas Eisenbarth and Berk Sunar},
title = {{SPOILER}: Speculative Load Hazards Boost Rowhammer and Cache Attacks},
booktitle = {28th {USENIX} Security Symposium ({USENIX} Security 19)},
year = {2019},
isbn = {978-1-939133-06-9},
address = {Santa Clara, CA},
pages = {621--637},
url = {https://www.usenix.org/conference/usenixsecurity19/presentation/islam},
publisher = {{USENIX} Association},
month = aug,
}
Saad Islam और Ahmad Moghimi, Worcester Polytechnic Institute; Ida Bruhns और Moritz Krebbel, University of Luebeck; Berk Gulmezoglu, Worcester Polytechnic Institute; Thomas Eisenbarth, Worcester Polytechnic Institute और University of Luebeck; Berk Sunar, Worcester Polytechnic Institute
आधुनिक माइक्रोआर्किटेक्चर मेमोरी बाधा को सुधारने के लिए अनुमानित लोड और स्टोर फॉरवर्डिंग जैसी अनुकूलन तकनीकों को शामिल करते हैं। प्रोसेसर स्टोर से पहले अनुमानित रूप से लोड को निष्पादित करता है, और यदि कोई संभावित निर्भरता है तो पिछले स्टोर के डेटा को लोड पर अग्रेषित करता है। इससे प्रदर्शन बढ़ता है क्योंकि लोड को पिछले स्टोर के पूरा होने की प्रतीक्षा नहीं करनी पड़ती। हालाँकि, निर्भरता की भविष्यवाणी आंशिक पता जानकारी पर निर्भर करती है, जो गलत निर्भरताओं और ठहराव के खतरों का कारण बन सकती है।
इस कार्य में, हम पहले बार दिखाते हैं कि अनुमानित लोड की सेवा करने वाले निर्भरता समाधान तर्क का उपयोग भौतिक पृष्ठ मैपिंग के बारे में जानकारी प्राप्त करने के लिए किया जा सकता है। Rowhammer जैसे माइक्रोआर्किटेक्चरल साइड-चैनल हमले और Prime+Probe जैसे कैश हमले वर्चुअल-टू-फिजिकल एड्रेस मैपिंग के रिवर्स इंजीनियरिंग पर निर्भर करते हैं। हम SPOILER हमले का प्रस्ताव करते हैं जो इस लीकेज का शोषण करके इस रिवर्स इंजीनियरिंग को 256 गुना तक तेज करता है। फिर, हम दिखाते हैं कि यह Prime+Probe हमले में इविक्शन सेट खोज को 4096 गुना तक कैसे तेज कर सकता है, यहाँ तक कि JavaScript जैसे सैंडबॉक्स किए गए वातावरण से भी। अंत में, हम Rowhammer हमले में सुधार करते हैं, यह दिखाकर कि SPOILER कैसे 100% संभावना के साथ DRAM पंक्ति विरोधों को निर्धारित रूप से संचालित करने में मदद करता है, और सामान्य उपयोगकर्ता विशेषाधिकार के साथ डबल-साइडेड Rowhammer हमले का प्रदर्शन करके। बाद वाला SPOILER लीकेज का उपयोग करके सन्निकट मेमोरी पृष्ठों का पता लगाने की संभावना के कारण संभव है।
$ make
$ ./spoiler
यदि gnuplot पहले से स्थापित नहीं है तो इसे स्थापित करें या t2.txt को किसी अन्य सॉफ्टवेयर में प्लॉट करें। plot_t2.m MATLAB स्क्रिप्ट प्रदान की गई है।
$ gnuplot
gnuplot> plot 't2.txt' with lines
यदि आप peaks_linux.png में समान शिखर देखते हैं, तो आपका CPU SPOILER के लिए संवेदनशील है। यदि नहीं, तो आप मापदंडों "PAGE_COUNT, WINDOW और THRESH_OUTLIER" के साथ प्रयोग कर सकते हैं। उदाहरण के लिए 11वीं जनरेशन के CPU के लिए, WINDOW का आकार 256 में बदलने पर काम किया। इसका कारण यह हो सकता है कि उच्च पीढ़ियों में स्टोर बफर का आकार बढ़ जाता है। विवरण के लिए कृपया पेपर पढ़ें।
"spoiler.exe" को डबल क्लिक या कमांड प्रॉम्प्ट से चलाएँ। यदि आपको कोई मापदंड बदलने की आवश्यकता है, तो कृपया कोड को पुनः संकलित करें। "t2.txt" को किसी भी सॉफ्टवेयर या plot_t2.m MATLAB स्क्रिप्ट से प्लॉट करें।