एंट्रीसाइन: AMD Zen प्रोसेसर को प्रभावित करने वाली एक भेद्यता

एंट्रीसाइन भेद्यता लोगो

हाल ही में, गूगल इंजीनियरों ने घोषणा की है एक महत्वपूर्ण भेद्यता के बारे में विवरण की पहचान की गई CVE-2024-56161। के नाम से बपतिस्मा लिया गया प्रवेश चिह्न, यह विफलता डिजिटल हस्ताक्षर सत्यापन तंत्र से बचने की अनुमति देता है ज़ेन माइक्रोआर्किटेक्चर की पहली चार पीढ़ियों का उपयोग करते हुए AMD प्रोसेसरों पर माइक्रोकोड अपडेट के दौरान।

प्रवेश चिह्न प्रोसेसर की एक विस्तृत श्रृंखला को प्रभावित करता है, यह हमलावर को माइक्रोकोड की अखंडता सुनिश्चित करने वाले सुरक्षा नियंत्रणों को बायपास करने की अनुमति देता है, जिससे हार्डवेयर व्यवहार में दुर्भावनापूर्ण संशोधनों का द्वार खुल जाता है।

भेद्यता के बारे में

इस भेद्यता का मूल AES-CMAC एल्गोरिथम के उपयोग में निहित है डिजिटल हस्ताक्षर सत्यापन के दौरान विश्वसनीय हैश फ़ंक्शन के बजाय इसका उपयोग किया जाता है। AMD ने इस एल्गोरिथ्म का उपयोग माइक्रोकोड पर हस्ताक्षर करने के लिए किया, जिसमें एक निजी RSA कुंजी का उपयोग किया गया तथा पैच में एक सार्वजनिक कुंजी जोड़ी गई।

सत्यापन प्रक्रिया इसमें प्रोसेसर द्वारा विनिर्माण के दौरान एम्बेड की गई सार्वजनिक कुंजी के हैश की तुलना पैच में निर्दिष्ट कुंजी के हैश से की जाती है। तथापि, चूंकि CMAC का उपयोग किया गया था, जो वास्तव में एक हैश फ़ंक्शन नहीं बल्कि एक प्रमाणीकरण कोड है एक कुंजी पर निर्भर संदेशों की संख्या के आधार पर, सुरक्षा भंग का मामला सामने आया।

CMAC AES एल्गोरिथम पर आधारित है और डेटा के ब्लॉक को संयोजित करने के लिए XOR ऑपरेशन का उपयोग करता है, लेकिन क्योंकि यह टकराव प्रतिरोधी होने के लिए डिज़ाइन नहीं किया गया है, यह एक हमलावर को जो एन्क्रिप्शन कुंजी जानता है, मध्यवर्ती मूल्यों की गणना करने की अनुमति देता है जो इनपुट में परिवर्तनों की भरपाई करता है, जिससे ऑपरेशन का परिणाम अपरिवर्तित रहता है।

इंटेल और एएमडी दोनों ने अद्वितीय RISC-आधारित माइक्रोकोड अनुदेश सेट डिजाइन किए, जो कि दस्तावेजीकृत नहीं थे, लेकिन संकल्पनात्मक रूप से अन्य RISC अनुदेश सेटों जैसे ARM या RISC-V के समान थे। सॉफ्टवेयर की तरह, जटिल हार्डवेयर को सही ढंग से क्रियान्वित करना चुनौतीपूर्ण है; ऐतिहासिक रूप से, इसके कारण कई सुप्रसिद्ध बग उत्पन्न हुए हैं, जैसे कि 1994 में पेंटियम में इंटेल का FDIV बग।

AMD एकल एन्क्रिप्शन कुंजी प्रदान करता है एईएस-सीएमएसी के लिए ज़ेन 1 से ज़ेन 4 तक सभी प्रोसेसरों मेंइसका मतलब यह है कि यदि कोई एक सीपीयू से इस कुंजी को निकालता है, तो वह इसे अन्य सभी पर लागू कर सकता है। वास्तव में, शोधकर्ताओं ने पाया है कि ये प्रोसेसर एक ज्ञात कुंजी का उपयोग करते हैं, जिसे NIST SP 800-38B दिशानिर्देशों में दिए गए उदाहरण से लिया गया है।

इससे, सिद्धांततः, नकली पैच बनाने की अनुमति मिल गई है पैच की सार्वजनिक कुंजी को किसी अन्य कुंजी से प्रतिस्थापित करके जो समान हैश उत्पन्न करती है, और डिजिटल हस्ताक्षर के लिए टकराव का चयन करें। इस प्रकार के टकरावों को माइक्रोकोड में प्रतीत होने वाले यादृच्छिक डेटा के एक अतिरिक्त ब्लॉक को जोड़कर प्राप्त किया जाता है, ताकि संशोधित पैच AMD के मूल डिजिटल हस्ताक्षर को बरकरार रख सके।

EntrySign, CVE-2024-56161 भेद्यता जो हमलावरों को सुरक्षा नियंत्रणों को बायपास करने की अनुमति देती है

इस समस्या का समाधान करने के लिएAMD प्रोसेसर में माइक्रोकोड में हेरफेर करने के नए तरीके खोजने के लिए, Google इंजीनियर उन्होंने ज़ेनटूल विकसित किया, माइक्रोकोड पैच जांच के लिए संयुक्त उपकरणों का एक संग्रह, जिसमें सीमित वियोजन, रिवर्स इंजीनियरिंग असेंबली की सीमित मात्रा का उपयोग करके माइक्रोकोड पैच का निर्माण शामिल है।

ज़ेनटूल को माइक्रोकोड के विश्लेषण और संशोधन को सुविधाजनक बनाने के लिए डिज़ाइन किया गया है, जो कमांड की एक श्रृंखला प्रदान करता है जो आपको पैरामीटर्स को संपादित करने और निर्देशों को बदलने, संशोधित माइक्रोकोड को सीपीयू में लोड करने और पैच के डिजिटल हस्ताक्षर को सही करने की अनुमति देता है।

उदाहरण के लिए, "zentool edit" कमांड माइक्रोकोड फ़ाइलों में मापदंडों के संपादन को सक्षम करता है, जबकि "zentool print" माइक्रोकोड की आंतरिक संरचनाओं के बारे में विस्तृत जानकारी प्रदर्शित करता है। इसके अलावा, «zentool load» माइक्रोकोड को CPU में लोड करता है और «zentool reign» किए गए परिवर्तनों को ध्यान में रखते हुए डिजिटल हस्ताक्षर की पुनर्गणना करता है। इसके अतिरिक्त, पैकेज में mcas और mcop जैसी उपयोगिताएं शामिल हैं, जो माइक्रोकोड के साथ सीधे काम करने के लिए असेंबलर और डिसअसेम्बलर कार्यक्षमता प्रदान करती हैं।

की क्षमताएं ज़ेनटूल डेवलपर्स को अपने स्वयं के पैच तैयार करने और लागू करने की अनुमति देता है AMD Zen प्रोसेसर पर। एक उदाहरण के रूप में, एक पैच तैयार किया गया है जो RDRAND निर्देश के तर्क को संशोधित करता है। इस पैच को लागू करने के बाद, RDRAND निर्देश छद्म यादृच्छिक अनुक्रम उत्पन्न करना बंद कर देता है और लगातार संख्या 4 लौटाना शुरू कर देता है, इस प्रकार माइक्रोकोड को संशोधित करने और प्रोसेसर के अपेक्षित व्यवहार को बदलने की शक्ति का प्रदर्शन करता है।

यह उल्लेखनीय है Zentool एक विस्तृत गाइड के साथ आता है AMD माइक्रोकोड में प्रयुक्त RISC86 माइक्रोआर्किटेक्चर के बारे में, साथ ही कस्टम माइक्रोकोड बनाने का तरीका समझाने वाला एक अनुदेशात्मक नोट भी। यह मार्गदर्शिका अन्य बातों के अलावा यह भी बताती है कि नए प्रोसेसर निर्देशों को कैसे डिजाइन किया जाए, मौजूदा निर्देशों के व्यवहार को कैसे संशोधित किया जाए, तथा उन परिवर्तनों को सीधे सीपीयू में कैसे लोड किया जाए।

अंत में, यदि आप इसके बारे में अधिक जानने में रुचि रखते हैं, तो आप इसमें दिए गए विवरणों से परामर्श ले सकते हैं निम्नलिखित लिंक।


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।