ज़ेनब्लीड: इस एएमडी सुरक्षा बग के बारे में आपको जो कुछ जानने की ज़रूरत है

click fraud protection

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

2018 में स्पेक्टर और मेल्टडाउन सीपीयू कारनामे प्रचारित होने के बाद, कंप्यूटिंग दुनिया काफी सतर्क हो गई है प्रोसेसर में सुरक्षा बग और खामियां ढूंढने के बारे में, और पिछले पांच वर्षों में, शोधकर्ताओं ने बहुत कुछ पाया है। मई में पहली बार रिपोर्ट किए जाने के बाद 24 जुलाई को एक और कारनामे का सार्वजनिक रूप से खुलासा किया गया। इस बार, यह ज़ेन 2 आर्किटेक्चर पर निर्मित एएमडी प्रोसेसर के लिए विशिष्ट है, और इसे "कहा गया है"ज़ेनब्लीड". यहां वह सब कुछ है जो आपको ज़ेनब्लीड के बारे में जानने की ज़रूरत है और दुनिया के लिए इसका क्या मतलब है।

ज़ेनब्लीड कैसे काम करता है?

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

स्रोत: टैविस ऑरमैंडी

सीपीयू में रजिस्टर थोड़ी मात्रा में डेटा रख सकते हैं, आमतौर पर एक निर्देश, एक भंडारण पता, या किसी अन्य प्रकार का छोटा डेटा। XMM x86_64 आर्किटेक्चर में पंजीकृत होता है (इसलिए, प्रभावित ज़ेन 2 प्रोसेसर में से कोई भी) का उपयोग केवल डेटा पर गणना करने के लिए किया जा सकता है, मेमोरी को संबोधित करने के लिए नहीं। इसे YMM रजिस्टरों के मामले में 256 बिट्स और ZMM रजिस्टरों में 512 बिट्स तक बढ़ाया गया है। इस मामले में, एक्सएमएम निचले 128 बिट्स को संदर्भित करता है कुल ZMM रजिस्टर के 512 बिट्स।

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

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

जहां एक समस्या उत्पन्न होती है वह vzeroupper निर्देश में है, जो YMM और ZMM रजिस्टरों की स्थिति 128 और उच्चतर में बिट्स को शून्य कर देता है। यह विशेष रूप से AVX और लीगेसी SSE कोड के बीच संक्रमण करते समय किया जाता है, क्योंकि यह प्रदर्शन को समाप्त कर देता है झूठी निर्भरता के कारण होने वाले दंड के साथ-साथ उस प्रभाव से भी बचा जा सकता है जो पूर्णांक पदोन्नति के समान है सी।

यदि प्रोसेसर अनुमानतः vzeroupper निर्देश निष्पादित करता है, तो कोई उचित रोलबैक नहीं होता है। हालाँकि, प्रभावित Ryzen प्रोसेसर को इससे उबरने के लिए मजबूर किया जा सकता है, हालाँकि गलत तरीके से। एक बार इस स्थिति में, वर्तमान में निष्पादित प्रोग्राम वास्तविक समय में उन रजिस्टरों की जासूसी कर सकता है, किसी भी समय पूरे सिस्टम में प्रवाहित होने वाले डेटा को देख सकता है।

ज़ेनब्लीड से कौन से सीपीयू प्रभावित होंगे और पैच कब उपलब्ध होंगे?

जैसा कि पहले कहा गया है, ज़ेन 2 आर्किटेक्चर पर आधारित केवल एएमडी सीपीयू ही ज़ेनब्लीड सुरक्षा बग के प्रति संवेदनशील माने जाते हैं, लेकिन ज़ेन 2 आर्किटेक्चर ने सीपीयू को तीन श्रृंखलाओं में संचालित किया है, जिससे यह पता लगाना मुश्किल हो जाता है कि कौन से सीपीयू कमजोर हैं और कौन से नहीं हैं. यहां एक तालिका है जिससे सब कुछ स्पष्ट हो जाएगा:

प्रभावित सीपीयू

रायज़ेन 3000 सीरीज

APUs को छोड़कर सभी (जैसे Ryzen 3 3200G)

एपिक रोम

सभी

रायज़ेन 4000 सीरीज

सभी

राइजेन 5000 सीरीज

केवल 5300U, 5500U, और 5700U

राइजेन 7000 सीरीज

केवल 7020 एपीयू (उदाहरण के लिए रायज़ेन 3 7320यू)

यह AMD प्रोसेसर की एक बहुत बड़ी मात्रा है, और ये वही हैं जिनकी अब तक पुष्टि की गई है। ज़ेन 2 का उपयोग एपीयू में भी किया जाता है जो स्टीम डेक, एक्सबॉक्स सीरीज़ एस और एक्स और पीएस5 को पावर देता है। हमने किसी भी तरह से नहीं सुना है कि क्या ये सीपीयू भी प्रभावित हुए हैं, लेकिन जिस तरह से यह शोषण काम करता है, उसे देखते हुए, मुझे आश्चर्य होगा अगर वे भी प्रभावित नहीं हुए। ऐसा लगता नहीं है कि AMD ने इसे Xbox और PS5 में पैच किया है क्योंकि 7020 सीरीज़ के चिप्स, जो कि नए हैं, भी प्रभावित हुए हैं।

लेखन के समय, माइक्रोकोड को लिनक्स कर्नेल में सबमिट कर दिया गया है जो इस भेद्यता को ठीक कर देगा, और आपके ऑपरेटिंग सिस्टम या BIOS में पहले से ही एक अपडेट हो सकता है जो इस समस्या को ठीक करता है।

कमजोर सीपीयू का उपयोग करने वाले कंप्यूटरों के लिए इसका क्या मतलब है?

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

हालाँकि, डेटासेंटर और अपने कंप्यूटर पर संवेदनशील जानकारी संभालने वाले महत्वपूर्ण लोगों के लिए जोखिम बहुत अधिक है। एक कारण है कि एएमडी ने बहुत स्पष्ट कर दिया है कि भेद्यता को सार्वजनिक करने से पहले एपिक रोम को पैच कर दिया गया था: बहुत सारे संवेदनशील जानकारी को एपिक सीपीयू द्वारा प्रबंधित किया जा रहा है, और यह एक आपदा होगी यदि बड़े पैमाने के सर्वर को शक्ति देने वाला कोई भी सीपीयू सफलतापूर्वक काम करता है हमला किया। लिनक्स कर्नेल 6.4.6 पहले ही जारी किया जा चुका है और इसमें रोल करके इस भेद्यता को ठीक करता है आधिकारिक माइक्रोकोड पैच एएमडी से. ऐसा लगता है कि माइक्रोसॉफ्ट विंडोज़ में भी कुछ ऐसा ही शामिल करेगा।

चिंता से, AMD का आधिकारिक BIOS पैच कई महीनों तक रोल आउट नहीं हो सकता है, किस मामले में, वहाँ एक है "चिकन बिट"यदि आप Linux या FreeBSD मशीन पर हैं तो आप इसे सेट कर सकते हैं। लिनक्स मशीनों पर, आप एमएसआर-टूल्स का उपयोग कर सकते हैं और निम्नलिखित कमांड निष्पादित कर सकते हैं।

wrmsr -a 0xc0011029 $(($(rdmsr -c 0xc0011029) | (1<<9)))

फ्रीबीएसडी पर, आप निम्नलिखित का भी उपयोग कर सकते हैं।

cpucontrol(8)

भेद्यता को कम करने के लिए एसएमटी को अक्षम करना पर्याप्त नहीं है।

एक बात जो ज़ेनब्लीड को विशेष रूप से खराब बनाती है वह यह है कि ज़ेन 2 एएमडी के सबसे लोकप्रिय सीपीयू आर्किटेक्चर में से एक था। इसने 2019 और 2020 में एएमडी की वापसी शुरू की, और बहुत से लोग, कंपनियां और संगठन अभी भी 2023 में ज़ेन 2 प्रोसेसर वाले कंप्यूटर का उपयोग करते हैं, विशेष रूप से एपिक रोम सीपीयू. यह स्पेक्टर (जो 2019 से पहले के सभी सीपीयू को काफी हद तक प्रभावित करता है) और मेल्टडाउन (जो 2019 से पहले के सभी इंटेल सीपीयू को काफी हद तक प्रभावित करता है) जितना बुरा नहीं है, लेकिन यह अभी भी काफी हद तक है व्यापक.

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