रो हैमर: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
{{Short description|Computer security exploit}}
{{Short description|Computer security exploit}}
रो हैमर (जिसे रोहैमर के रूप में भी लिखा जाता है) एक सुरक्षा शोषण है जो [[गतिशील रैंडम-एक्सेस मेमोरी]] (DRAM) में एक अनपेक्षित और अवांछनीय दुष्प्रभाव का लाभ उठाता है जिसमें [[मेमोरी सेल (कंप्यूटिंग)]] अपने चार्ज को लीक करके, संभवतः बदलकर, आपस में विद्युतीय रूप से संपर्क करते हैं। आस-पास की [[स्मृति पंक्ति]] की सामग्री जो मूल मेमोरी एक्सेस में [[ स्मृति पता |स्मृति पता]] नहीं थी। DRAM मेमोरी कोशिकाओं के बीच अलगाव की यह रोकथाम आधुनिक DRAM में उच्च सेल घनत्व के परिणामस्वरूप होती है, और इसे विशेष रूप से तैयार किए गए [[मेमोरी एक्सेस पैटर्न]] द्वारा ट्रिगर किया जा सकता है जो एक ही मेमोरी पंक्तियों को कई बार तेजी से सक्रिय करता है।<ref name="isca14-paper">{{cite web
'''रो हैमर''' (जिसे रोहैमर के रूप में भी लिखा जाता है) एक सुरक्षा शोषण है जो की [[गतिशील रैंडम-एक्सेस मेमोरी|डायनेमिक रैंडम-एक्सेस मेमोरी]] (डीआरएएम) में एक अनपेक्षित और अवांछनीय दुष्प्रभाव का लाभ उठाता है जिसमें [[मेमोरी सेल (कंप्यूटिंग)]] अपने चार्ज को लीक करके, संभवतः परिवर्तित करके, आपस में विद्युतीय रूप से संपर्क करते हैं। संभवतः पास की सामग्री को परिवर्तित कर देती हैं। इस प्रकार से मेमोरी रो जिन्हें मूल मेमोरी एक्सेस में संबोधित नहीं किया गया था। और डीआरएएम मेमोरी सेलो के बीच पृथक्करण की यह रोकथाम आधुनिक डीआरएएम में उच्च सेल घनत्व के परिणामस्वरूप होती है, और इसे विशेष रूप से तैयार किए गए [[मेमोरी एक्सेस पैटर्न]] द्वारा ट्रिगर किया जा सकता है जो एक ही मेमोरी रो को कई बार तेजी से सक्रिय करता है।<ref name="isca14-paper">{{cite web
| url = http://users.ece.cmu.edu/~yoonguk/papers/kim-isca14.pdf
| url = http://users.ece.cmu.edu/~yoonguk/papers/kim-isca14.pdf
| title = Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors
| title = Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors
Line 10: Line 10:
}}</ref><ref name="arstechnica">{{cite web |author=Goodin |first=Dan |date=March 10, 2015 |title=अत्याधुनिक हैक DRAM की कमजोरी का फायदा उठाकर सुपर यूजर का दर्जा देता है|url=https://arstechnica.com/security/2015/03/cutting-edge-hack-gives-super-user-status-by-exploiting-dram-weakness/ |access-date=March 10, 2015 |publisher=[[Ars Technica]]}}</ref><ref name="sophos">{{cite web |author=Ducklin |first=Paul |date=March 12, 2015 |title='Row hammering' – how to exploit a computer by overworking its memory |url=https://nakedsecurity.sophos.com/2015/03/12/row-hammering-how-to-exploit-a-computer-by-overworking-its-memory/ |access-date=March 14, 2015 |publisher=[[Sophos]]}}</ref>
}}</ref><ref name="arstechnica">{{cite web |author=Goodin |first=Dan |date=March 10, 2015 |title=अत्याधुनिक हैक DRAM की कमजोरी का फायदा उठाकर सुपर यूजर का दर्जा देता है|url=https://arstechnica.com/security/2015/03/cutting-edge-hack-gives-super-user-status-by-exploiting-dram-weakness/ |access-date=March 10, 2015 |publisher=[[Ars Technica]]}}</ref><ref name="sophos">{{cite web |author=Ducklin |first=Paul |date=March 12, 2015 |title='Row hammering' – how to exploit a computer by overworking its memory |url=https://nakedsecurity.sophos.com/2015/03/12/row-hammering-how-to-exploit-a-computer-by-overworking-its-memory/ |access-date=March 14, 2015 |publisher=[[Sophos]]}}</ref>


पंक्ति हथौड़ा प्रभाव का उपयोग कुछ [[विशेषाधिकार वृद्धि]] कंप्यूटर सुरक्षा [[शोषण (कंप्यूटर सुरक्षा)]] में किया गया है,<ref name="arstechnica"/><ref name="googleprojectzero">{{cite web |author1=Seaborn |first=Mark |last2=Dullien |first2=Thomas |date=March 9, 2015 |title=कर्नेल विशेषाधिकार प्राप्त करने के लिए DRAM रोहैमर बग का शोषण करना|url=http://googleprojectzero.blogspot.com/2015/03/exploiting-dram-rowhammer-bug-to-gain.html |access-date=March 10, 2015 |website=googleprojectzero.blogspot.com}}</ref><ref>{{cite news
रो हैमर प्रभाव का उपयोग कुछ [[विशेषाधिकार वृद्धि|प्रिविलेज एस्कालेशन]] कंप्यूटर सुरक्षा [[शोषण (कंप्यूटर सुरक्षा)]] में किया गया है,<ref name="arstechnica"/><ref name="googleprojectzero">{{cite web |author1=Seaborn |first=Mark |last2=Dullien |first2=Thomas |date=March 9, 2015 |title=कर्नेल विशेषाधिकार प्राप्त करने के लिए DRAM रोहैमर बग का शोषण करना|url=http://googleprojectzero.blogspot.com/2015/03/exploiting-dram-rowhammer-bug-to-gain.html |access-date=March 10, 2015 |website=googleprojectzero.blogspot.com}}</ref><ref>{{cite news
| url = https://arstechnica.com/security/2016/10/using-rowhammer-bitflips-to-root-android-phones-is-now-a-thing/
| url = https://arstechnica.com/security/2016/10/using-rowhammer-bitflips-to-root-android-phones-is-now-a-thing/
| title = Using Rowhammer bitflips to root Android phones is now a thing
| title = Using Rowhammer bitflips to root Android phones is now a thing
Line 20: Line 20:
| author = Swati Khandelwal | work = The Hacker News
| author = Swati Khandelwal | work = The Hacker News
| date = May 3, 2018 | access-date = May 21, 2018
| date = May 3, 2018 | access-date = May 21, 2018
}}</ref> और नेटवर्क-आधारित हमले भी सैद्धांतिक रूप से संभव हैं।<ref>{{cite news
}}</ref> और नेटवर्क-आधारित अटैक भी सैद्धांतिक रूप से संभव हैं।<ref>{{cite news
| url = https://thehackernews.com/2018/05/rowhammer-attack-exploit.html
| url = https://thehackernews.com/2018/05/rowhammer-attack-exploit.html
| title = New Rowhammer Attack Can Hijack Computers Remotely Over the Network
| title = New Rowhammer Attack Can Hijack Computers Remotely Over the Network
Line 32: Line 32:
}}</ref>
}}</ref>


पंक्ति हथौड़ा प्रभाव को होने से रोकने के लिए विभिन्न हार्डवेयर-आधारित तकनीकें मौजूद हैं, जिनमें कुछ केंद्रीय प्रसंस्करण इकाई और DRAM [[मेमोरी मॉड्यूल]] के प्रकारों में आवश्यक समर्थन शामिल है।<ref name="intel-d2s2e4">{{cite web
रो हैमर प्रभाव को होने से रोकने के लिए विभिन्न हार्डवेयर-आधारित तकनीकें उपस्तिथ हैं, जिनमें कुछ केंद्रीय प्रसंस्करण इकाई और डीआरएएम [[मेमोरी मॉड्यूल]] के प्रकारों में आवश्यक समर्थन सम्मिलित है।<ref name="intel-d2s2e4">{{cite web
| url = http://infobazy.gda.pl/2014/pliki/prezentacje/d2s2e4-Kaczmarski-Optymalna.pdf
| url = http://infobazy.gda.pl/2014/pliki/prezentacje/d2s2e4-Kaczmarski-Optymalna.pdf
| title = Thoughts on Intel Xeon E5-2600 v2 Product Family Performance Optimisation – Component selection guidelines
| title = Thoughts on Intel Xeon E5-2600 v2 Product Family Performance Optimisation – Component selection guidelines
Line 41: Line 41:




== पृष्ठभूमि ==
== बैकग्राउंड ==
[[File:DRAM.svg|thumb|right|upright=1.4|DRAM संगठन का एक उच्च-स्तरीय चित्रण, जिसमें मेमोरी सेल (कंप्यूटिंग) (नीला वर्ग), [[ पता विकोडक |पता विकोडक]] (हरा आयत), और [[ इंद्रिय प्रवर्धक |इंद्रिय प्रवर्धक]] (लाल वर्ग) शामिल हैं]][[गतिशील रैम]] (DRAM) में, संग्रहीत डेटा का प्रत्येक [[ अंश |अंश]] एक अलग मेमोरी सेल पर कब्जा कर लेता है जो एक [[ संधारित्र |संधारित्र]] और एक [[ट्रांजिस्टर]] के साथ विद्युत रूप से कार्यान्वित होता है। कैपेसिटर की चार्ज स्थिति (चार्ज या डिस्चार्ज) वह है जो यह निर्धारित करती है कि DRAM सेल बाइनरी मान के रूप में 1 या 0 संग्रहीत करता है या नहीं। बड़ी संख्या में DRAM मेमोरी सेल को एकीकृत सर्किट में पैक किया जाता है, साथ में कुछ अतिरिक्त तर्क भी होते हैं जो डेटा को पढ़ने, लिखने और [[स्मृति ताज़ा]] करने के उद्देश्यों के लिए सेल को व्यवस्थित करते हैं।<ref name="cs7810">{{cite web
[[File:DRAM.svg|thumb|right|upright=1.4|डीआरएएम संगठन का एक उच्च-स्तरीय चित्रण, जिसमें मेमोरी सेल (कंप्यूटिंग) (नीला वर्ग), [[ पता विकोडक |एड्रेस विकोडक]] (हरा आयत), और [[ इंद्रिय प्रवर्धक |सेंस एम्पलीफायर]] (लाल वर्ग) सम्मिलित हैं]][[गतिशील रैम|डायनेमिक रैम]] (डीआरएएम) में, संग्रहीत डेटा का प्रत्येक [[ अंश |बिट]] एक अलग मेमोरी सेल पर अधिकृत कर लेता है जो एक [[ संधारित्र |कैपेसिटर]] और एक [[ट्रांजिस्टर]] के साथ विद्युत रूप से कार्यान्वित होता है। इस प्रकार से कैपेसिटर की चार्ज स्थिति (चार्ज या डिस्चार्ज) वह है जो यह निर्धारित करती है कि डीआरएएम सेल बाइनरी मान के रूप में 1 या 0 संग्रहीत करता है या नहीं। किन्तु बड़ी संख्या में डीआरएएम मेमोरी सेल को इंटेग्रेटेड  सर्किट में पैक किया जाता है, साथ में कुछ अतिरिक्त तर्क भी होते हैं जो डेटा को पढ़ने, लिखने और [[स्मृति ताज़ा|मेमोरी रिफ्रेशिंग]] करने के उद्देश्यों के लिए सेल को व्यवस्थित करते हैं।<ref name="cs7810">{{cite web
| url = http://www.eng.utah.edu/~cs7810/pres/11-7810-12.pdf
| url = http://www.eng.utah.edu/~cs7810/pres/11-7810-12.pdf
| title = Lecture 12: DRAM Basics
| title = Lecture 12: DRAM Basics
Line 57: Line 57:
| url-status = dead
| url-status = dead
}}</ref>
}}</ref>
मेमोरी सेल (दोनों चित्रों में नीले वर्ग) को आगे [[मैट्रिक्स (गणित)]] में व्यवस्थित किया गया है और पंक्तियों और स्तंभों के माध्यम से संबोधित किया गया है। मैट्रिक्स पर लागू मेमोरी एड्रेस को पंक्ति एड्रेस और कॉलम एड्रेस में तोड़ दिया जाता है, जिसे पंक्ति और कॉलम एड्रेस डिकोडर्स (क्रमशः दोनों चित्रों, ऊर्ध्वाधर और क्षैतिज हरे आयतों में) द्वारा संसाधित किया जाता है। एक पंक्ति पते द्वारा रीड ऑपरेशन के लिए पंक्ति का चयन करने के बाद (चयन को [[पंक्ति सक्रियण]] के रूप में भी जाना जाता है), पंक्ति में सभी कोशिकाओं से बिट्स को सेंस एम्पलीफायरों में स्थानांतरित किया जाता है जो पंक्ति बफर (दोनों चित्रों में लाल वर्ग) बनाते हैं, जिससे कॉलम पते का उपयोग करके सटीक बिट का चयन किया जाता है। नतीजतन, रीड ऑपरेशन एक विनाशकारी प्रकृति के होते हैं क्योंकि DRAM के डिज़ाइन के लिए सेल चार्ज को पंक्ति बफर में स्थानांतरित करके उनके मूल्यों को पढ़ने के बाद मेमोरी कोशिकाओं को फिर से लिखने की आवश्यकता होती है। लेखन संचालन समान तरीके से पतों को डिकोड करते हैं, लेकिन डिज़ाइन के परिणामस्वरूप एक बिट के मान को बदलने के लिए पूरी पंक्तियों को फिर से लिखना होगा।<ref name="isca14-paper"/>{{rp|2–3}}<ref name="cs7810"/><ref name="ece548"/><ref>{{cite web
मेमोरी सेल (दोनों चित्रों में नीले वर्ग) को आगे [[मैट्रिक्स (गणित)|आव्यूह (गणित)]] में व्यवस्थित किया गया है और रो और स्तंभों के माध्यम से संबोधित किया गया है। जिसमे आव्यूह पर प्रयुक्त मेमोरी एड्रेस को रो एड्रेस और कॉलम एड्रेस में तोड़ दिया जाता है, जिसे रो और कॉलम एड्रेस डिकोडर्स (क्रमशः दोनों चित्रों, ऊर्ध्वाधर और क्षैतिज हरे आयतों में) द्वारा संसाधित किया जाता है। एक रो एड्रेस द्वारा रीड ऑपरेशन के लिए रो का चयन करने के बाद (चयन को [[पंक्ति सक्रियण|रो एक्टिवेशन]] के रूप में भी जाना जाता है), रो में सभी सेलो से बिट्स को सेंस एम्पलीफायरों में स्थानांतरित किया जाता है जो रो बफर (दोनों चित्रों में लाल वर्ग) बनाते हैं, जिससे कॉलम एड्रेस का उपयोग करके स्पष्ट बिट का चयन किया जाता है। नतीजतन, रीड ऑपरेशन एक विनाशकारी प्रकृति के होते हैं क्योंकि डीआरएएम के डिज़ाइन के लिए सेल चार्ज को रो बफर में स्थानांतरित करके उनके मूल्यों को पढ़ने के बाद मेमोरी सेलो को फिर से लिखने की आवश्यकता होती है। इस प्रकार से लेखन संचालन समान विधियों से एड्रेस को डिकोड करते हैं, किन्तु डिज़ाइन के परिणामस्वरूप एक बिट के मान को परिवर्तन करने के लिए पूरी रो को फिर से लिखना होगा।<ref name="isca14-paper"/>{{rp|2–3}}<ref name="cs7810"/><ref name="ece548"/><ref>{{cite web
| url = https://www.cs.princeton.edu/courses/archive/fall04/cos471/lectures/20-Memory.pdf
| url = https://www.cs.princeton.edu/courses/archive/fall04/cos471/lectures/20-Memory.pdf
| archive-url = https://web.archive.org/web/20050519185856/http://www.cs.princeton.edu/courses/archive/fall04/cos471/lectures/20-Memory.pdf
| archive-url = https://web.archive.org/web/20050519185856/http://www.cs.princeton.edu/courses/archive/fall04/cos471/lectures/20-Memory.pdf
Line 67: Line 67:
}}</ref>
}}</ref>


प्राकृतिक डिस्चार्ज दर वाले कैपेसिटर का उपयोग करके डेटा बिट्स को संग्रहीत करने के परिणामस्वरूप, DRAM मेमोरी कोशिकाएं समय के साथ अपनी स्थिति खो देती हैं और सभी मेमोरी कोशिकाओं की आवधिक मेमोरी रिफ्रेश की आवश्यकता होती है, जिसे रिफ्रेशिंग के रूप में जाना जाता है।<ref name="isca14-paper" />{{rp|3}}<ref name="cs7810" /> डिज़ाइन के एक अन्य परिणाम के रूप में, DRAM मेमोरी संग्रहीत डेटा में यादृच्छिक परिवर्तनों के लिए अतिसंवेदनशील है, जिसे [[ नरम त्रुटि |नरम त्रुटि]] के रूप में जाना जाता है और इलेक्ट्रॉनिक्स और अन्य कारणों पर कॉस्मिक किरण # प्रभाव के लिए जिम्मेदार है। ऐसी विभिन्न तकनीकें हैं जो सॉफ्ट मेमोरी त्रुटियों का प्रतिकार करती हैं और DRAM की विश्वसनीयता में सुधार करती हैं, जिनमें से ECC मेमोरी | त्रुटि-सुधार कोड (ECC) मेमोरी और इसके उन्नत वेरिएंट (जैसे [[लॉकस्टेप मेमोरी]]) का सबसे अधिक उपयोग किया जाता है।<ref>{{cite web
इस प्रकार से प्राकृतिक डिस्चार्ज दर वाले कैपेसिटर का उपयोग करके डेटा बिट्स को संग्रहीत करने के परिणामस्वरूप, डीआरएएम मेमोरी सेलो समय के साथ अपनी स्थिति खो देती हैं और सभी मेमोरी सेलो की आवधिक मेमोरी रिफ्रेश की आवश्यकता होती है, जिसे रिफ्रेशिंग के रूप में जाना जाता है।<ref name="isca14-paper" />{{rp|3}}<ref name="cs7810" /> और डिज़ाइन के एक अन्य परिणाम के रूप में, डीआरएएम मेमोरी संग्रहीत डेटा में यादृच्छिक परिवर्तनों के लिए अतिसंवेदनशील है, जिसे [[ नरम त्रुटि |सॉफ्ट मेमोरी]] एर्रोर्स के रूप में जाना जाता है और इलेक्ट्रॉनिक्स और अन्य कारणों पर कॉस्मिक कारणों प्रभाव के लिए उत्तरदायी है। ऐसी विभिन्न तकनीकें हैं जो की सॉफ्ट मेमोरी एर्रोर्स का प्रतिकार करती हैं और डीआरएएम की विश्वसनीयता में सुधार करती हैं, जिनमें से ईसीसी मेमोरी | एरर-कोर्रेक्टिंग कोड (ईसीसी) मेमोरी और इसके उन्नत वेरिएंट (जैसे [[लॉकस्टेप मेमोरी]]) का सबसे अधिक उपयोग किया जाता है।<ref>{{cite web
| url = http://www.cs.toronto.edu/~bianca/papers/sigmetrics09.pdf
| url = http://www.cs.toronto.edu/~bianca/papers/sigmetrics09.pdf
| title = DRAM Errors in the Wild: A Large-Scale Field Study
| title = DRAM Errors in the Wild: A Large-Scale Field Study
Line 79: Line 79:


== अवलोकन ==
== अवलोकन ==
[[File:Row hammer.svg|thumb|right|upright=1.4|तीव्र पंक्ति सक्रियण (पीली पंक्तियाँ) पीड़ित पंक्ति (बैंगनी पंक्ति) में संग्रहीत बिट्स के मान को बदल सकती हैं।<ref name="isca14-talk"/>{{rp|2}}]]गतिशील रैंडम-एक्सेस मेमोरी इंटीग्रेटेड सर्किट की बढ़ती घनत्व के कारण कम चार्ज वाली मेमोरी कोशिकाएं भौतिक रूप से छोटी हो गई हैं, जिसके परिणामस्वरूप परिचालन [[शोर में कमी]] कम हो गया है, मेमोरी कोशिकाओं के बीच विद्युत चुम्बकीय इंटरैक्शन की दर में वृद्धि हुई है, और डेटा हानि की अधिक संभावना है। परिणामस्वरूप, गड़बड़ी संबंधी त्रुटियां देखी गई हैं, जो कोशिकाओं द्वारा एक-दूसरे के संचालन में हस्तक्षेप करने के कारण होती हैं और प्रभावित मेमोरी कोशिकाओं में संग्रहीत बिट्स के मूल्यों में यादृच्छिक परिवर्तन के रूप में प्रकट होती हैं। गड़बड़ी त्रुटियों के बारे में जागरूकता 1970 के दशक की शुरुआत में हुई और इंटेल 1103 पहले व्यावसायिक रूप से उपलब्ध DRAM एकीकृत सर्किट के रूप में था; तब से, DRAM निर्माताओं ने गड़बड़ी त्रुटियों का प्रतिकार करने के लिए विभिन्न [[भेद्यता शमन]] तकनीकों को नियोजित किया है, जैसे कोशिकाओं के बीच अलगाव में सुधार और उत्पादन परीक्षण करना। हालाँकि, शोधकर्ताओं ने 2014 के विश्लेषण में साबित किया कि 2012 और 2013 में निर्मित व्यावसायिक रूप से उपलब्ध [[DDR3 SDRAM]] चिप्स गड़बड़ी त्रुटियों के लिए अतिसंवेदनशील हैं, जबकि रो हैमर शब्द का उपयोग संबंधित दुष्प्रभाव को नाम देने के लिए किया गया है जिसके कारण नरम त्रुटि देखी गई।<ref name="isca14-paper"/><ref name="sophos"/><ref name="isca14-talk">{{cite web
[[File:Row hammer.svg|thumb|right|upright=1.4|तीव्र रो एक्टिवेशन (पीली रो) विक्टिम रो (बैंगनी रो) में संग्रहीत बिट्स के मान को परिवर्तन कर सकती हैं।<ref name="isca14-talk"/>{{rp|2}}]]डायनेमिक रैंडम-एक्सेस मेमोरी इंटीग्रेटेड सर्किट की बढ़ती घनत्व के कारण कम चार्ज वाली मेमोरी सेलो भौतिक रूप से छोटी हो गई हैं, जिसके परिणामस्वरूप परिचालन [[शोर में कमी|नॉइज़ मार्जिन]] कम हो गया है, मेमोरी सेलो के बीच विद्युत चुम्बकीय इंटरैक्शन की दर में वृद्धि हुई है, और डेटा हानि की अधिक संभावना है। परिणामस्वरूप, डिस्टर्बेंस संबंधी एरर देखी गई हैं, जो सेलो द्वारा एक-दूसरे के संचालन में हस्तक्षेप करने के कारण होती हैं और प्रभावित मेमोरी सेलो में संग्रहीत बिट्स के मूल्यों में यादृच्छिक परिवर्तन के रूप में प्रकट होती हैं। इस प्रकार से डिस्टर्बेंस एर्रोर्स के बारे में जागरूकता 1970 के दशक की प्रारंभ में हुई और इंटेल 1103 पहले व्यावसायिक रूप से उपलब्ध डीआरएएम इंटेग्रेटेड  सर्किट के रूप में था; तब से, डीआरएएम निर्माताओं ने डिस्टर्बेंस एर्रोर्स का प्रतिकार करने के लिए विभिन्न [[भेद्यता शमन|मीटिगेशन]] तकनीकों को नियोजित किया है, जैसे सेलो के बीच पृथक्करण में सुधार और उत्पादन परीक्षण करना है। चूंकि, शोधकर्ताओं ने 2014 के विश्लेषण में साबित किया कि 2012 और 2013 में निर्मित व्यावसायिक रूप से उपलब्ध [[DDR3 SDRAM|डीडीआर3 Sडीआरएएम]] चिप्स डिस्टर्बेंस एर्रोर्स के लिए अतिसंवेदनशील हैं, जबकि रो हैमर शब्द का उपयोग संबंधित दुष्प्रभाव को नाम देने के लिए किया गया है जिसके कारण सॉफ्ट एरर देखी गई।<ref name="isca14-paper"/><ref name="sophos"/><ref name="isca14-talk">{{cite web
| url = http://users.ece.cmu.edu/~omutlu/pub/dram-row-hammer_kim_talk_isca14.pdf
| url = http://users.ece.cmu.edu/~omutlu/pub/dram-row-hammer_kim_talk_isca14.pdf
| title = Flipping Bits in Memory Without Accessing Them: DRAM Disturbance Errors
| title = Flipping Bits in Memory Without Accessing Them: DRAM Disturbance Errors
Line 88: Line 88:
| website = ece.cmu.edu
| website = ece.cmu.edu
}}</ref>
}}</ref>
DDR3 मेमोरी में पंक्ति हथौड़ा प्रभाव उत्पन्न होने का अवसर<ref name="kyungbae">{{cite book
डीडीआर3 मेमोरी में रो हैमर प्रभाव उत्पन्न होने का अवसर<ref name="kyungbae">{{cite book
| title = Active-Precharge Hammering on a Row Induced Failure in DDR3 SDRAMs under 3x&nbsp;nm Technology
| title = Active-Precharge Hammering on a Row Induced Failure in DDR3 SDRAMs under 3x&nbsp;nm Technology
| pages = 82–85
| pages = 82–85
Line 98: Line 98:
| isbn = 978-1-4799-7308-8
| isbn = 978-1-4799-7308-8
| s2cid = 14464953
| s2cid = 14464953
}}</ref> मुख्य रूप से DDR3 की मेमोरी कोशिकाओं के उच्च घनत्व और कोशिकाओं के बीच संबंधित इंटरैक्शन के परिणामों को जिम्मेदार ठहराया गया है, जबकि तेजी से DRAM पंक्ति सक्रियण को प्राथमिक कारण के रूप में निर्धारित किया गया है। बार-बार पंक्ति सक्रियण से संबंधित पंक्ति चयन लाइनों पर [[वोल्टेज]] में उतार-चढ़ाव होता है, जो आस-पास (ज्यादातर मामलों में आसन्न) मेमोरी पंक्तियों से संबंधित कैपेसिटर में प्राकृतिक से अधिक डिस्चार्ज दरों को प्रेरित करने के लिए देखा गया है, जिन्हें पीड़ित पंक्तियां कहा जाता है; यदि प्रभावित मेमोरी सेल्स को बहुत अधिक चार्ज खोने से पहले मेमोरी रिफ्रेश नहीं किया जाता है, तो गड़बड़ी की त्रुटियां होती हैं। परीक्षणों से पता चलता है कि लगभग 139,000 अनुवर्ती मेमोरी पंक्ति एक्सेस ([[कैश फ्लश]] के साथ) करने के बाद एक गड़बड़ी त्रुटि देखी जा सकती है, और प्रत्येक 1,700 कोशिकाओं में एक मेमोरी सेल अतिसंवेदनशील हो सकता है। उन परीक्षणों से यह भी पता चलता है कि अशांति त्रुटियों की दर पर्यावरण के तापमान में वृद्धि से काफी प्रभावित नहीं होती है, जबकि यह डीआरएएम की वास्तविक सामग्री पर निर्भर करती है क्योंकि कुछ [[ थोड़ा अभ्यास |थोड़ा अभ्यास]] के परिणामस्वरूप काफी अधिक गड़बड़ी त्रुटि दर होती है।<ref name="isca14-paper"/><ref name="arstechnica"/><ref name="isca14-talk"/><ref>{{cite web
}}</ref> मुख्य रूप से डीडीआर3 की मेमोरी सेलो के उच्च घनत्व और सेलो के बीच संबंधित इंटरैक्शन के परिणामों को उत्तरदायी ठहराया गया है, जबकि तेजी से डीआरएएम रो एक्टिवेशन को प्राथमिक कारण के रूप में निर्धारित किया गया है। इस प्रकार से बार-बार रो एक्टिवेशन से संबंधित रो चयन लाइनों पर [[वोल्टेज]] में उतार-चढ़ाव होता है, जो आस-पास (अधिकतर स्तिथियों में आसन्न) मेमोरी रो से संबंधित कैपेसिटर में प्राकृतिक से अधिक डिस्चार्ज दरों को प्रेरित करने के लिए देखा गया है, जिन्हें विक्टिम रो कहा जाता है; यदि प्रभावित मेमोरी सेल्स को बहुत अधिक चार्ज खोने से पहले मेमोरी रिफ्रेश नहीं किया जाता है, तो डिस्टर्बेंस की एरर होती हैं। परीक्षणों से पता चलता है कि लगभग 139,000 अनुवर्ती मेमोरी रो एक्सेस ([[कैश फ्लश]] के साथ) करने के बाद एक डिस्टर्बेंस एरर देखी जा सकती है, और प्रत्येक 1,700 सेलो में एक मेमोरी सेल अतिसंवेदनशील हो सकता है। उन परीक्षणों से यह भी पता चलता है कि अशांति एर्रोर्स की दर पर्यावरण के तापमान में वृद्धि से काफी प्रभावित नहीं होती है, जबकि यह डीआरएएम की वास्तविक सामग्री पर निर्भर करती है क्योंकि कुछ [[ थोड़ा अभ्यास |बिट पैटर्न]] के परिणामस्वरूप काफी अधिक डिस्टर्बेंस एरर दर होती है।<ref name="isca14-paper"/><ref name="arstechnica"/><ref name="isca14-talk"/><ref>{{cite web
| url = http://users.ece.cmu.edu/~omutlu/pub/rowhammer-summary.pdf
| url = http://users.ece.cmu.edu/~omutlu/pub/rowhammer-summary.pdf
| title = RowHammer: Reliability Analysis and Security Implications
| title = RowHammer: Reliability Analysis and Security Implications
Line 108: Line 108:
}}</ref>
}}</ref>


डबल-साइडेड हैमरिंग नामक संस्करण में पीड़ित पंक्ति के चारों ओर दो DRAM पंक्तियों की लक्षित सक्रियता शामिल होती है: इस खंड में दिए गए चित्रण में, यह संस्करण बैंगनी पंक्ति में बिट फ़्लिप को प्रेरित करने के उद्देश्य से दोनों पीली पंक्तियों को सक्रिय करेगा, जो इसमें है मामला पीड़ित पंक्ति का होगा. परीक्षणों से पता चलता है कि इस दृष्टिकोण के परिणामस्वरूप पीड़ित पंक्ति की पड़ोसी DRAM पंक्तियों में से केवल एक को सक्रिय करने वाले संस्करण की तुलना में गड़बड़ी त्रुटियों की दर काफी अधिक हो सकती है।<ref name="googleprojectzero" /><ref name="blackhat">{{cite web
इस प्रकार से डबल-साइडेड हैमरिंग नामक संस्करण में विक्टिम रो के चारों ओर दो डीआरएएम रो की लक्षित सक्रियता सम्मिलित होती है: इस खंड में दिए गए चित्रण में, यह संस्करण बैंगनी रो में बिट फ़्लिप को प्रेरित करने के उद्देश्य से दोनों पीली रो को सक्रिय करेगा, जो इसमें है स्तिथि विक्टिम रो का होगा. परीक्षणों से पता चलता है कि इस दृष्टिकोण के परिणामस्वरूप विक्टिम रो की नेइबोरिंग डीआरएएम रो में से केवल एक को सक्रिय करने वाले संस्करण की तुलना में डिस्टर्बेंस एर्रोर्स की दर बहुत अधिक हो सकती है।<ref name="googleprojectzero" /><ref name="blackhat">{{cite web
| url = https://www.blackhat.com/docs/us-15/materials/us-15-Seaborn-Exploiting-The-DRAM-Rowhammer-Bug-To-Gain-Kernel-Privileges.pdf
| url = https://www.blackhat.com/docs/us-15/materials/us-15-Seaborn-Exploiting-The-DRAM-Rowhammer-Bug-To-Gain-Kernel-Privileges.pdf
| title = Exploiting the DRAM rowhammer bug to gain kernel privileges: How to cause and exploit single bit errors
| title = Exploiting the DRAM rowhammer bug to gain kernel privileges: How to cause and exploit single bit errors
Line 122: Line 122:
}}</ref>
}}</ref>


चूँकि DRAM विक्रेताओं ने शमन उपाय लागू कर दिए हैं, रोहैमर शमन को बायपास करने के लिए पैटर्न को और अधिक परिष्कृत होना पड़ा। हाल के रोहैमर पैटर्न में गैर-समान, आवृत्ति-आधारित पैटर्न शामिल हैं।<ref name=":0" /> इन पैटर्न में कई दो तरफा आक्रामक जोड़े शामिल हैं जहां उनमें से प्रत्येक को एक अलग आवृत्ति, चरण और आयाम के साथ अंकित किया गया है। इसका उपयोग करके और REFRESH कमांड के साथ पैटर्न को सिंक्रनाइज़ करके, उन अंधे स्थानों को बहुत प्रभावी ढंग से निर्धारित करना संभव है जहां शमन अब सुरक्षा प्रदान करने में सक्षम नहीं है। इस विचार के आधार पर, शिक्षाविदों ने ब्लैकस्मिथ नामक रोहैमर फ़ज़र का निर्माण किया<ref>{{Citation |title=Blacksmith Rowhammer Fuzzer |date=2022-11-02 |url=https://github.com/comsec-group/blacksmith |access-date=2022-11-09}}</ref> जो सभी DDR4 उपकरणों पर मौजूदा शमन को बायपास कर सकता है।
चूँकि डीआरएएम विक्रेताओं ने मिटीगेसन उपाय प्रयुक्त कर दिए हैं, रोहैमर मिटीगेसन को बायपास करने के लिए पैटर्न को और अधिक परिष्कृत होना पड़ा। वर्तमान के रोहैमर पैटर्न में गैर-समान, आवृत्ति-आधारित पैटर्न सम्मिलित हैं।<ref name=":0" /> इन पैटर्न में कई दो तरफा आक्रामक जोड़े सम्मिलित हैं जहां उनमें से प्रत्येक को एक अलग आवृत्ति, चरण और आयाम के साथ अंकित किया गया है। इसका उपयोग करके और रीफ़्रेश कमांड के साथ पैटर्न को सिंक्रनाइज़ करके, उन अंधे स्थानों को बहुत प्रभावी रूप से निर्धारित करना संभव है जहां मिटीगेसन अब सुरक्षा प्रदान करने में सक्षम नहीं है। इस विचार के आधार पर, शिक्षाविदों ने ब्लैकस्मिथ नामक रोहैमर फ़ज़र का निर्माण किया<ref>{{Citation |title=Blacksmith Rowhammer Fuzzer |date=2022-11-02 |url=https://github.com/comsec-group/blacksmith |access-date=2022-11-09}}</ref> जो सभी डीडीआर4 उपकरणों पर उपस्तिथा मिटीगेसन को बायपास कर सकता है।


=== शमन ===
=== मिटीगेसन ===
पंक्ति हथौड़ा प्रभाव का कमोबेश सफल पता लगाने, रोकथाम, सुधार या शमन के लिए विभिन्न विधियाँ मौजूद हैं। परीक्षणों से पता चलता है कि सरल ईसीसी मेमोरी, जो एकल-त्रुटि सुधार और दोहरी-त्रुटि पहचान (एसईसीडीईडी) क्षमताएं प्रदान करती है, सभी देखी गई गड़बड़ी त्रुटियों को ठीक करने या पता लगाने में सक्षम नहीं है क्योंकि उनमें से कुछ में प्रति मेमोरी शब्द दो से अधिक फ़्लिप्ड बिट्स शामिल हैं।<ref name="isca14-paper" />{{rp|8}}<ref name="isca14-talk" />{{rp|32}} इसके अलावा, शोध से पता चलता है कि सटीक रूप से लक्षित तीन-बिट पंक्ति हैमर फ़्लिप ईसीसी मेमोरी को संशोधनों पर ध्यान देने से रोकता है।<ref>{{cite conference | doi = 10.1109/sp.2019.00089
रो हैमर प्रभाव का कमोबेश सफल पता लगाने, रोकथाम, सुधार या मिटीगेसन के लिए विभिन्न विधियाँ उपस्तिथ हैं। परीक्षणों से पता चलता है कि सरल ईसीसी मेमोरी, जो एकल-एरर सुधार और दोहरी-एरर पहचान (एसईसीडीईडी) क्षमताएं प्रदान करती है, सभी देखी गई डिस्टर्बेंस एर्रोर्स को ठीक करने या पता लगाने में सक्षम नहीं है क्योंकि उनमें से कुछ में प्रति मेमोरी शब्द दो से अधिक फ़्लिप्ड बिट्स सम्मिलित हैं।<ref name="isca14-paper" />{{rp|8}}<ref name="isca14-talk" />{{rp|32}} इसके अतिरिक्त, शोध से पता चलता है कि स्पष्ट रूप से लक्षित तीन-बिट रो हैमर फ़्लिप ईसीसी मेमोरी को संशोधनों पर ध्यान देने से रोकता है।<ref>{{cite conference | doi = 10.1109/sp.2019.00089
| last1 = Cojocar | first1 = Lucian | last2 = Razavi | first2 = Kaveh | last3 = Giuffrida | first3 = Cristiano | last4 = Bos | first4 = Herbert
| last1 = Cojocar | first1 = Lucian | last2 = Razavi | first2 = Kaveh | last3 = Giuffrida | first3 = Cristiano | last4 = Bos | first4 = Herbert
| title = 2019 IEEE Symposium on Security and Privacy (SP) | chapter = Exploiting Correcting Codes: On the Effectiveness of ECC Memory Against Rowhammer Attacks
| title = 2019 IEEE Symposium on Security and Privacy (SP) | chapter = Exploiting Correcting Codes: On the Effectiveness of ECC Memory Against Rowhammer Attacks
Line 136: Line 136:
}}</ref>
}}</ref>


एक कम प्रभावी समाधान यह है कि अधिक बार मेमोरी रिफ्रेशिंग शुरू की जाए, जिसमें [[स्मृति ताज़ा अंतराल]] सामान्य 64 एमएस से कम हो,{{Efn|Research shows that the rate of disturbance errors in a selection of [[DDR3]] memory modules closes to zero when the [[memory refresh interval]] becomes roughly seven times shorter than the default of 64&nbsp;ms.<ref name="isca14-talk"/>{{rp|17,26}}}} लेकिन इस तकनीक के परिणामस्वरूप बिजली की खपत अधिक होती है और प्रोसेसिंग ओवरहेड में वृद्धि होती है; कुछ विक्रेता [[फर्मवेयर]] अपडेट प्रदान करते हैं जो इस प्रकार के शमन को लागू करते हैं।<ref>{{cite web
एक कम प्रभावी समाधान यह है कि अधिक बार मेमोरी रिफ्रेशिंग प्रारंभ की जाए, जिसमें [[स्मृति ताज़ा अंतराल|मेमोरी रिफ्रेशिंग इन्टरवल्स]] सामान्य 64 एमएस से कम हो,{{Efn|Research shows that the rate of disturbance errors in a selection of [[DDR3]] memory modules closes to zero when the [[memory refresh interval]] becomes roughly seven times shorter than the default of 64&nbsp;ms.<ref name="isca14-talk"/>{{rp|17,26}}}} किन्तु इस तकनीक के परिणामस्वरूप विद्युत की खपत अधिक होती है और प्रोसेसिंग ओवरहेड में वृद्धि होती है; कुछ विक्रेता [[फर्मवेयर]] अपडेट प्रदान करते हैं जो इस प्रकार के मिटीगेसन को प्रयुक्त करते हैं।<ref>{{cite web
| url = https://support.lenovo.com/us/en/product_security/row_hammer
| url = https://support.lenovo.com/us/en/product_security/row_hammer
| title = Row Hammer Privilege Escalation (Lenovo Security Advisory LEN-2015-009)
| title = Row Hammer Privilege Escalation (Lenovo Security Advisory LEN-2015-009)
| date = August 5, 2015 | access-date = August 6, 2015
| date = August 5, 2015 | access-date = August 6, 2015
| publisher = [[Lenovo]]
| publisher = [[Lenovo]]
}}</ref> अधिक जटिल रोकथाम उपायों में से बार-बार एक्सेस की गई मेमोरी पंक्तियों की [[काउंटर (डिजिटल)]]-आधारित पहचान करता है और उनकी पड़ोसी पंक्तियों को सक्रिय रूप से ताज़ा करता है; एक अन्य विधि उनकी पहुंच आवृत्ति की परवाह किए बिना एक्सेस की गई पंक्तियों के पड़ोसी मेमोरी पंक्तियों के अतिरिक्त दुर्लभ यादृच्छिक रिफ्रेश जारी करती है। शोध से पता चलता है कि ये दो रोकथाम उपाय प्रदर्शन पर नगण्य प्रभाव डालते हैं।<ref name="isca14-paper" />{{rp|10–11}}<ref>{{cite web
}}</ref> अधिक सम्मिश्र रोकथाम उपायों में से बार-बार एक्सेस की गई मेमोरी रो की [[काउंटर (डिजिटल)]]-आधारित पहचान करता है और उनकी नेइबोरिंग रो को सक्रिय रूप से रिफ्रेशिंग करता है; एक अन्य विधि उनकी पहुंच आवृत्ति की परवाह किए बिना एक्सेस की गई रो के नेइबोरिंग मेमोरी रो के अतिरिक्त दुर्लभ यादृच्छिक रिफ्रेश जारी करती है। इस प्रकार शोध से पता चलता है कि ये दो रोकथाम उपाय प्रदर्शन पर नगण्य प्रभाव डालते हैं।<ref name="isca14-paper" />{{rp|10–11}}<ref>{{cite web
  |url        = http://users.ece.gatech.edu/~pnair6/rowhammer/rowhammer.pdf
  |url        = http://users.ece.gatech.edu/~pnair6/rowhammer/rowhammer.pdf
  |title      = Architectural Support for Mitigating Row Hammering in DRAM Memories
  |title      = Architectural Support for Mitigating Row Hammering in DRAM Memories
Line 157: Line 157:
}}</ref>
}}</ref>


आइवी ब्रिज ([[ सूक्ष्मवास्तुकला | सूक्ष्मवास्तुकला]] ) माइक्रोआर्किटेक्चर के जारी होने के बाद से, [[इंटेल]] ज़ीऑन प्रोसेसर तथाकथित छद्म लक्ष्य पंक्ति रिफ्रेश (पीटीआरआर) का समर्थन करते हैं जिसका उपयोग पंक्ति को कम करने के लिए पीटीआरआर-संगत डीडीआर 3 [[दोहरी इन-लाइन मेमोरी मॉड्यूल]] (डीआईएमएम) के साथ संयोजन में किया जा सकता है। संभावित पीड़ित पंक्तियों को स्वचालित रूप से ताज़ा करके हथौड़ा प्रभाव, प्रदर्शन या बिजली की खपत पर कोई नकारात्मक प्रभाव नहीं डालता है। जब DIMMs के साथ उपयोग किया जाता है जो pTRR-अनुरूप नहीं हैं, तो ये [[Xeon]] प्रोसेसर डिफ़ॉल्ट रूप से सामान्य आवृत्ति से दोगुनी पर DRAM रिफ्रेश करने में पीछे हट जाते हैं, जिसके परिणामस्वरूप मेमोरी एक्सेस विलंबता थोड़ी अधिक हो जाती है और मेमोरी बैंडविड्थ 2-4% तक कम हो सकती है।<ref name="intel-d2s2e4" />
आइवी ब्रिज ([[ सूक्ष्मवास्तुकला | माइक्रोआर्किटेक्चर]]) के जारी होने के बाद से, [[इंटेल]] ज़ीऑन प्रोसेसर तथाकथित छद्म लक्ष्य रो रिफ्रेश (पीटीआरआर) का समर्थन करते हैं जिसका उपयोग रो को कम करने के लिए पीटीआरआर-संगत डीडीआर 3 [[दोहरी इन-लाइन मेमोरी मॉड्यूल|डुअल इन-लाइन मेमोरी मॉड्यूल]] (डीआईएमएम) के साथ संयोजन में किया जा सकता है। संभावित विक्टिम रो को स्वचालित रूप से रिफ्रेशिंग करके हैमर प्रभाव, प्रदर्शन या विद्युत की खपत पर कोई ऋणात्मक प्रभाव नहीं डालता है। जब डीआईएमएम के साथ उपयोग किया जाता है जो pटीआरआर-अनुरूप नहीं हैं, तो ये [[Xeon|जिऑन]] प्रोसेसर डिफ़ॉल्ट रूप से सामान्य आवृत्ति से दोगुनी पर डीआरएएम रिफ्रेश करने में पीछे हट जाते हैं, जिसके परिणामस्वरूप मेमोरी एक्सेस विलंबता थोड़ी अधिक हो जाती है और मेमोरी बैंडविड्थ 2-4% तक कम हो सकती है।<ref name="intel-d2s2e4" />


[[JEDEC]] द्वारा प्रकाशित [[LPDDR4]] मोबाइल मेमोरी मानक<ref name="jedec-lpddr4">{{cite web
[[JEDEC|जेईडीईसी]] द्वारा प्रकाशित [[LPDDR4|एलपीडीडीआर4]] मोबाइल मेमोरी मानक<ref name="jedec-lpddr4">{{cite web
| url = http://www.jedec.org/standards-documents/docs/jesd209-4a
| url = http://www.jedec.org/standards-documents/docs/jesd209-4a
| title = JEDEC standard JESD209-4A: Low Power Double Data Rate (LPDDR4)
| title = JEDEC standard JESD209-4A: Low Power Double Data Rate (LPDDR4)
Line 165: Line 165:
| publisher = [[JEDEC]] | format = PDF
| publisher = [[JEDEC]] | format = PDF
| pages = 222–223
| pages = 222–223
}}</ref> इसमें तथाकथित टारगेट रो रिफ्रेश (टीआरआर) के लिए वैकल्पिक हार्डवेयर समर्थन शामिल है जो प्रदर्शन या बिजली की खपत पर नकारात्मक प्रभाव डाले बिना रो हैमर प्रभाव को रोकता है।<ref name="memcon-net105" /><ref>{{cite web
}}</ref> इसमें तथाकथित टारगेट रो रिफ्रेश (टीआरआर) के लिए वैकल्पिक हार्डवेयर समर्थन सम्मिलित है जो प्रदर्शन या विद्युत की खपत पर ऋणात्मक प्रभाव डाले बिना रो हैमर प्रभाव को रोकता है।<ref name="memcon-net105" /><ref>{{cite web
| url = http://www.memcon.com/pdfs/proceedings2014/MOB102.pdf#page=11
| url = http://www.memcon.com/pdfs/proceedings2014/MOB102.pdf#page=11
| title = DRAM scaling challenges and solutions in LPDDR4 context
| title = DRAM scaling challenges and solutions in LPDDR4 context
Line 182: Line 182:
| date = March 9, 2015 | access-date = March 11, 2015
| date = March 9, 2015 | access-date = March 11, 2015
| author = Omar Santos | website = cisco.com
| author = Omar Santos | website = cisco.com
}}</ref> इसके अतिरिक्त, कुछ निर्माता अपने [[DDR4]] उत्पादों में TRR लागू करते हैं,<ref>{{cite web
}}</ref> इसके अतिरिक्त, कुछ निर्माता अपने डीडीआर4 उत्पादों में टीआरआर प्रयुक्त करते हैं,<ref>{{cite web
| url = https://blogs.synopsys.com/committedtomemory/2015/03/09/row-hammering-what-it-is-and-how-hackers-could-use-it-to-gain-access-to-your-system/
| url = https://blogs.synopsys.com/committedtomemory/2015/03/09/row-hammering-what-it-is-and-how-hackers-could-use-it-to-gain-access-to-your-system/
| title = Row Hammering: What it is, and how hackers could use it to gain access to your system
| title = Row Hammering: What it is, and how hackers could use it to gain access to your system
Line 193: Line 193:
| author = Jung-Bae Lee | publisher = [[Samsung Electronics]]
| author = Jung-Bae Lee | publisher = [[Samsung Electronics]]
| website = teletogether.com | format = PDF | page = 15
| website = teletogether.com | format = PDF | page = 15
}}</ref> हालाँकि यह JEDEC द्वारा प्रकाशित DDR4 मेमोरी मानक का हिस्सा नहीं है।<ref>{{cite web
}}</ref> चूंकि यह जेईडीईसी द्वारा प्रकाशित डीडीआर4 मेमोरी मानक का भाग नहीं है।<ref>{{cite web
| url = https://www.jedec.org/standards-documents/docs/jesd79-4a
| url = https://www.jedec.org/standards-documents/docs/jesd79-4a
| title = JEDEC standard JESD79-4A: DDR4 SDRAM
| title = JEDEC standard JESD79-4A: DDR4 SDRAM
| date = November 2013 | access-date = January 10, 2016
| date = November 2013 | access-date = January 10, 2016
| publisher = [[JEDEC]] | format = PDF
| publisher = [[JEDEC]] | format = PDF
}}</ref> आंतरिक रूप से, टीआरआर पंक्ति सक्रियणों की संख्या की गणना करके और पूर्वनिर्धारित एकीकृत सर्किट-विशिष्ट अधिकतम सक्रिय गिनती (एमएसी) और अधिकतम सक्रिय विंडो (टी) के साथ तुलना करके संभावित पीड़ित पंक्तियों की पहचान करता है।<sub>MAW</sub>) मान, और बिट फ़्लिप को रोकने के लिए इन पंक्तियों को ताज़ा करता है। MAC मान पंक्ति सक्रियणों की अधिकतम कुल संख्या है जो किसी विशेष DRAM पंक्ति पर एक समय अंतराल के भीतर सामने आ सकती है जो कि t के बराबर या उससे कम है।<sub>MAW</sub> इसकी पड़ोसी पंक्तियों को पीड़ित पंक्तियों के रूप में पहचाने जाने से पहले की समयावधि; टीआरआर एक पंक्ति को पीड़ित पंक्ति के रूप में भी चिह्नित कर सकता है यदि इसकी दो पड़ोसी पंक्तियों के लिए पंक्ति सक्रियणों का योग टी के भीतर एमएसी सीमा तक पहुंच जाता है<sub>MAW</sub> समय खिड़की।<ref name="jedec-lpddr4" /><ref>{{cite web
}}</ref> इस प्रकार से आंतरिक रूप से, टीआरआर रो एक्टिवेशनों की संख्या की गणना करके और पूर्वनिर्धारित इंटेग्रेटेड  सर्किट-विशिष्ट अधिकतम सक्रिय गिनती (एमएसी) और अधिकतम सक्रिय विंडो (t<sub>MAW</sub>) के साथ तुलना करके संभावित विक्टिम रो की पहचान करता है। मान, और बिट फ़्लिप को रोकने के लिए इन रो को रिफ्रेशिंग करता है। एमएसी मान रो एक्टिवेशनों की अधिकतम कुल संख्या है जो किसी विशेष डीआरएएम रो पर एक समय अंतराल के अन्दर सामने आ सकती है जो कि t<sub>MAW</sub> के समान या उससे कम है। इसकी नेइबोरिंग रो को विक्टिम रो के रूप में पहचाने जाने से पहले की समयावधि; टीआरआर एक रो को विक्टिम रो के रूप में भी चिह्नित कर सकता है यदि इसकी दो नेइबोरिंग रो के लिए रो एक्टिवेशनों का योग t<sub>MAW</sub> टाइम विंडो के अन्दर एमएसी सीमा तक पहुंच जाता है।<ref name="jedec-lpddr4" /><ref>{{cite web
| url = http://www.micron.com/~/media/documents/products/data-sheet/dram/ddr4/4gb_ddr4_sdram.pdf
| url = http://www.micron.com/~/media/documents/products/data-sheet/dram/ddr4/4gb_ddr4_sdram.pdf
| title = Data Sheet: 4&nbsp;Gb ×4, ×8 and ×16 DDR4 SDRAM Features
| title = Data Sheet: 4&nbsp;Gb ×4, ×8 and ×16 DDR4 SDRAM Features
Line 208: Line 208:
| archive-date = February 10, 2018
| archive-date = February 10, 2018
| url-status = dead
| url-status = dead
}}</ref> शोध से पता चला है कि 2019 और 2020 के बीच उत्पादित उपकरणों से DDR4 UDIMM और LPDDR4X चिप्स पर तैनात टीआरआर शमन रोहैमर से बचाने में प्रभावी नहीं हैं।<ref name=":0">{{cite web |author1=Jattke |first=Patrick |last2=van der Veen |first2=Victor |last3=Frigo |first3=Pietro |last4=Gunter |first4=Stijn |last5=Razavi |first5=Kaveh |date=May 25, 2022 |title=Blacksmith: Scalable Rowhammering in the Frequency Domain |url=https://comsec.ethz.ch/wp-content/files/blacksmith_sp22.pdf |access-date=November 9, 2022 |website=comsec.ethz.ch |publisher=[[IEEE]]}}</ref>
}}</ref> शोध से पता चला है कि 2019 और 2020 के बीच उत्पादित उपकरणों से डीडीआर4 यूडीआईएमएम और एलपीडीडीआर4एक्स चिप्स पर नियुक्त टीआरआर मिटीगेसन रोहैमर से बचाने में प्रभावी नहीं हैं।<ref name=":0">{{cite web |author1=Jattke |first=Patrick |last2=van der Veen |first2=Victor |last3=Frigo |first3=Pietro |last4=Gunter |first4=Stijn |last5=Razavi |first5=Kaveh |date=May 25, 2022 |title=Blacksmith: Scalable Rowhammering in the Frequency Domain |url=https://comsec.ethz.ch/wp-content/files/blacksmith_sp22.pdf |access-date=November 9, 2022 |website=comsec.ethz.ch |publisher=[[IEEE]]}}</ref>


तेजी से निष्पादित DRAM पंक्ति सक्रियणों की बड़ी संख्या की आवश्यकता के कारण, पंक्ति हथौड़ा शोषण बड़ी संख्या में अनकैश्ड मेमोरी एक्सेस जारी करता है जो [[कैश मिस]] का कारण बनता है, जिसे [[हार्डवेयर प्रदर्शन काउंटर]]ों का उपयोग करके असामान्य चोटियों के लिए कैश मिस की दर की निगरानी करके पता लगाया जा सकता है।<ref name="googleprojectzero" /><ref>{{cite web
तेजी से निष्पादित डीआरएएम रो एक्टिवेशनों की बड़ी संख्या की आवश्यकता के कारण, रो हैमर शोषण बड़ी संख्या में अनकैश्ड मेमोरी एक्सेस जारी करता है जो [[कैश मिस]] का कारण बनता है, जिसे [[हार्डवेयर प्रदर्शन काउंटर|हार्डवेयर परफॉरमेंस काउंटरो]] का उपयोग करके असामान्य चोटियों के लिए कैश मिस की दर की देखरेख करके पता लगाया जा सकता है।<ref name="googleprojectzero" /><ref>{{cite web
| url = https://www.blackhat.com/docs/us-15/materials/us-15-Herath-These-Are-Not-Your-Grand-Daddys-CPU-Performance-Counters-CPU-Hardware-Performance-Counters-For-Security.pdf
| url = https://www.blackhat.com/docs/us-15/materials/us-15-Herath-These-Are-Not-Your-Grand-Daddys-CPU-Performance-Counters-CPU-Hardware-Performance-Counters-For-Security.pdf
| title = These are Not Your Grand Daddy's CPU Performance Counters: CPU Hardware Performance Counters for Security
| title = These are Not Your Grand Daddy's CPU Performance Counters: CPU Hardware Performance Counters for Security
Line 218: Line 218:
}}</ref>
}}</ref>


3 दिसंबर, 2013 को जारी किए गए [[मेमटेस्ट86]] मेमोरी डायग्नोस्टिक सॉफ़्टवेयर के संस्करण 5.0 में एक पंक्ति हथौड़ा परीक्षण जोड़ा गया है जो जांचता है कि क्या कंप्यूटर रैम गड़बड़ी त्रुटियों के लिए अतिसंवेदनशील है, लेकिन यह केवल तभी काम करता है जब कंप्यूटर [[यूईएफआई]] को बूट करता है; यूईएफआई के बिना, यह बिना हैमर टेस्ट के पुराने संस्करण को बूट करता है।<ref>{{cite web
3 दिसंबर, 2013 को जारी किए गए [[मेमटेस्ट86]] मेमोरी डायग्नोस्टिक सॉफ़्टवेयर के संस्करण 5.0 में एक रो हैमर परीक्षण जोड़ा गया है जो जांचता है कि क्या कंप्यूटर रैम डिस्टर्बेंस एर्रोर्स के लिए अतिसंवेदनशील है, किन्तु यह केवल तभी काम करता है जब कंप्यूटर [[यूईएफआई]] को बूट करता है; यूईएफआई के बिना, यह बिना हैमर टेस्ट के पुराने संस्करण को बूट करता है।<ref>{{cite web
| url = https://www.memtest86.com/support/ver_history.htm
| url = https://www.memtest86.com/support/ver_history.htm
| title = PassMark MemTest86 – Version History
| title = PassMark MemTest86 – Version History
Line 228: Line 228:


== निहितार्थ ==
== निहितार्थ ==
मेमोरी सुरक्षा, [[प्रक्रिया (कंप्यूटिंग)]] को मेमोरी तक पहुंचने से रोकने के तरीके के रूप में, जो उनमें से प्रत्येक के लिए मेमोरी प्रबंधन नहीं है, अधिकांश आधुनिक [[ऑपरेटिंग सिस्टम]] के पीछे की अवधारणाओं में से एक है। सुरक्षा रिंगों जैसे अन्य सुरक्षा-संबंधित तंत्रों के साथ संयोजन में मेमोरी सुरक्षा का उपयोग करके, प्रक्रियाओं के बीच [[विशेषाधिकार पृथक्करण]] प्राप्त करना संभव है, जिसमें [[कंप्यूटर प्रोग्राम]] और कंप्यूटर सिस्टम को सामान्य रूप से विशिष्ट [[विशेषाधिकार (कंप्यूटिंग)]] तक सीमित भागों में विभाजित किया जाता है जिनकी उन्हें आवश्यकता होती है किसी विशेष कार्य को करने के लिए। विशेषाधिकार पृथक्करण का उपयोग करने से [[कंप्यूटर सुरक्षा]] हमलों के प्रभाव को सिस्टम के विशिष्ट भागों तक सीमित करके उनके कारण होने वाली संभावित क्षति की सीमा को भी कम किया जा सकता है।<ref>{{cite web
मेमोरी सुरक्षा, [[प्रक्रिया (कंप्यूटिंग)]] को मेमोरी तक पहुंचने से रोकने के विधियों के रूप में, जो उनमें से प्रत्येक के लिए मेमोरी प्रबंधन नहीं है, अधिकांश आधुनिक [[ऑपरेटिंग सिस्टम]] के पीछे की अवधारणाओं में से एक है। सुरक्षा रिंगों जैसे अन्य सुरक्षा-संबंधित मेकैनिज़्म्स के साथ संयोजन में मेमोरी सुरक्षा का उपयोग करके, प्रक्रियाओं के बीच [[विशेषाधिकार पृथक्करण|प्रीविलेज सेपरेशन]] प्राप्त करना संभव है, जिसमें [[कंप्यूटर प्रोग्राम]] और कंप्यूटर सिस्टम को सामान्य रूप से विशिष्ट [[विशेषाधिकार (कंप्यूटिंग)|प्रीविलेज (कंप्यूटिंग)]] तक सीमित भागों में विभाजित किया जाता है जिनकी उन्हें आवश्यकता होती है किसी विशेष कार्य को करने के लिए। इस प्रकार से प्रीविलेज सेपरेशन का उपयोग करने से [[कंप्यूटर सुरक्षा]] अटैक के प्रभाव को सिस्टम के विशिष्ट भागों तक सीमित करके उनके कारण होने वाली संभावित क्षति की सीमा को भी कम किया जा सकता है।<ref>{{cite web
| url = http://www.csc.kth.se/utbildning/kth/kurser/DD2395/dasakh10/Slides/dasakh10Lecture09memory.pdf
| url = http://www.csc.kth.se/utbildning/kth/kurser/DD2395/dasakh10/Slides/dasakh10Lecture09memory.pdf
| title = Memory Protection
| title = Memory Protection
Line 241: Line 241:
}}</ref>
}}</ref>


डिस्टर्बेंस त्रुटियाँ (#DISTURBANCE में स्पष्ट[[मुख्य स्मृति]] सुरक्षा की विभिन्न परतों को बहुत कम हार्डवेयर स्तर पर [[ शार्ट सर्किट |शार्ट सर्किट]] करके प्रभावी ढंग से हरा देती हैं, व्यावहारिक रूप से अद्वितीय [[ आक्रमण सदिश |आक्रमण सदिश]] प्रकार का निर्माण करती हैं जो प्रक्रियाओं को सीधे मुख्य मेमोरी के मनमाने हिस्सों की सामग्री को बदलने की अनुमति देता है। अंतर्निहित मेमोरी हार्डवेयर में हेरफेर करना।<ref name="arstechnica" /><ref name="googleprojectzero" /><ref name="blackhat" /><ref name="zdnet">{{cite web
डिस्टर्बेंस एरर (या डिस्टर्बेंस में स्पष्ट [[मुख्य स्मृति|मेन मेमोरी]] सुरक्षा की विभिन्न परतों को बहुत कम हार्डवेयर स्तर पर [[ शार्ट सर्किट |शार्ट सर्किट]] करके प्रभावी ढंग से हरा देती हैं, व्यावहारिक रूप से अद्वितीय अटैक वेक्टर प्रकार का निर्माण करती हैं जो प्रक्रियाओं को सीधे मेन मेमोरी के मनमाने भागो की सामग्री को परिवर्तन करने की अनुमति देता है। अंडरलाइनिंग मेमोरी हार्डवेयर में परिवर्तन करना है।<ref name="arstechnica" /><ref name="googleprojectzero" /><ref name="blackhat" /><ref name="zdnet">{{cite web
| url = http://www.zdnet.com/article/rowhammer-dram-flaw-could-be-widespread-says-google/
| url = http://www.zdnet.com/article/rowhammer-dram-flaw-could-be-widespread-says-google/
| title = "Rowhammer" DRAM flaw could be widespread, says Google
| title = "Rowhammer" DRAM flaw could be widespread, says Google
| date = March 10, 2015 | access-date = March 11, 2015
| date = March 10, 2015 | access-date = March 11, 2015
| author = Liam Tung | publisher = [[ZDNet]]
| author = Liam Tung | publisher = [[ZDNet]]
}}</ref> इसकी तुलना में, पारंपरिक आक्रमण वैक्टर जैसे कि [[ बफ़र अधिकता |बफ़र अधिकता]] का उद्देश्य अन्यथा दुर्गम मुख्य मेमोरी सामग्री में परिवर्तन प्राप्त करने के लिए विभिन्न प्रोग्रामिंग गलतियों का फायदा उठाकर (कंप्यूटर सुरक्षा) सॉफ्टवेयर स्तर पर सुरक्षा तंत्र को दरकिनार करना है।<ref>{{cite web
}}</ref> इसकी तुलना में, पारंपरिक अटैक वैक्टर जैसे कि [[ बफ़र अधिकता |बफ़र ओवरफ्लो]] का उद्देश्य अन्यथा दुर्गम मेन मेमोरी सामग्री में परिवर्तन प्राप्त करने के लिए विभिन्न प्रोग्रामिंग गलतियों का लाभ  उठाकर (कंप्यूटर सुरक्षा) सॉफ्टवेयर स्तर पर सुरक्षा तंत्र को अलग करना है।<ref>{{cite web
| url = http://www.enderunix.org/docs/en/bof-eng.txt
| url = http://www.enderunix.org/docs/en/bof-eng.txt
| title = Buffer Overflows Demystified
| title = Buffer Overflows Demystified
Line 270: Line 270:
</syntaxhighlight>
</syntaxhighlight>
|-
|-
| style="font-size: 90%; padding-left: 7px; padding-right: 7px;" | A snippet of [[x86 assembly language|x86 assembly]] code that induces the row hammer effect (memory addresses <code>X</code> and <code>Y</code> must map to different DRAM rows in the same [[memory bank]])<ref name="isca14-paper"/>{{rp|3}}<ref name="googleprojectzero"/><ref name="blackhat"/>{{rp|13–15}}
| style="font-size: 90%; padding-left: 7px; padding-right: 7px;" | x86 असेंबली कोड का एक स्निपेट जो रो हैमर प्रभाव को प्रेरित करता है (मेमोरी एड्रेस X और Y को एक ही मेमोरी बैंक में अलग-अलग डीआरएएम पंक्तियों में मैप करना होगा):<ref name="isca14-paper"/>{{rp|3}}<ref name="googleprojectzero"/><ref name="blackhat"/>{{rp|13–15}}
|}
|}
जून 2014 में प्रकाशित पंक्ति हथौड़ा प्रभाव पर प्रारंभिक शोध में गड़बड़ी त्रुटियों की प्रकृति का वर्णन किया गया था और हमले के निर्माण की संभावना का संकेत दिया गया था, लेकिन कार्यशील सुरक्षा शोषण का कोई उदाहरण नहीं दिया गया था।<ref name="isca14-paper"/> इसके बाद अक्टूबर 2014 के एक शोध पत्र में रो हैमर प्रभाव से उत्पन्न होने वाले किसी भी सुरक्षा-संबंधी मुद्दे के अस्तित्व का संकेत नहीं दिया गया।<ref name="kyungbae"/>
जून 2014 में प्रकाशित रो हैमर प्रभाव पर प्रारंभिक शोध में डिस्टर्बेंस एर्रोर्स की प्रकृति का वर्णन किया गया था और अटैक के निर्माण की संभावना का संकेत दिया गया था, किन्तु कार्यशील सुरक्षा शोषण का कोई उदाहरण नहीं दिया गया था।<ref name="isca14-paper"/> इसके बाद अक्टूबर 2014 के एक रिसर्च पेपर में रो हैमर प्रभाव से उत्पन्न होने वाले किसी भी सुरक्षा-संबंधी विषय के अस्तित्व का संकेत नहीं दिया गया था।<ref name="kyungbae"/>


9 मार्च 2015 को, [[Google]] के [[प्रोजेक्ट जीरो]] ने पंक्ति हथौड़ा प्रभाव के आधार पर दो कामकाजी विशेषाधिकार वृद्धि कारनामों का खुलासा किया, जो [[x86-64]] आर्किटेक्चर पर इसकी शोषक प्रकृति को स्थापित करता है। सामने आए कारनामों में से [[सैंडबॉक्स (कंप्यूटर सुरक्षा)]] के भीतर x86-64 मशीन निर्देशों के एक सीमित उपसमूह को चलाने के लिए Google [[Google मूल क्लाइंट]]NaCl) तंत्र को लक्षित करता है।<ref name="blackhat"/>{{rp|27}} सैंडबॉक्स से बचने और सीधे [[सिस्टम कॉल]] जारी करने की क्षमता हासिल करने के लिए पंक्ति हथौड़ा प्रभाव का शोषण करना। यह NaCl [[भेद्यता (कंप्यूटिंग)]], के रूप में ट्रैक किया गया {{CVE|2015-0565}}, NaCl को संशोधित करके कम कर दिया गया है इसलिए यह निष्पादन की अनुमति नहीं देता है <code>clflush</code> ([[कैश लाइन]] फ्लश<ref>{{cite web
इस प्रकार से 9 मार्च 2015 को, [[Google|गूगल]] के [[प्रोजेक्ट जीरो]] ने रो हैमर प्रभाव के आधार पर दो वर्किंग प्रिविलेज एस्कालेशन कारनामों का खुलासा किया, जो [[x86-64]] आर्किटेक्चर पर इसकी शोषक प्रकृति को स्थापित करता है। अतः सामने आए कारनामों में से [[सैंडबॉक्स (कंप्यूटर सुरक्षा)]] के अन्दर x86-64 मशीन निर्देशों के एक सीमित उपसमूह को चलाने के लिए गूगल [[Google मूल क्लाइंट|गूगल मूल क्लाइंट]]NaCl) तंत्र को लक्षित करता है।<ref name="blackhat"/>{{rp|27}} सैंडबॉक्स से बचने और सीधे [[सिस्टम कॉल]] जारी करने की क्षमता प्राप्त करने के लिए रो हैमर प्रभाव का शोषण करना था। यह NaCl [[भेद्यता (कंप्यूटिंग)]], के रूप में ट्रैक किया गया {{CVE|2015-0565}}, NaCl को संशोधित करके कम कर दिया गया है इसलिए यह निष्पादन की अनुमति नहीं देता है <code>clflush</code> ([[कैश लाइन]] फ्लश<ref>{{cite web
| url = http://x86.renejeschke.de/html/file_module_x86_id_30.html
| url = http://x86.renejeschke.de/html/file_module_x86_id_30.html
| title = CLFLUSH: Flush Cache Line (x86 Instruction Set Reference)
| title = CLFLUSH: Flush Cache Line (x86 Instruction Set Reference)
Line 283: Line 283:
| archive-date = December 3, 2017
| archive-date = December 3, 2017
| url-status = dead
| url-status = dead
}}</ref>) मशीन निर्देश, जिसे पहले प्रभावी पंक्ति हथौड़ा हमले के निर्माण के लिए आवश्यक माना जाता था।<ref name="arstechnica"/><ref name="googleprojectzero"/><ref name="zdnet"/>
}}</ref>) मशीन निर्देश, जिसे पहले प्रभावी रो हैमर अटैक के निर्माण के लिए आवश्यक माना जाता था।<ref name="arstechnica"/><ref name="googleprojectzero"/><ref name="zdnet"/>


प्रोजेक्ट ज़ीरो द्वारा प्रकट किया गया दूसरा शोषण x86-64 आर्किटेक्चर पर एक अप्रतिबंधित [[लिनक्स]] प्रक्रिया के रूप में चलता है, जो कंप्यूटर में स्थापित सभी भौतिक मेमोरी तक अप्रतिबंधित पहुंच प्राप्त करने के लिए पंक्ति हथौड़ा प्रभाव का शोषण करता है। [[ स्मृति छिड़काव |स्मृति छिड़काव]] के साथ गड़बड़ी त्रुटियों को जोड़कर, यह शोषण [[पृष्ठ तालिका प्रविष्टि]] को बदलने में सक्षम है<ref name="blackhat"/>{{rp|35}} [[ आभासी मेमोरी |आभासी मेमोरी]] सिस्टम द्वारा वर्चुअल पतों को भौतिक पतों पर मैप करने के लिए उपयोग किया जाता है, जिसके परिणामस्वरूप शोषण को अप्रतिबंधित मेमोरी एक्सेस प्राप्त होता है।<ref name="blackhat"/>{{rp|34,36–57}} इसकी प्रकृति और x86-64 आर्किटेक्चर बनाने में असमर्थता के कारण <code>clflush</code> एक विशेषाधिकार प्राप्त मशीन निर्देश, इस शोषण को उन कंप्यूटरों पर शायद ही कम किया जा सकता है जो अंतर्निहित पंक्ति हथौड़ा रोकथाम तंत्र वाले हार्डवेयर का उपयोग नहीं करते हैं। कारनामों की व्यवहार्यता का परीक्षण करते समय, प्रोजेक्ट ज़ीरो ने पाया कि 29 परीक्षण किए गए [[लैपटॉप]] में से लगभग आधे में गड़बड़ी की त्रुटियां हुईं, जिनमें से कुछ कमजोर लैपटॉप पर पंक्ति-हथौड़ा-उत्प्रेरण कोड चलाने के पांच मिनट से भी कम समय में हुईं; परीक्षण किए गए लैपटॉप 2010 और 2014 के बीच निर्मित किए गए थे और इनमें गैर-ईसीसी डीडीआर3 मेमोरी का उपयोग किया गया था।<ref name="arstechnica"/><ref name="googleprojectzero"/><ref name="zdnet"/>
प्रोजेक्ट ज़ीरो द्वारा प्रकट किया गया दूसरा शोषण x86-64 आर्किटेक्चर पर एक अप्रतिबंधित [[लिनक्स]] प्रक्रिया के रूप में चलता है, जो कंप्यूटर में स्थापित सभी भौतिक मेमोरी तक अप्रतिबंधित पहुंच प्राप्त करने के लिए रो हैमर प्रभाव का शोषण करता है। [[ स्मृति छिड़काव |मेमोरी स्प्रयिंग]] के साथ डिस्टर्बेंस एर्रोर्स को जोड़कर, यह शोषण [[पृष्ठ तालिका प्रविष्टि|पेज टेबल एंट्रीज़]] को परिवर्तन करने में सक्षम है<ref name="blackhat"/>{{rp|35}} [[ आभासी मेमोरी |वर्चुअल मेमोरी]] सिस्टम द्वारा वर्चुअल एड्रेसेस को भौतिक एड्रेसेस पर मैप करने के लिए उपयोग किया जाता है, जिसके परिणामस्वरूप शोषण को अप्रतिबंधित मेमोरी एक्सेस प्राप्त होता है।<ref name="blackhat"/>{{rp|34,36–57}} इसकी प्रकृति और x86-64 आर्किटेक्चर बनाने में असमर्थता के कारण <code>clflush</code> एक प्रीविलेज प्राप्त मशीन निर्देश, इस शोषण को उन कंप्यूटरों पर कदाचित् ही कम किया जा सकता है जो अंडरलाइनिंग रो हैमर रोकथाम तंत्र वाले हार्डवेयर का उपयोग नहीं करते हैं। इस प्रकार से कारनामों की व्यवहार्यता का परीक्षण करते समय, प्रोजेक्ट ज़ीरो ने पाया कि 29 परीक्षण किए गए [[लैपटॉप]] में से लगभग आधे में डिस्टर्बेंस की एरर हुईं, जिनमें से कुछ निर्बल लैपटॉप पर रो-हैमर-उत्प्रेरण कोड चलाने के पांच मिनट से भी कम समय में हुईं; परीक्षण किए गए लैपटॉप 2010 और 2014 के बीच निर्मित किए गए थे और इनमें गैर-ईसीसी डीडीआर3 मेमोरी का उपयोग किया गया था।<ref name="arstechnica"/><ref name="googleprojectzero"/><ref name="zdnet"/>


जुलाई 2015 में, सुरक्षा शोधकर्ताओं के एक समूह ने एक पेपर प्रकाशित किया जो पंक्ति हथौड़ा प्रभाव का फायदा उठाने के लिए एक कंप्यूटर वास्तुकला- और निर्देश सेट | निर्देश-सेट-स्वतंत्र तरीके का वर्णन करता है। पर भरोसा करने के बजाय <code>clflush</code> कैश फ्लश करने के लिए निर्देश, यह दृष्टिकोण सावधानीपूर्वक चयनित मेमोरी एक्सेस पैटर्न का उपयोग करके [[कैश निष्कासन]] की बहुत उच्च दर उत्पन्न करके अनकैश्ड मेमोरी एक्सेस प्राप्त करता है। यद्यपि [[कैश प्रतिस्थापन नीति]] प्रोसेसर के बीच भिन्न होती है, यह दृष्टिकोण अनुकूली कैश निष्कासन रणनीति [[कलन विधि]] को नियोजित करके वास्तुशिल्प मतभेदों को दूर करता है।<ref name="blackhat"/>{{rp|64–68}} इस दृष्टिकोण के लिए अवधारणा का प्रमाण मूल कोड कार्यान्वयन और शुद्ध [[जावास्क्रिप्ट]] कार्यान्वयन दोनों के रूप में प्रदान किया जाता है जो [[फ़ायरफ़ॉक्स]] 39 पर चलता है। जावास्क्रिप्ट कार्यान्वयन, जिसे Rowhammer.js कहा जाता है,<ref>{{cite web
जुलाई 2015 में, सुरक्षा शोधकर्ताओं के एक समूह ने एक पेपर प्रकाशित किया जो रो हैमर प्रभाव का लाभ उठाने के लिए एक कंप्यूटर वास्तुकला- और निर्देश सेट निर्देश-सेट-स्वतंत्र विधियों का वर्णन करता है। पर विश्वास करने के अतिरिक्त <code>clflush</code> कैश फ्लश करने के लिए निर्देश, यह दृष्टिकोण सावधानीपूर्वक चयनित मेमोरी एक्सेस पैटर्न का उपयोग करके [[कैश निष्कासन|कैश एविक्शन]] की बहुत उच्च दर उत्पन्न करके अनकैश्ड मेमोरी एक्सेस प्राप्त करता है। यद्यपि [[कैश प्रतिस्थापन नीति|कैश रिप्लेसमेंट पॉलिसीस]] प्रोसेसर के बीच भिन्न होती है, यह दृष्टिकोण अनुकूली कैश निष्कासन रणनीति [[कलन विधि|एल्गोरिथम]] को नियोजित करके वास्तुशिल्प मतभेदों को दूर करता है।<ref name="blackhat"/>{{rp|64–68}} इस दृष्टिकोण के लिए अवधारणा का प्रमाण मूल कोड कार्यान्वयन और शुद्ध [[जावास्क्रिप्ट]] कार्यान्वयन दोनों के रूप में प्रदान किया जाता है जो [[फ़ायरफ़ॉक्स]] 39 पर चलता है। और जावास्क्रिप्ट कार्यान्वयन, जिसे रोहैमर.जे.एस कहा जाता है,<ref>{{cite web
| url = https://github.com/IAIK/rowhammerjs/blob/master/javascript/rowhammer.js
| url = https://github.com/IAIK/rowhammerjs/blob/master/javascript/rowhammer.js
| title = IAIK/rowhammerjs: rowhammerjs/rowhammer.js at master
| title = IAIK/rowhammerjs: rowhammerjs/rowhammer.js at master
Line 293: Line 293:
| author1 = Daniel Gruss | author2 = Clémentine Maurice
| author1 = Daniel Gruss | author2 = Clémentine Maurice
| website = github.com
| website = github.com
}}</ref> बड़े [[मजबूत और कमजोर टाइपिंग]] [[सरणी डेटा संरचना]] का उपयोग करता है और बड़े पृष्ठों का उपयोग करके उनके आंतरिक मेमोरी आवंटन पर निर्भर करता है; परिणामस्वरूप, यह बहुत ही निम्न-स्तरीय भेद्यता का एक बहुत ही उच्च-स्तरीय शोषण प्रदर्शित करता है।<ref>{{cite arXiv
}}</ref> इस प्रकार से [[मजबूत और कमजोर टाइपिंग|लार्ज टाइपिंग]] [[सरणी डेटा संरचना|सरणी डेटा]] स्ट्रूकचर  का उपयोग करता है और बड़े पेजेस का उपयोग करके उनके आंतरिक मेमोरी आवंटन पर निर्भर करता है; परिणामस्वरूप, यह बहुत ही निम्न-स्तरीय भेद्यता का एक बहुत ही उच्च-स्तरीय शोषण प्रदर्शित करता है।<ref>{{cite arXiv
| eprint = 1507.06955
| eprint = 1507.06955
| title = Rowhammer.js: A Remote Software-Induced Fault Attack in JavaScript
| title = Rowhammer.js: A Remote Software-Induced Fault Attack in JavaScript
Line 316: Line 316:
}}</ref>
}}</ref>


अक्टूबर 2016 में, शोधकर्ताओं ने DRAMMER, एक एंड्रॉइड एप्लिकेशन प्रकाशित किया जो कई लोकप्रिय स्मार्टफ़ोन पर रूट एक्सेस प्राप्त करने के लिए अन्य तरीकों के साथ-साथ पंक्ति हथौड़ा का उपयोग करता है।<ref>{{cite web
अक्टूबर 2016 में, शोधकर्ताओं ने डीआरएएमएमईआर, एक एंड्रॉइड एप्लिकेशन प्रकाशित किया जो कई लोकप्रिय स्मार्टफ़ोन पर रूट एक्सेस प्राप्त करने के लिए अन्य विधियों के साथ-साथ रो हैमर का उपयोग करता है।<ref>{{cite web
| url = https://www.vusec.net/projects/drammer/
| url = https://www.vusec.net/projects/drammer/
| title = DRAMMER: FLIP FENG SHUI GOES MOBILE
| title = DRAMMER: FLIP FENG SHUI GOES MOBILE
| date = October 2016 | access-date = January 21, 2017
| date = October 2016 | access-date = January 21, 2017
| author = VUSec
| author = VUSec
}}</ref> भेद्यता के रूप में स्वीकार किया गया था {{CVE|2016-6728}}<ref>{{cite web
}}</ref> किन्तु भेद्यता के रूप में स्वीकार किया गया था {{CVE|2016-6728}}<ref>{{cite web
| url = https://nvd.nist.gov/vuln/detail/CVE-2016-6728
| url = https://nvd.nist.gov/vuln/detail/CVE-2016-6728
| title = CVE-2016-6728 Detail
| title = CVE-2016-6728 Detail
| author = NIST National Vulnerability Database (NVD)
| author = NIST National Vulnerability Database (NVD)
}}</ref> और Google द्वारा एक महीने के भीतर एक शमन जारी किया गया था। हालाँकि, हमले के संभावित कार्यान्वयन की सामान्य प्रकृति के कारण, एक प्रभावी सॉफ़्टवेयर पैच को विश्वसनीय रूप से लागू करना मुश्किल है। जून 2018 तक, शिक्षा जगत और उद्योग द्वारा किए गए अधिकांश पैच प्रस्ताव या तो तैनात करने के लिए अव्यावहारिक थे या सभी हमलों को रोकने में अपर्याप्त थे। शमन के रूप में, शोधकर्ताओं ने एक हल्के बचाव का प्रस्ताव रखा जो गार्ड पंक्तियों के साथ डीएमए बफ़र्स को अलग करके [[प्रत्यक्ष मेमोरी एक्सेस]] (डीएमए) पर आधारित हमलों को रोकता है।<ref>{{citation
}}</ref> और गूगल द्वारा एक महीने के अन्दर एक मिटीगेसन जारी किया गया था। चूंकि, अटैक के संभावित कार्यान्वयन की सामान्य प्रकृति के कारण, एक प्रभावी सॉफ़्टवेयर पैच को विश्वसनीय रूप से प्रयुक्त करना कठिन है। जून 2018 तक, शिक्षा जगत और उद्योग द्वारा किए गए अधिकांश पैच प्रस्ताव या तो नियुक्त करने के लिए अव्यावहारिक थे या सभी अटैक को रोकने में अपर्याप्त थे। मिटीगेसन के रूप में, शोधकर्ताओं ने एक हल्के बचाव का प्रस्ताव रखा जो गार्ड रो के साथ डीएमए बफ़र्स को अलग करके [[प्रत्यक्ष मेमोरी एक्सेस|डायरेक्ट मेमोरी एक्सेस]] (डीएमए) पर आधारित अटैक को रोकता है।<ref>{{citation
| url = https://research.vu.nl/en/publications/112a5465-aeb5-40fd-98ff-6f3b7c976676
| url = https://research.vu.nl/en/publications/112a5465-aeb5-40fd-98ff-6f3b7c976676
| doi = 10.1007/978-3-319-93411-2_5 | isbn = 9783319934105
| doi = 10.1007/978-3-319-93411-2_5 | isbn = 9783319934105
Line 344: Line 344:
}}</ref>
}}</ref>


मई 2021 में, Google अनुसंधान टीम ने एक नए कारनामे, हाफ-डबल की घोषणा की जो कुछ नए DRAM चिप्स की बिगड़ती भौतिकी का लाभ उठाता है।<ref>{{cite web|url=https://security.googleblog.com/2021/05/introducing-half-double-new-hammering.html|date=2021-05-25|title=Introducing Half-Double: New hammering technique for DRAM Rowhammer bug|access-date=2021-12-02|publisher=Google}}</ref>
इस प्रकार से मई 2021 में, गूगल रिसर्च टीम ने एक नए कारनामे, हाफ-डबल की घोषणा की जो कुछ नए डीआरएएम चिप्स की बिगड़ती भौतिकी का लाभ उठाता है।<ref>{{cite web|url=https://security.googleblog.com/2021/05/introducing-half-double-new-hammering.html|date=2021-05-25|title=Introducing Half-Double: New hammering technique for DRAM Rowhammer bug|access-date=2021-12-02|publisher=Google}}</ref>




Line 350: Line 350:
== यह भी देखें ==
== यह भी देखें ==
{{Portal|Electronics}}
{{Portal|Electronics}}
* [[ स्मृति संघर्ष ]]{{snd}} मेमोरी नियंत्रक सुविधा जो मेमोरी में लिखे गए उपयोगकर्ता डेटा को छद्म-यादृच्छिक पैटर्न में बदल देती है
* [[ स्मृति संघर्ष | मेमोरी स्क्रेम्ब्लिंग]] {{snd}} मेमोरी कंट्रोलर सुविधा जो मेमोरी में लिखे गए उपयोगकर्ता डेटा को छद्म-यादृच्छिक पैटर्न में परिवर्तन कर देती है
* [[विकिरण सख्त होना]]{{snd}} इलेक्ट्रॉनिक घटकों को आयनीकृत विकिरण के कारण होने वाली क्षति या खराबी के प्रति प्रतिरोधी बनाने का कार्य
* [[विकिरण सख्त होना|विकिरण हार्डनिंग]]{{snd}}इलेक्ट्रॉनिक घटकों को आयनीकृत विकिरण के कारण होने वाली क्षति या खराबी के प्रति प्रतिरोधी बनाने का कार्य
* एकल घटना परेशान करने वाली {{snd}} किसी इलेक्ट्रॉनिक उपकरण में संवेदनशील नोड पर हमला करने वाले आयनों या विद्युत चुम्बकीय विकिरण के कारण होने वाला अवस्था परिवर्तन
* सिंगल इवेन्ट अपसेट {{snd}} किसी इलेक्ट्रॉनिक उपकरण में संवेदनशील नोड पर अटैक करने वाले आयनों या विद्युत चुम्बकीय विकिरण के कारण होने वाला अवस्था परिवर्तन
* नरम त्रुटि{{snd}} एक प्रकार की त्रुटि जिसमें सिग्नल या डेटा में गलत परिवर्तन होते हैं लेकिन अंतर्निहित डिवाइस या सर्किट में कोई परिवर्तन नहीं होता है
* सॉफ्ट एरर{{snd}} एक प्रकार की एरर जिसमें सिग्नल या डेटा में गलत परिवर्तन होते हैं किन्तु अंडरलाइनिंग डिवाइस या सर्किट में कोई परिवर्तन नहीं होता है


== टिप्पणियाँ ==
== टिप्पणियाँ ==
Line 364: Line 364:


== बाहरी संबंध ==
== बाहरी संबंध ==
* [http://blog.erratasec.com/2015/03/some-notes-on-dram-rowhammer.html Some notes on DRAM (#rowhammer)], March 9, 2015, by Robert Graham
* [http://blog.erratasec.com/2015/03/some-notes-on-dram-rowhammer.html Some notes on डीआरएएम (#rowhammer)], March 9, 2015, by Robert Graham
* [http://www.infoworld.com/article/2894497/security/rowhammer-hardware-bug-threatens-to-smash-notebook-security.html Rowhammer hardware bug threatens to smash notebook security], <code>InfoWorld</code>, March 9, 2015, by Serdar Yegulalp
* [http://www.infoworld.com/article/2894497/security/rowhammer-hardware-bug-threatens-to-smash-notebook-security.html Rowhammer hardware bug threatens to smash notebook security], <code>InfoWorld</code>, March 9, 2015, by Serdar Yegulalp
* {{YouTube|id=7wIUQ04Vkes|title=DDR3 Memory Known Failure Mechanism called "Row Hammer"}}, July 17, 2014, by Barbara Aichinger
* {{YouTube|id=7wIUQ04Vkes|title=DDR3 Memory Known Failure Mechanism called "Row Hammer"}}, July 17, 2014, by Barbara Aichinger
Line 370: Line 370:
* Row Hammer Privilege Escalation Vulnerability, [[Cisco Systems]] security advisory, March 11, 2015
* Row Hammer Privilege Escalation Vulnerability, [[Cisco Systems]] security advisory, March 11, 2015
* ARMOR: A run-time memory hot-row detector, [[The University of Manchester]], by Mohsen Ghasempour et al.
* ARMOR: A run-time memory hot-row detector, [[The University of Manchester]], by Mohsen Ghasempour et al.
* [https://www.cs.princeton.edu/~appel/papers/memerr.pdf Using Memory Errors to Attack a Virtual Machine], March 6, 2003, by Sudhakar Govindavajhala and Andrew W. Appel
* [https://www.cs.princeton.edu/~appel/papers/memerr.pdf Using Memory Errors to Attack a Virtual एमएसीhine], March 6, 2003, by Sudhakar Govindavajhala and Andrew W. Appel
* [https://github.com/google/rowhammer-test A program for testing for the DRAM "rowhammer" problem], source code on [[GitHub]]
* [https://github.com/google/rowhammer-test A program for testing for the डीआरएएम "rowhammer" problem], source code on [[GitHub]]


{{DRAM}}
{{DRAM}}

Revision as of 12:33, 23 November 2023

रो हैमर (जिसे रोहैमर के रूप में भी लिखा जाता है) एक सुरक्षा शोषण है जो की डायनेमिक रैंडम-एक्सेस मेमोरी (डीआरएएम) में एक अनपेक्षित और अवांछनीय दुष्प्रभाव का लाभ उठाता है जिसमें मेमोरी सेल (कंप्यूटिंग) अपने चार्ज को लीक करके, संभवतः परिवर्तित करके, आपस में विद्युतीय रूप से संपर्क करते हैं। संभवतः पास की सामग्री को परिवर्तित कर देती हैं। इस प्रकार से मेमोरी रो जिन्हें मूल मेमोरी एक्सेस में संबोधित नहीं किया गया था। और डीआरएएम मेमोरी सेलो के बीच पृथक्करण की यह रोकथाम आधुनिक डीआरएएम में उच्च सेल घनत्व के परिणामस्वरूप होती है, और इसे विशेष रूप से तैयार किए गए मेमोरी एक्सेस पैटर्न द्वारा ट्रिगर किया जा सकता है जो एक ही मेमोरी रो को कई बार तेजी से सक्रिय करता है।[1][2][3]

रो हैमर प्रभाव का उपयोग कुछ प्रिविलेज एस्कालेशन कंप्यूटर सुरक्षा शोषण (कंप्यूटर सुरक्षा) में किया गया है,[2][4][5][6] और नेटवर्क-आधारित अटैक भी सैद्धांतिक रूप से संभव हैं।[7][8]

रो हैमर प्रभाव को होने से रोकने के लिए विभिन्न हार्डवेयर-आधारित तकनीकें उपस्तिथ हैं, जिनमें कुछ केंद्रीय प्रसंस्करण इकाई और डीआरएएम मेमोरी मॉड्यूल के प्रकारों में आवश्यक समर्थन सम्मिलित है।[9][10]


बैकग्राउंड

डीआरएएम संगठन का एक उच्च-स्तरीय चित्रण, जिसमें मेमोरी सेल (कंप्यूटिंग) (नीला वर्ग), एड्रेस विकोडक (हरा आयत), और सेंस एम्पलीफायर (लाल वर्ग) सम्मिलित हैं

डायनेमिक रैम (डीआरएएम) में, संग्रहीत डेटा का प्रत्येक बिट एक अलग मेमोरी सेल पर अधिकृत कर लेता है जो एक कैपेसिटर और एक ट्रांजिस्टर के साथ विद्युत रूप से कार्यान्वित होता है। इस प्रकार से कैपेसिटर की चार्ज स्थिति (चार्ज या डिस्चार्ज) वह है जो यह निर्धारित करती है कि डीआरएएम सेल बाइनरी मान के रूप में 1 या 0 संग्रहीत करता है या नहीं। किन्तु बड़ी संख्या में डीआरएएम मेमोरी सेल को इंटेग्रेटेड सर्किट में पैक किया जाता है, साथ में कुछ अतिरिक्त तर्क भी होते हैं जो डेटा को पढ़ने, लिखने और मेमोरी रिफ्रेशिंग करने के उद्देश्यों के लिए सेल को व्यवस्थित करते हैं।[11][12]

मेमोरी सेल (दोनों चित्रों में नीले वर्ग) को आगे आव्यूह (गणित) में व्यवस्थित किया गया है और रो और स्तंभों के माध्यम से संबोधित किया गया है। जिसमे आव्यूह पर प्रयुक्त मेमोरी एड्रेस को रो एड्रेस और कॉलम एड्रेस में तोड़ दिया जाता है, जिसे रो और कॉलम एड्रेस डिकोडर्स (क्रमशः दोनों चित्रों, ऊर्ध्वाधर और क्षैतिज हरे आयतों में) द्वारा संसाधित किया जाता है। एक रो एड्रेस द्वारा रीड ऑपरेशन के लिए रो का चयन करने के बाद (चयन को रो एक्टिवेशन के रूप में भी जाना जाता है), रो में सभी सेलो से बिट्स को सेंस एम्पलीफायरों में स्थानांतरित किया जाता है जो रो बफर (दोनों चित्रों में लाल वर्ग) बनाते हैं, जिससे कॉलम एड्रेस का उपयोग करके स्पष्ट बिट का चयन किया जाता है। नतीजतन, रीड ऑपरेशन एक विनाशकारी प्रकृति के होते हैं क्योंकि डीआरएएम के डिज़ाइन के लिए सेल चार्ज को रो बफर में स्थानांतरित करके उनके मूल्यों को पढ़ने के बाद मेमोरी सेलो को फिर से लिखने की आवश्यकता होती है। इस प्रकार से लेखन संचालन समान विधियों से एड्रेस को डिकोड करते हैं, किन्तु डिज़ाइन के परिणामस्वरूप एक बिट के मान को परिवर्तन करने के लिए पूरी रो को फिर से लिखना होगा।[1]: 2–3 [11][12][13]

इस प्रकार से प्राकृतिक डिस्चार्ज दर वाले कैपेसिटर का उपयोग करके डेटा बिट्स को संग्रहीत करने के परिणामस्वरूप, डीआरएएम मेमोरी सेलो समय के साथ अपनी स्थिति खो देती हैं और सभी मेमोरी सेलो की आवधिक मेमोरी रिफ्रेश की आवश्यकता होती है, जिसे रिफ्रेशिंग के रूप में जाना जाता है।[1]: 3 [11] और डिज़ाइन के एक अन्य परिणाम के रूप में, डीआरएएम मेमोरी संग्रहीत डेटा में यादृच्छिक परिवर्तनों के लिए अतिसंवेदनशील है, जिसे सॉफ्ट मेमोरी एर्रोर्स के रूप में जाना जाता है और इलेक्ट्रॉनिक्स और अन्य कारणों पर कॉस्मिक कारणों प्रभाव के लिए उत्तरदायी है। ऐसी विभिन्न तकनीकें हैं जो की सॉफ्ट मेमोरी एर्रोर्स का प्रतिकार करती हैं और डीआरएएम की विश्वसनीयता में सुधार करती हैं, जिनमें से ईसीसी मेमोरी | एरर-कोर्रेक्टिंग कोड (ईसीसी) मेमोरी और इसके उन्नत वेरिएंट (जैसे लॉकस्टेप मेमोरी) का सबसे अधिक उपयोग किया जाता है।[14]


अवलोकन

तीव्र रो एक्टिवेशन (पीली रो) विक्टिम रो (बैंगनी रो) में संग्रहीत बिट्स के मान को परिवर्तन कर सकती हैं।[15]: 2 

डायनेमिक रैंडम-एक्सेस मेमोरी इंटीग्रेटेड सर्किट की बढ़ती घनत्व के कारण कम चार्ज वाली मेमोरी सेलो भौतिक रूप से छोटी हो गई हैं, जिसके परिणामस्वरूप परिचालन नॉइज़ मार्जिन कम हो गया है, मेमोरी सेलो के बीच विद्युत चुम्बकीय इंटरैक्शन की दर में वृद्धि हुई है, और डेटा हानि की अधिक संभावना है। परिणामस्वरूप, डिस्टर्बेंस संबंधी एरर देखी गई हैं, जो सेलो द्वारा एक-दूसरे के संचालन में हस्तक्षेप करने के कारण होती हैं और प्रभावित मेमोरी सेलो में संग्रहीत बिट्स के मूल्यों में यादृच्छिक परिवर्तन के रूप में प्रकट होती हैं। इस प्रकार से डिस्टर्बेंस एर्रोर्स के बारे में जागरूकता 1970 के दशक की प्रारंभ में हुई और इंटेल 1103 पहले व्यावसायिक रूप से उपलब्ध डीआरएएम इंटेग्रेटेड सर्किट के रूप में था; तब से, डीआरएएम निर्माताओं ने डिस्टर्बेंस एर्रोर्स का प्रतिकार करने के लिए विभिन्न मीटिगेशन तकनीकों को नियोजित किया है, जैसे सेलो के बीच पृथक्करण में सुधार और उत्पादन परीक्षण करना है। चूंकि, शोधकर्ताओं ने 2014 के विश्लेषण में साबित किया कि 2012 और 2013 में निर्मित व्यावसायिक रूप से उपलब्ध डीडीआर3 Sडीआरएएम चिप्स डिस्टर्बेंस एर्रोर्स के लिए अतिसंवेदनशील हैं, जबकि रो हैमर शब्द का उपयोग संबंधित दुष्प्रभाव को नाम देने के लिए किया गया है जिसके कारण सॉफ्ट एरर देखी गई।[1][3][15]

डीडीआर3 मेमोरी में रो हैमर प्रभाव उत्पन्न होने का अवसर[16] मुख्य रूप से डीडीआर3 की मेमोरी सेलो के उच्च घनत्व और सेलो के बीच संबंधित इंटरैक्शन के परिणामों को उत्तरदायी ठहराया गया है, जबकि तेजी से डीआरएएम रो एक्टिवेशन को प्राथमिक कारण के रूप में निर्धारित किया गया है। इस प्रकार से बार-बार रो एक्टिवेशन से संबंधित रो चयन लाइनों पर वोल्टेज में उतार-चढ़ाव होता है, जो आस-पास (अधिकतर स्तिथियों में आसन्न) मेमोरी रो से संबंधित कैपेसिटर में प्राकृतिक से अधिक डिस्चार्ज दरों को प्रेरित करने के लिए देखा गया है, जिन्हें विक्टिम रो कहा जाता है; यदि प्रभावित मेमोरी सेल्स को बहुत अधिक चार्ज खोने से पहले मेमोरी रिफ्रेश नहीं किया जाता है, तो डिस्टर्बेंस की एरर होती हैं। परीक्षणों से पता चलता है कि लगभग 139,000 अनुवर्ती मेमोरी रो एक्सेस (कैश फ्लश के साथ) करने के बाद एक डिस्टर्बेंस एरर देखी जा सकती है, और प्रत्येक 1,700 सेलो में एक मेमोरी सेल अतिसंवेदनशील हो सकता है। उन परीक्षणों से यह भी पता चलता है कि अशांति एर्रोर्स की दर पर्यावरण के तापमान में वृद्धि से काफी प्रभावित नहीं होती है, जबकि यह डीआरएएम की वास्तविक सामग्री पर निर्भर करती है क्योंकि कुछ बिट पैटर्न के परिणामस्वरूप काफी अधिक डिस्टर्बेंस एरर दर होती है।[1][2][15][17]

इस प्रकार से डबल-साइडेड हैमरिंग नामक संस्करण में विक्टिम रो के चारों ओर दो डीआरएएम रो की लक्षित सक्रियता सम्मिलित होती है: इस खंड में दिए गए चित्रण में, यह संस्करण बैंगनी रो में बिट फ़्लिप को प्रेरित करने के उद्देश्य से दोनों पीली रो को सक्रिय करेगा, जो इसमें है स्तिथि विक्टिम रो का होगा. परीक्षणों से पता चलता है कि इस दृष्टिकोण के परिणामस्वरूप विक्टिम रो की नेइबोरिंग डीआरएएम रो में से केवल एक को सक्रिय करने वाले संस्करण की तुलना में डिस्टर्बेंस एर्रोर्स की दर बहुत अधिक हो सकती है।[4][18]: 19–20 [19]

चूँकि डीआरएएम विक्रेताओं ने मिटीगेसन उपाय प्रयुक्त कर दिए हैं, रोहैमर मिटीगेसन को बायपास करने के लिए पैटर्न को और अधिक परिष्कृत होना पड़ा। वर्तमान के रोहैमर पैटर्न में गैर-समान, आवृत्ति-आधारित पैटर्न सम्मिलित हैं।[20] इन पैटर्न में कई दो तरफा आक्रामक जोड़े सम्मिलित हैं जहां उनमें से प्रत्येक को एक अलग आवृत्ति, चरण और आयाम के साथ अंकित किया गया है। इसका उपयोग करके और रीफ़्रेश कमांड के साथ पैटर्न को सिंक्रनाइज़ करके, उन अंधे स्थानों को बहुत प्रभावी रूप से निर्धारित करना संभव है जहां मिटीगेसन अब सुरक्षा प्रदान करने में सक्षम नहीं है। इस विचार के आधार पर, शिक्षाविदों ने ब्लैकस्मिथ नामक रोहैमर फ़ज़र का निर्माण किया[21] जो सभी डीडीआर4 उपकरणों पर उपस्तिथा मिटीगेसन को बायपास कर सकता है।

मिटीगेसन

रो हैमर प्रभाव का कमोबेश सफल पता लगाने, रोकथाम, सुधार या मिटीगेसन के लिए विभिन्न विधियाँ उपस्तिथ हैं। परीक्षणों से पता चलता है कि सरल ईसीसी मेमोरी, जो एकल-एरर सुधार और दोहरी-एरर पहचान (एसईसीडीईडी) क्षमताएं प्रदान करती है, सभी देखी गई डिस्टर्बेंस एर्रोर्स को ठीक करने या पता लगाने में सक्षम नहीं है क्योंकि उनमें से कुछ में प्रति मेमोरी शब्द दो से अधिक फ़्लिप्ड बिट्स सम्मिलित हैं।[1]: 8 [15]: 32  इसके अतिरिक्त, शोध से पता चलता है कि स्पष्ट रूप से लक्षित तीन-बिट रो हैमर फ़्लिप ईसीसी मेमोरी को संशोधनों पर ध्यान देने से रोकता है।[22][23]

एक कम प्रभावी समाधान यह है कि अधिक बार मेमोरी रिफ्रेशिंग प्रारंभ की जाए, जिसमें मेमोरी रिफ्रेशिंग इन्टरवल्स सामान्य 64 एमएस से कम हो,[lower-alpha 1] किन्तु इस तकनीक के परिणामस्वरूप विद्युत की खपत अधिक होती है और प्रोसेसिंग ओवरहेड में वृद्धि होती है; कुछ विक्रेता फर्मवेयर अपडेट प्रदान करते हैं जो इस प्रकार के मिटीगेसन को प्रयुक्त करते हैं।[24] अधिक सम्मिश्र रोकथाम उपायों में से बार-बार एक्सेस की गई मेमोरी रो की काउंटर (डिजिटल)-आधारित पहचान करता है और उनकी नेइबोरिंग रो को सक्रिय रूप से रिफ्रेशिंग करता है; एक अन्य विधि उनकी पहुंच आवृत्ति की परवाह किए बिना एक्सेस की गई रो के नेइबोरिंग मेमोरी रो के अतिरिक्त दुर्लभ यादृच्छिक रिफ्रेश जारी करती है। इस प्रकार शोध से पता चलता है कि ये दो रोकथाम उपाय प्रदर्शन पर नगण्य प्रभाव डालते हैं।[1]: 10–11 [25]

आइवी ब्रिज ( माइक्रोआर्किटेक्चर) के जारी होने के बाद से, इंटेल ज़ीऑन प्रोसेसर तथाकथित छद्म लक्ष्य रो रिफ्रेश (पीटीआरआर) का समर्थन करते हैं जिसका उपयोग रो को कम करने के लिए पीटीआरआर-संगत डीडीआर 3 डुअल इन-लाइन मेमोरी मॉड्यूल (डीआईएमएम) के साथ संयोजन में किया जा सकता है। संभावित विक्टिम रो को स्वचालित रूप से रिफ्रेशिंग करके हैमर प्रभाव, प्रदर्शन या विद्युत की खपत पर कोई ऋणात्मक प्रभाव नहीं डालता है। जब डीआईएमएम के साथ उपयोग किया जाता है जो pटीआरआर-अनुरूप नहीं हैं, तो ये जिऑन प्रोसेसर डिफ़ॉल्ट रूप से सामान्य आवृत्ति से दोगुनी पर डीआरएएम रिफ्रेश करने में पीछे हट जाते हैं, जिसके परिणामस्वरूप मेमोरी एक्सेस विलंबता थोड़ी अधिक हो जाती है और मेमोरी बैंडविड्थ 2-4% तक कम हो सकती है।[9]

जेईडीईसी द्वारा प्रकाशित एलपीडीडीआर4 मोबाइल मेमोरी मानक[26] इसमें तथाकथित टारगेट रो रिफ्रेश (टीआरआर) के लिए वैकल्पिक हार्डवेयर समर्थन सम्मिलित है जो प्रदर्शन या विद्युत की खपत पर ऋणात्मक प्रभाव डाले बिना रो हैमर प्रभाव को रोकता है।[10][27][28] इसके अतिरिक्त, कुछ निर्माता अपने डीडीआर4 उत्पादों में टीआरआर प्रयुक्त करते हैं,[29][30] चूंकि यह जेईडीईसी द्वारा प्रकाशित डीडीआर4 मेमोरी मानक का भाग नहीं है।[31] इस प्रकार से आंतरिक रूप से, टीआरआर रो एक्टिवेशनों की संख्या की गणना करके और पूर्वनिर्धारित इंटेग्रेटेड सर्किट-विशिष्ट अधिकतम सक्रिय गिनती (एमएसी) और अधिकतम सक्रिय विंडो (tMAW) के साथ तुलना करके संभावित विक्टिम रो की पहचान करता है। मान, और बिट फ़्लिप को रोकने के लिए इन रो को रिफ्रेशिंग करता है। एमएसी मान रो एक्टिवेशनों की अधिकतम कुल संख्या है जो किसी विशेष डीआरएएम रो पर एक समय अंतराल के अन्दर सामने आ सकती है जो कि tMAW के समान या उससे कम है। इसकी नेइबोरिंग रो को विक्टिम रो के रूप में पहचाने जाने से पहले की समयावधि; टीआरआर एक रो को विक्टिम रो के रूप में भी चिह्नित कर सकता है यदि इसकी दो नेइबोरिंग रो के लिए रो एक्टिवेशनों का योग tMAW टाइम विंडो के अन्दर एमएसी सीमा तक पहुंच जाता है।[26][32] शोध से पता चला है कि 2019 और 2020 के बीच उत्पादित उपकरणों से डीडीआर4 यूडीआईएमएम और एलपीडीडीआर4एक्स चिप्स पर नियुक्त टीआरआर मिटीगेसन रोहैमर से बचाने में प्रभावी नहीं हैं।[20]

तेजी से निष्पादित डीआरएएम रो एक्टिवेशनों की बड़ी संख्या की आवश्यकता के कारण, रो हैमर शोषण बड़ी संख्या में अनकैश्ड मेमोरी एक्सेस जारी करता है जो कैश मिस का कारण बनता है, जिसे हार्डवेयर परफॉरमेंस काउंटरो का उपयोग करके असामान्य चोटियों के लिए कैश मिस की दर की देखरेख करके पता लगाया जा सकता है।[4][33]

3 दिसंबर, 2013 को जारी किए गए मेमटेस्ट86 मेमोरी डायग्नोस्टिक सॉफ़्टवेयर के संस्करण 5.0 में एक रो हैमर परीक्षण जोड़ा गया है जो जांचता है कि क्या कंप्यूटर रैम डिस्टर्बेंस एर्रोर्स के लिए अतिसंवेदनशील है, किन्तु यह केवल तभी काम करता है जब कंप्यूटर यूईएफआई को बूट करता है; यूईएफआई के बिना, यह बिना हैमर टेस्ट के पुराने संस्करण को बूट करता है।[34]


निहितार्थ

मेमोरी सुरक्षा, प्रक्रिया (कंप्यूटिंग) को मेमोरी तक पहुंचने से रोकने के विधियों के रूप में, जो उनमें से प्रत्येक के लिए मेमोरी प्रबंधन नहीं है, अधिकांश आधुनिक ऑपरेटिंग सिस्टम के पीछे की अवधारणाओं में से एक है। सुरक्षा रिंगों जैसे अन्य सुरक्षा-संबंधित मेकैनिज़्म्स के साथ संयोजन में मेमोरी सुरक्षा का उपयोग करके, प्रक्रियाओं के बीच प्रीविलेज सेपरेशन प्राप्त करना संभव है, जिसमें कंप्यूटर प्रोग्राम और कंप्यूटर सिस्टम को सामान्य रूप से विशिष्ट प्रीविलेज (कंप्यूटिंग) तक सीमित भागों में विभाजित किया जाता है जिनकी उन्हें आवश्यकता होती है किसी विशेष कार्य को करने के लिए। इस प्रकार से प्रीविलेज सेपरेशन का उपयोग करने से कंप्यूटर सुरक्षा अटैक के प्रभाव को सिस्टम के विशिष्ट भागों तक सीमित करके उनके कारण होने वाली संभावित क्षति की सीमा को भी कम किया जा सकता है।[35][36]

डिस्टर्बेंस एरर (या डिस्टर्बेंस में स्पष्ट मेन मेमोरी सुरक्षा की विभिन्न परतों को बहुत कम हार्डवेयर स्तर पर शार्ट सर्किट करके प्रभावी ढंग से हरा देती हैं, व्यावहारिक रूप से अद्वितीय अटैक वेक्टर प्रकार का निर्माण करती हैं जो प्रक्रियाओं को सीधे मेन मेमोरी के मनमाने भागो की सामग्री को परिवर्तन करने की अनुमति देता है। अंडरलाइनिंग मेमोरी हार्डवेयर में परिवर्तन करना है।[2][4][18][37] इसकी तुलना में, पारंपरिक अटैक वैक्टर जैसे कि बफ़र ओवरफ्लो का उद्देश्य अन्यथा दुर्गम मेन मेमोरी सामग्री में परिवर्तन प्राप्त करने के लिए विभिन्न प्रोग्रामिंग गलतियों का लाभ उठाकर (कंप्यूटर सुरक्षा) सॉफ्टवेयर स्तर पर सुरक्षा तंत्र को अलग करना है।[38]


शोषण

hammer:
  mov (X), %eax  // read from address X
  mov (Y), %ebx  // read from address Y
  clflush (X)    // flush cache for address X
  clflush (Y)    // flush cache for address Y
  mfence
  jmp hammer
x86 असेंबली कोड का एक स्निपेट जो रो हैमर प्रभाव को प्रेरित करता है (मेमोरी एड्रेस X और Y को एक ही मेमोरी बैंक में अलग-अलग डीआरएएम पंक्तियों में मैप करना होगा):[1]: 3 [4][18]: 13–15 

जून 2014 में प्रकाशित रो हैमर प्रभाव पर प्रारंभिक शोध में डिस्टर्बेंस एर्रोर्स की प्रकृति का वर्णन किया गया था और अटैक के निर्माण की संभावना का संकेत दिया गया था, किन्तु कार्यशील सुरक्षा शोषण का कोई उदाहरण नहीं दिया गया था।[1] इसके बाद अक्टूबर 2014 के एक रिसर्च पेपर में रो हैमर प्रभाव से उत्पन्न होने वाले किसी भी सुरक्षा-संबंधी विषय के अस्तित्व का संकेत नहीं दिया गया था।[16]

इस प्रकार से 9 मार्च 2015 को, गूगल के प्रोजेक्ट जीरो ने रो हैमर प्रभाव के आधार पर दो वर्किंग प्रिविलेज एस्कालेशन कारनामों का खुलासा किया, जो x86-64 आर्किटेक्चर पर इसकी शोषक प्रकृति को स्थापित करता है। अतः सामने आए कारनामों में से सैंडबॉक्स (कंप्यूटर सुरक्षा) के अन्दर x86-64 मशीन निर्देशों के एक सीमित उपसमूह को चलाने के लिए गूगल गूगल मूल क्लाइंटNaCl) तंत्र को लक्षित करता है।[18]: 27  सैंडबॉक्स से बचने और सीधे सिस्टम कॉल जारी करने की क्षमता प्राप्त करने के लिए रो हैमर प्रभाव का शोषण करना था। यह NaCl भेद्यता (कंप्यूटिंग), के रूप में ट्रैक किया गया CVE-2015-0565, NaCl को संशोधित करके कम कर दिया गया है इसलिए यह निष्पादन की अनुमति नहीं देता है clflush (कैश लाइन फ्लश[39]) मशीन निर्देश, जिसे पहले प्रभावी रो हैमर अटैक के निर्माण के लिए आवश्यक माना जाता था।[2][4][37]

प्रोजेक्ट ज़ीरो द्वारा प्रकट किया गया दूसरा शोषण x86-64 आर्किटेक्चर पर एक अप्रतिबंधित लिनक्स प्रक्रिया के रूप में चलता है, जो कंप्यूटर में स्थापित सभी भौतिक मेमोरी तक अप्रतिबंधित पहुंच प्राप्त करने के लिए रो हैमर प्रभाव का शोषण करता है। मेमोरी स्प्रयिंग के साथ डिस्टर्बेंस एर्रोर्स को जोड़कर, यह शोषण पेज टेबल एंट्रीज़ को परिवर्तन करने में सक्षम है[18]: 35  वर्चुअल मेमोरी सिस्टम द्वारा वर्चुअल एड्रेसेस को भौतिक एड्रेसेस पर मैप करने के लिए उपयोग किया जाता है, जिसके परिणामस्वरूप शोषण को अप्रतिबंधित मेमोरी एक्सेस प्राप्त होता है।[18]: 34, 36–57  इसकी प्रकृति और x86-64 आर्किटेक्चर बनाने में असमर्थता के कारण clflush एक प्रीविलेज प्राप्त मशीन निर्देश, इस शोषण को उन कंप्यूटरों पर कदाचित् ही कम किया जा सकता है जो अंडरलाइनिंग रो हैमर रोकथाम तंत्र वाले हार्डवेयर का उपयोग नहीं करते हैं। इस प्रकार से कारनामों की व्यवहार्यता का परीक्षण करते समय, प्रोजेक्ट ज़ीरो ने पाया कि 29 परीक्षण किए गए लैपटॉप में से लगभग आधे में डिस्टर्बेंस की एरर हुईं, जिनमें से कुछ निर्बल लैपटॉप पर रो-हैमर-उत्प्रेरण कोड चलाने के पांच मिनट से भी कम समय में हुईं; परीक्षण किए गए लैपटॉप 2010 और 2014 के बीच निर्मित किए गए थे और इनमें गैर-ईसीसी डीडीआर3 मेमोरी का उपयोग किया गया था।[2][4][37]

जुलाई 2015 में, सुरक्षा शोधकर्ताओं के एक समूह ने एक पेपर प्रकाशित किया जो रो हैमर प्रभाव का लाभ उठाने के लिए एक कंप्यूटर वास्तुकला- और निर्देश सेट निर्देश-सेट-स्वतंत्र विधियों का वर्णन करता है। पर विश्वास करने के अतिरिक्त clflush कैश फ्लश करने के लिए निर्देश, यह दृष्टिकोण सावधानीपूर्वक चयनित मेमोरी एक्सेस पैटर्न का उपयोग करके कैश एविक्शन की बहुत उच्च दर उत्पन्न करके अनकैश्ड मेमोरी एक्सेस प्राप्त करता है। यद्यपि कैश रिप्लेसमेंट पॉलिसीस प्रोसेसर के बीच भिन्न होती है, यह दृष्टिकोण अनुकूली कैश निष्कासन रणनीति एल्गोरिथम को नियोजित करके वास्तुशिल्प मतभेदों को दूर करता है।[18]: 64–68  इस दृष्टिकोण के लिए अवधारणा का प्रमाण मूल कोड कार्यान्वयन और शुद्ध जावास्क्रिप्ट कार्यान्वयन दोनों के रूप में प्रदान किया जाता है जो फ़ायरफ़ॉक्स 39 पर चलता है। और जावास्क्रिप्ट कार्यान्वयन, जिसे रोहैमर.जे.एस कहा जाता है,[40] इस प्रकार से लार्ज टाइपिंग सरणी डेटा स्ट्रूकचर का उपयोग करता है और बड़े पेजेस का उपयोग करके उनके आंतरिक मेमोरी आवंटन पर निर्भर करता है; परिणामस्वरूप, यह बहुत ही निम्न-स्तरीय भेद्यता का एक बहुत ही उच्च-स्तरीय शोषण प्रदर्शित करता है।[41][42][43][44]

अक्टूबर 2016 में, शोधकर्ताओं ने डीआरएएमएमईआर, एक एंड्रॉइड एप्लिकेशन प्रकाशित किया जो कई लोकप्रिय स्मार्टफ़ोन पर रूट एक्सेस प्राप्त करने के लिए अन्य विधियों के साथ-साथ रो हैमर का उपयोग करता है।[45] किन्तु भेद्यता के रूप में स्वीकार किया गया था CVE-2016-6728[46] और गूगल द्वारा एक महीने के अन्दर एक मिटीगेसन जारी किया गया था। चूंकि, अटैक के संभावित कार्यान्वयन की सामान्य प्रकृति के कारण, एक प्रभावी सॉफ़्टवेयर पैच को विश्वसनीय रूप से प्रयुक्त करना कठिन है। जून 2018 तक, शिक्षा जगत और उद्योग द्वारा किए गए अधिकांश पैच प्रस्ताव या तो नियुक्त करने के लिए अव्यावहारिक थे या सभी अटैक को रोकने में अपर्याप्त थे। मिटीगेसन के रूप में, शोधकर्ताओं ने एक हल्के बचाव का प्रस्ताव रखा जो गार्ड रो के साथ डीएमए बफ़र्स को अलग करके डायरेक्ट मेमोरी एक्सेस (डीएमए) पर आधारित अटैक को रोकता है।[47][48]

इस प्रकार से मई 2021 में, गूगल रिसर्च टीम ने एक नए कारनामे, हाफ-डबल की घोषणा की जो कुछ नए डीआरएएम चिप्स की बिगड़ती भौतिकी का लाभ उठाता है।[49]


यह भी देखें

  • मेमोरी स्क्रेम्ब्लिंग  – मेमोरी कंट्रोलर सुविधा जो मेमोरी में लिखे गए उपयोगकर्ता डेटा को छद्म-यादृच्छिक पैटर्न में परिवर्तन कर देती है
  • विकिरण हार्डनिंग – इलेक्ट्रॉनिक घटकों को आयनीकृत विकिरण के कारण होने वाली क्षति या खराबी के प्रति प्रतिरोधी बनाने का कार्य
  • सिंगल इवेन्ट अपसेट  – किसी इलेक्ट्रॉनिक उपकरण में संवेदनशील नोड पर अटैक करने वाले आयनों या विद्युत चुम्बकीय विकिरण के कारण होने वाला अवस्था परिवर्तन
  • सॉफ्ट एरर – एक प्रकार की एरर जिसमें सिग्नल या डेटा में गलत परिवर्तन होते हैं किन्तु अंडरलाइनिंग डिवाइस या सर्किट में कोई परिवर्तन नहीं होता है

टिप्पणियाँ

  1. Research shows that the rate of disturbance errors in a selection of DDR3 memory modules closes to zero when the memory refresh interval becomes roughly seven times shorter than the default of 64 ms.[15]: 17, 26 


संदर्भ

  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 Yoongu Kim; Ross Daly; Jeremie Kim; Chris Fallin; Ji Hye Lee; Donghyuk Lee; Chris Wilkerson; Konrad Lai; Onur Mutlu (June 24, 2014). "Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors" (PDF). ece.cmu.edu. IEEE. Retrieved March 10, 2015.
  2. 2.0 2.1 2.2 2.3 2.4 2.5 Goodin, Dan (March 10, 2015). "अत्याधुनिक हैक DRAM की कमजोरी का फायदा उठाकर सुपर यूजर का दर्जा देता है". Ars Technica. Retrieved March 10, 2015.
  3. 3.0 3.1 Ducklin, Paul (March 12, 2015). "'Row hammering' – how to exploit a computer by overworking its memory". Sophos. Retrieved March 14, 2015.
  4. 4.0 4.1 4.2 4.3 4.4 4.5 4.6 Seaborn, Mark; Dullien, Thomas (March 9, 2015). "कर्नेल विशेषाधिकार प्राप्त करने के लिए DRAM रोहैमर बग का शोषण करना". googleprojectzero.blogspot.com. Retrieved March 10, 2015.
  5. "Using Rowhammer bitflips to root Android phones is now a thing". Ars Technica. Retrieved October 25, 2016.
  6. Swati Khandelwal (May 3, 2018). "GLitch: New 'Rowhammer' Attack Can Remotely Hijack Android Phones". The Hacker News. Retrieved May 21, 2018.
  7. Mohit Kumar (May 10, 2018). "New Rowhammer Attack Can Hijack Computers Remotely Over the Network". The Hacker News. Retrieved May 21, 2018.
  8. Swati Khandelwal (May 16, 2018). "Nethammer—Exploiting DRAM Rowhammer Bug Through Network Requests". The Hacker News. Retrieved May 21, 2018.
  9. 9.0 9.1 Marcin Kaczmarski (August 2014). "Thoughts on Intel Xeon E5-2600 v2 Product Family Performance Optimisation – Component selection guidelines" (PDF). Intel. p. 13. Retrieved March 11, 2015.
  10. 10.0 10.1 Greenberg, Marc (October 15, 2014). "DDR DRAM इंटरफेस के लिए विश्वसनीयता, उपलब्धता और सेवाक्षमता (RAS)।" (PDF). memcon.com. pp. 2, 7, 10, 20, 27. Archived from the original (PDF) on July 5, 2016. Retrieved March 11, 2015.
  11. 11.0 11.1 11.2 "Lecture 12: DRAM Basics" (PDF). utah.edu. February 17, 2011. pp. 2–7. Retrieved March 10, 2015.
  12. 12.0 12.1 "Understanding DRAM Operation" (PDF). IBM. December 1996. Archived from the original (PDF) on August 29, 2017. Retrieved March 10, 2015.
  13. David August (November 23, 2004). "Lecture 20: Memory Technology" (PDF). cs.princeton.edu. pp. 3–5. Archived from the original (PDF) on May 19, 2005. Retrieved March 10, 2015.
  14. Bianca Schroeder; Eduardo Pinheiro; Wolf-Dietrich Weber (June 25, 2009). "DRAM Errors in the Wild: A Large-Scale Field Study" (PDF). cs.toronto.edu. ACM. Retrieved March 10, 2015.
  15. 15.0 15.1 15.2 15.3 15.4 Yoongu Kim; Ross Daly; Jeremie Kim; Chris Fallin; Ji Hye Lee; Donghyuk Lee; Chris Wilkerson; Konrad Lai; Onur Mutlu (June 24, 2014). "Flipping Bits in Memory Without Accessing Them: DRAM Disturbance Errors" (PDF). ece.cmu.edu. Retrieved March 10, 2015.
  16. 16.0 16.1 Kyungbae Park; Sanghyeon Baeg; ShiJie Wen; Richard Wong (October 2014). "Active-precharge hammering on a row induced failure in DDR3 SDRAMs under 3× nm technology". Active-Precharge Hammering on a Row Induced Failure in DDR3 SDRAMs under 3x nm Technology. IEEE. pp. 82–85. doi:10.1109/IIRW.2014.7049516. ISBN 978-1-4799-7308-8. S2CID 14464953.
  17. Yoongu Kim; Ross Daly; Jeremie Kim; Chris Fallin; Ji Hye Lee; Donghyuk Lee; Chris Wilkerson; Konrad Lai; Onur Mutlu (July 30, 2015). "RowHammer: Reliability Analysis and Security Implications" (PDF). ece.cmu.edu. Retrieved August 7, 2015.
  18. 18.0 18.1 18.2 18.3 18.4 18.5 18.6 Mark Seaborn; Thomas Dullien (August 6, 2015). "Exploiting the DRAM rowhammer bug to gain kernel privileges: How to cause and exploit single bit errors" (PDF). Black Hat. Retrieved August 7, 2015.
  19. Andy Greenberg (March 10, 2015). "Googlers' Epic Hack Exploits How Memory Leaks Electricity". Wired. Retrieved March 17, 2015.
  20. 20.0 20.1 Jattke, Patrick; van der Veen, Victor; Frigo, Pietro; Gunter, Stijn; Razavi, Kaveh (May 25, 2022). "Blacksmith: Scalable Rowhammering in the Frequency Domain" (PDF). comsec.ethz.ch. IEEE. Retrieved November 9, 2022.
  21. Blacksmith Rowhammer Fuzzer, 2022-11-02, retrieved 2022-11-09
  22. Cojocar, Lucian; Razavi, Kaveh; Giuffrida, Cristiano; Bos, Herbert (2019). "Exploiting Correcting Codes: On the Effectiveness of ECC Memory Against Rowhammer Attacks" (PDF). 2019 IEEE Symposium on Security and Privacy (SP). Symposium on Security & Privacy. IEEE. pp. 55–71. doi:10.1109/sp.2019.00089. ISBN 978-1-5386-6660-9. Retrieved 2022-05-30.
  23. VUsec, Systems and Network Security Group (November 11, 2018). "ECCploit: ECC Memory Vulnerable to Rowhammer Attacks After All". Vrije Universiteit Amsterdam. Retrieved 2022-05-30.
  24. "Row Hammer Privilege Escalation (Lenovo Security Advisory LEN-2015-009)". Lenovo. August 5, 2015. Retrieved August 6, 2015.
  25. Dae-Hyun Kim; Prashant J. Nair; Moinuddin K. Qureshi (October 9, 2014). "Architectural Support for Mitigating Row Hammering in DRAM Memories" (PDF). ece.gatech.edu. IEEE. Archived from the original (PDF) on March 11, 2015. Retrieved March 11, 2015.
  26. 26.0 26.1 "JEDEC standard JESD209-4A: Low Power Double Data Rate (LPDDR4)" (PDF). JEDEC. November 2015. pp. 222–223. Retrieved January 10, 2016.
  27. Kishore Kasamsetty (October 22, 2014). "DRAM scaling challenges and solutions in LPDDR4 context" (PDF). memcon.com. p. 11. Archived from the original (PDF) on June 3, 2016. Retrieved January 10, 2016.
  28. Omar Santos (March 9, 2015). "Mitigations Available for the DRAM Row Hammer Vulnerability". cisco.com. Retrieved March 11, 2015.
  29. Marc Greenber (March 9, 2015). "Row Hammering: What it is, and how hackers could use it to gain access to your system". synopsys.com. Retrieved January 10, 2016.
  30. Jung-Bae Lee (November 7, 2014). "Green Memory Solution (Samsung Investors Forum 2014)" (PDF). teletogether.com. Samsung Electronics. p. 15. Retrieved January 10, 2016.
  31. "JEDEC standard JESD79-4A: DDR4 SDRAM" (PDF). JEDEC. November 2013. Retrieved January 10, 2016.
  32. "Data Sheet: 4 Gb ×4, ×8 and ×16 DDR4 SDRAM Features" (PDF). Micron Technology. November 20, 2015. pp. 48, 131. Archived from the original (PDF) on February 10, 2018. Retrieved January 10, 2016.
  33. Nishad Herath; Anders Fogh (August 6, 2015). "These are Not Your Grand Daddy's CPU Performance Counters: CPU Hardware Performance Counters for Security" (PDF). Black Hat. pp. 29, 38–68. Retrieved January 9, 2016.
  34. "PassMark MemTest86 – Version History". memtest86.com. February 13, 2015. Retrieved March 11, 2015.
  35. Pehr Söderman (2011). "Memory Protection" (PDF). csc.kth.se. Retrieved March 11, 2015.
  36. Niels Provos; Markus Friedl; Peter Honeyman (August 10, 2003). "Preventing Privilege Escalation" (PDF). niels.xtdnet.nl. Retrieved March 11, 2015.
  37. 37.0 37.1 37.2 Liam Tung (March 10, 2015). ""Rowhammer" DRAM flaw could be widespread, says Google". ZDNet. Retrieved March 11, 2015.
  38. Murat Balaban (June 6, 2009). "Buffer Overflows Demystified" (TXT). enderunix.org. Retrieved March 11, 2015.
  39. "CLFLUSH: Flush Cache Line (x86 Instruction Set Reference)". renejeschke.de. March 3, 2013. Archived from the original on December 3, 2017. Retrieved August 6, 2015.
  40. Daniel Gruss; Clémentine Maurice (July 27, 2015). "IAIK/rowhammerjs: rowhammerjs/rowhammer.js at master". github.com. Retrieved July 29, 2015.
  41. Daniel Gruss; Clementine Maurice; Stefan Mengard (July 24, 2015). "Rowhammer.js: A Remote Software-Induced Fault Attack in JavaScript". arXiv:1507.06955 [cs.CR].
  42. David Auerbach (July 28, 2015). "Rowhammer security exploit: Why a new security attack is truly terrifying". slate.com. Retrieved July 29, 2015.
  43. Alix Jean-Pharuns (July 30, 2015). "Rowhammer.js Is the Most Ingenious Hack I've Ever Seen". Motherboard.
  44. Dan Goodin (August 4, 2015). "DRAM 'Bitflipping' exploit for attacking PCs: Just add JavaScript". Ars Technica.
  45. VUSec (October 2016). "DRAMMER: FLIP FENG SHUI GOES MOBILE". Retrieved January 21, 2017.
  46. NIST National Vulnerability Database (NVD). "CVE-2016-6728 Detail".
  47. Victor van der Veen; Martina Lindorfer; Yanick Fratantonio; Harikrishnan Padmanabha Pillai; Giovanni Vigna; Christopher Kruegel; Herbert Bos; Kaveh Razavi (2018), "GuardION: Practical Mitigation of DMA-Based Rowhammer Attacks on ARM", Detection of Intrusions and Malware, and Vulnerability Assessment, Springer International Publishing, pp. 92–113, doi:10.1007/978-3-319-93411-2_5, hdl:1871.1/112a5465-aeb5-40fd-98ff-6f3b7c976676, ISBN 9783319934105
  48. "RAMPAGE AND GUARDION - Vulnerabilities in modern phones enable unauthorized access". Retrieved June 30, 2018.
  49. "Introducing Half-Double: New hammering technique for DRAM Rowhammer bug". Google. 2021-05-25. Retrieved 2021-12-02.


बाहरी संबंध