மெல்டவுன் தாக்குதல்களை அனுமதிக்கும் AMD செயலிகளில் மற்றொரு பாதிப்பு அடையாளம் காணப்பட்டுள்ளது

கிராஸ் தொழில்நுட்ப பல்கலைக்கழகம் (ஆஸ்திரியா) மற்றும் தகவல் பாதுகாப்புக்கான ஹெல்ம்ஹோல்ட்ஸ் மையம் (CISPA) ஆகியவற்றின் ஆராய்ச்சியாளர்கள் குழு அனைத்து AMD செயலிகளிலும் உள்ள பாதிப்பு (CVE-2021-26318) பற்றிய தகவலை வெளிப்படுத்தியுள்ளது, இது மெல்டவுன்-கிளாஸைச் செயல்படுத்துவதை சாத்தியமாக்குகிறது. பக்க-சேனல் தாக்குதல்கள் (ஆரம்பத்தில் AMD செயலிகள் மெல்டவுன் பாதிப்பால் பாதிக்கப்படவில்லை என்று கருதப்பட்டது). நடைமுறை அடிப்படையில், இந்த தாக்குதல் இரகசிய தகவல் தொடர்பு சேனல்களை நிறுவவும், கர்னலில் செயல்பாடுகளை கண்காணிக்கவும் அல்லது கர்னலில் உள்ள பாதிப்புகளை பயன்படுத்தி KASLR பாதுகாப்பை புறக்கணிக்க கர்னல் நினைவகத்தில் உள்ள முகவரிகள் பற்றிய தகவலை பெறவும் பயன்படுத்தப்படலாம்.

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

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

சோதனையின் போது, ​​ஆராய்ச்சியாளர்கள் கர்னலில் இருந்து வினாடிக்கு 52 பைட்டுகள் வேகத்தில் பயனர் இடத்தில் ஒரு செயல்முறைக்கு தகவலை கசிய சமாளித்தனர், கர்னலில் ஒரு கேஜெட் இருப்பதால் “if (offset < data_len) tmp = LUT[தரவு[ஆஃப்செட்] * 4096];” . ஊக செயல்பாட்டின் போது தற்காலிக சேமிப்பில் முடிவடையும் பக்க சேனல்கள் வழியாக தகவலை மீட்டெடுப்பதற்கு பல முறைகள் முன்மொழியப்பட்டுள்ளன. முதல் முறையானது "PREFETCH" (PREFETCH+Time) செயலியின் செயலாக்க நேரத்தின் விலகல்களை பகுப்பாய்வு செய்வதன் அடிப்படையிலானது, இரண்டாவது "PREFETCH" (PREFETCH+Power) ஐ இயக்கும் போது ஆற்றல் நுகர்வு மாற்றத்தை மாற்றுகிறது.

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

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

ஆதாரம்: opennet.ru

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