ஜென்+ மற்றும் ஜென் 2 மைக்ரோஆர்கிடெக்சர்களை அடிப்படையாகக் கொண்ட AMD செயலிகளில் மெல்டவுன் வகுப்பு பாதிப்பு கண்டறியப்பட்டுள்ளது.

ட்ரெஸ்டனின் தொழில்நுட்ப பல்கலைக்கழக ஆராய்ச்சியாளர்கள் குழு, ஜென்+ மற்றும் ஜென் 2020 மைக்ரோஆர்கிடெக்சர்களை அடிப்படையாகக் கொண்ட AMD செயலிகளில் ஒரு பாதிப்பை (CVE-12965-2) கண்டறிந்துள்ளது, இது மெல்டவுன் வகுப்பு தாக்குதலை அனுமதிக்கிறது. ஏஎம்டி ஜென்+ மற்றும் ஜென் 2 செயலிகள் மெல்டவுன் பாதிப்புக்கு ஆளாகாது என்று ஆரம்பத்தில் கருதப்பட்டது, ஆனால் நியதி அல்லாத மெய்நிகர் முகவரிகளைப் பயன்படுத்தும் போது பாதுகாக்கப்பட்ட நினைவகப் பகுதிகளுக்கு ஊக அணுகலுக்கு வழிவகுக்கும் ஒரு அம்சத்தை ஆராய்ச்சியாளர்கள் அடையாளம் கண்டுள்ளனர்.

AMD64 கட்டமைப்பு மெய்நிகர் முகவரியின் முதல் 48 பிட்களை மட்டுமே பயன்படுத்துகிறது மற்றும் மீதமுள்ள 16 பிட்களை புறக்கணிக்கிறது. பிட்கள் 48 முதல் 63 வரை எப்போதும் பிட் 47 இன் மதிப்பை (சைன் பிட் நீட்டிப்பு) நகலெடுக்க வேண்டும் என்று குறிப்பிடப்பட்டுள்ளது. இந்த நிபந்தனை மீறப்பட்டு, மேல் பிட்களின் தன்னிச்சையான மதிப்புகளைக் கொண்ட முகவரியை அணுக முயற்சித்தால், செயலி விதிவிலக்கை உருவாக்குகிறது. மேல் பிட்களை மீண்டும் மீண்டும் நிரப்புவதால், கிடைக்கக்கூடிய முகவரி இடத்தை இரண்டு தொகுதிகளாகப் பிரிக்கிறது - கீழ் ஒன்று (0 முதல் 00007FFFFFFFFFFFFFFFFFFF), இதில் மேல் பிட்கள் 800000000000 ஆகவும், மேல் ஒன்று (FFFF1 இலிருந்து FFFFFFFFFFFFFFFFFFFF) அனைத்து மேல் பிட்களும் XNUMX ஆக அமைக்கப்பட்டுள்ளன.

குறிப்பிடப்பட்ட தொகுதிகளுக்குள் வரும் முகவரிகள் நியமனம் என்றும், மேல் பிட்களின் தன்னிச்சையான உள்ளடக்கங்களைக் கொண்ட தவறான முகவரிகள் நியமனமற்றவை என்றும் அழைக்கப்படுகின்றன. கீழ் வரம்பு நியமன முகவரிகள் பொதுவாக செயல்முறை தரவுகளுக்கு ஒதுக்கப்படும், மேலும் மேல் வரம்பு கர்னல் தரவுகளுக்குப் பயன்படுத்தப்படுகிறது (பயனர் இடத்திலிருந்து இந்த முகவரிகளுக்கான அணுகல் சிறப்புப் பிரிப்பு மட்டத்தில் தடுக்கப்படுகிறது).

கிளாசிக் மெல்ட் டவுன் பாதிப்பு என்பது, அறிவுறுத்தல்களை ஊகச் செயல்பாட்டின் போது, ​​செயலி ஒரு தனிப்பட்ட தரவுப் பகுதியை அணுகலாம் மற்றும் அதன் முடிவை நிராகரிக்கலாம், ஏனெனில் அமைக்கப்பட்ட சலுகைகள் பயனரின் செயல்முறையிலிருந்து அத்தகைய அணுகலைத் தடுக்கின்றன. நிரலில், ஊக ரீதியாக செயல்படுத்தப்பட்ட தொகுதி முக்கிய குறியீட்டிலிருந்து நிபந்தனைக்குட்பட்ட கிளையால் பிரிக்கப்படுகிறது, இது உண்மையான நிலைமைகளில் எப்போதும் சுடுகிறது, ஆனால் நிபந்தனை அறிக்கையானது முன்கூட்டியே செயல்படுத்தும் போது செயலிக்கு தெரியாத கணக்கிடப்பட்ட மதிப்பைப் பயன்படுத்துகிறது. குறியீடு, அனைத்து கிளை விருப்பங்களும் ஊகமாக மேற்கொள்ளப்படுகின்றன.

ஊக ரீதியாக செயல்படுத்தப்படும் செயல்பாடுகள் பொதுவாக செயல்படுத்தப்படும் அறிவுறுத்தல்களின் அதே தற்காலிக சேமிப்பைப் பயன்படுத்துவதால், தனிப்பட்ட நினைவகப் பகுதியில் தனிப்பட்ட பிட்களின் உள்ளடக்கங்களை பிரதிபலிக்கும் குறிப்பான்களை தற்காலிக சேமிப்பில் அமைக்கவும், பின்னர் பொதுவாக செயல்படுத்தப்படும் குறியீட்டில் நேரத்தின் மூலம் அவற்றின் மதிப்பை தீர்மானிக்கவும் ஊக செயல்பாட்டின் போது சாத்தியமாகும். பகுப்பாய்வானது தேக்ககப்படுத்தப்பட்ட மற்றும் தற்காலிகமாக சேமிக்கப்படாத தரவுகளுக்கான அணுகல்.

AMD Zen+ மற்றும் Zen 2 செயலிகளைப் பாதிக்கும் புதிய பாதிப்பின் அம்சம் என்னவென்றால், CPUகள் மேல் 16 பிட்களைப் புறக்கணித்து, தவறான நியமனமற்ற முகவரிகளைப் பயன்படுத்தி நினைவகத்தை அணுகும் ஊக வாசிப்பு மற்றும் எழுதும் செயல்பாடுகளை அனுமதிக்கின்றன. இவ்வாறு, ஊக குறியீட்டு செயல்பாட்டின் போது, ​​செயலி எப்போதும் குறைந்த 48 பிட்களை மட்டுமே பயன்படுத்துகிறது, மேலும் முகவரியின் செல்லுபடியாகும் தன்மை தனித்தனியாக சரிபார்க்கப்படுகிறது. அசோசியேட்டிவ் டிரான்ஸ்லேஷன் பஃபர் (TLB) இல் உள்ள இயற்பியல் முகவரிக்கு நியமனமற்ற மெய்நிகர் முகவரியை மொழிபெயர்க்கும் போது, ​​முகவரியின் நியமனப் பகுதியில் ஒரு பொருத்தம் கண்டறியப்பட்டால், ஊக சுமை செயல்பாடு உள்ளடக்கங்களைக் கணக்கில் எடுத்துக் கொள்ளாமல் மதிப்பை வழங்கும். மேல் 16 பிட்கள், இது நூல்களுக்கு இடையே நினைவகப் பகிர்வைத் தவிர்க்க அனுமதிக்கிறது. பின்னர், செயல்பாடு தவறானதாகக் கருதப்பட்டு நிராகரிக்கப்படும், ஆனால் நினைவக அணுகல் நிறைவடையும் மற்றும் தரவு தற்காலிக சேமிப்பில் முடிவடையும்.

சோதனையின் போது, ​​ஃப்ளஷ்+ரீலோட் கேச் உள்ளடக்கங்களைத் தீர்மானிக்கும் நுட்பத்தைப் பயன்படுத்தி, ஆராய்ச்சியாளர்கள் ஒரு வினாடிக்கு 125 பைட்டுகள் வேகத்தில் மறைக்கப்பட்ட தரவு பரிமாற்றத்திற்கான சேனலை ஒழுங்கமைக்க முடிந்தது. AMD சில்லுகளுக்கு கூடுதலாக, சிக்கல் அனைத்து இன்டெல் செயலிகளையும் பாதிக்கிறது, அவை கிளாசிக் மெல்டவுன் பாதிப்புக்கு ஆளாகின்றன. மெல்டவுன் தாக்குதல்களைத் தடுக்க உதவும் அதே நுட்பங்கள், LFENCE வழிமுறைகளைப் பயன்படுத்துவது போன்றவை, இந்தப் புதிய வகை தாக்குதலுக்கு எதிராகப் பாதுகாக்கப் பயன்படும். எடுத்துக்காட்டாக, ஒரு இன்டெல் செயலி மெல்டவுனுக்கு எதிரான வன்பொருள் பாதுகாப்பை உள்ளடக்கியிருந்தால் அல்லது கணினியில் மென்பொருள் பாதுகாப்பு இயக்கப்பட்டிருந்தால், அத்தகைய கட்டமைப்புகள் புதிய தாக்குதல் மாறுபாட்டிற்கு எளிதில் பாதிக்கப்படாது.

அதே நேரத்தில், இன்டெல் செயலிகளுடன் ஒப்பிடும்போது, ​​​​ஏஎம்டி செயலிகளின் கட்டமைப்பு உண்மையான தாக்குதல்களை நடத்துவதற்கான வாய்ப்பைக் கட்டுப்படுத்துகிறது, ஆனால் அவற்றின் செயல்திறனை அதிகரிக்க மற்ற மைக்ரோஆர்கிடெக்சர் தாக்குதல்களுடன் இணைந்து ஒரு புதிய முறையைப் பயன்படுத்துவதை விலக்கவில்லை என்று ஆராய்ச்சியாளர்கள் குறிப்பிடுகின்றனர். குறிப்பாக, முன்மொழியப்பட்ட தாக்குதல், கர்னல் மற்றும் பிற செயல்முறைகளின் நினைவகப் பகுதிகளின் உள்ளடக்கங்களைத் தீர்மானிக்க அனுமதிக்காது, ஆனால் அதே மெய்நிகர் நினைவக இடத்தில் இயங்கும் அதே நிரலின் மற்ற இழைகளுக்கான அணுகலைப் பெறும் திறனுடன் மட்டுப்படுத்தப்பட்டுள்ளது.

பாதிப்பு இல்லாத ஒரு நிரல் அதன் இழைகளுக்கு அணுகலைப் பெறும் திறனைக் கொண்டிருப்பதால், நடைமுறைக் கண்ணோட்டத்தில் சாண்ட்பாக்ஸ் தனிமைப்படுத்தலைத் தவிர்ப்பதற்கும், மூன்றாம் தரப்பு செயல்படுத்த அனுமதிக்கும் நிரல்களில் மற்ற இழைகளின் வேலையில் குறுக்கீடு செய்வதற்கும் இந்த முறை ஆர்வமாக உள்ளது. இணைய உலாவிகள் மற்றும் JIT இயந்திரங்கள் போன்ற குறியீடு. ஸ்பைடர்மன்கி ஜாவாஸ்கிரிப்ட் என்ஜின் மற்றும் லினக்ஸ் கர்னலின் பாதிப்பை ஆராய்ச்சியாளர்கள் ஆய்வு செய்தனர், ஆனால் தாக்குதலுக்கு பயன்படுத்தக்கூடிய பாதிக்கப்படக்கூடிய குறியீடு வரிசைகளை கண்டுபிடிக்க முடியவில்லை. பயன்பாடுகளைத் தாக்குவதுடன், செயலியின் மைக்ரோ ஆர்க்கிடெக்சரல் கூறுகளுக்கு இடையே ஏற்றுக்கொள்ள முடியாத தரவு ஓட்டங்களை கட்டாயப்படுத்தவும், மற்ற மைக்ரோஆர்கிடெக்சரல் பாதிப்புகளைப் பயன்படுத்தவும் இந்த முறை பயன்படுத்தப்படலாம்.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்