ஸ்பெக்டர்-எஸ்டிஎல் தாக்குதலுக்கு ஏஎம்டி ஜென் 3 சிபியுக்களின் சாத்தியமான பாதிப்பை AMD உறுதிப்படுத்தியுள்ளது.

ஜென் 3 தொடர் செயலிகளில் செயல்படுத்தப்பட்ட PSF (Predictive Store Forwarding) ஆப்டிமைசேஷன் தொழில்நுட்பத்தின் பாதுகாப்பை பகுப்பாய்வு செய்யும் அறிக்கையை AMD வெளியிட்டுள்ளது, இந்த ஆய்வு மே 4 இல் அடையாளம் காணப்பட்ட ஸ்பெக்டர்-STL (Spectre-v2018) தாக்குதல் முறையின் பொருந்தக்கூடிய தன்மையை கோட்பாட்டளவில் உறுதிப்படுத்தியது. PSF தொழில்நுட்பம், ஆனால் நடைமுறையில், தாக்குதலுக்கு வழிவகுக்கும் திறன் கொண்ட குறியீடு வார்ப்புருக்கள் எதுவும் இதுவரை கண்டுபிடிக்கப்படவில்லை மேலும் ஒட்டுமொத்த ஆபத்தும் அற்பமானதாக மதிப்பிடப்பட்டுள்ளது.

ஸ்பெக்டர்-வி4 (ஊகக் கடை பைபாஸ்) தாக்குதல் என்பது மறைமுக முகவரிகளைப் பயன்படுத்தி மாற்று எழுதுதல் மற்றும் வாசிப்பு செயல்பாடுகளைச் செயலாக்கும் போது, ​​ஊகச் செயல்பாடுகளின் முடிவுகளை நிராகரித்த பிறகு, செயலி தற்காலிக சேமிப்பில் குடியேறிய தரவை மீட்டெடுப்பதை அடிப்படையாகக் கொண்டது என்பதை நினைவில் கொள்வோம். ஒரு வாசிப்பு செயல்பாடு எழுதும் செயல்பாட்டைத் தொடர்ந்து (எ.கா., mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]), இதே போன்ற செயல்பாடுகள் செய்யப்படுவதால், வாசிப்பு முகவரியின் ஆஃப்செட் ஏற்கனவே அறியப்பட்டிருக்கலாம் (படிப்பு செயல்பாடுகள் மிகவும் அடிக்கடி நிகழ்த்தப்படும் மற்றும் தற்காலிக சேமிப்பில் இருந்து வாசிப்புகள் செய்யப்படலாம்) மேலும் எழுத்தின் மறைமுக ஆஃப்செட் கணக்கிடப்படும் வரை காத்திருக்காமல், செயலி எழுதுவதற்கு முன் வாசிப்பை ஊகமாகச் செய்ய முடியும்.

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

AMD Zen 3 செயலிகளுடன் சேர்க்கப்பட்டது, PSF ஆனது STLF ஐ மேம்படுத்துகிறது (ஸ்டோர்-டு-லோட்-ஃபார்வர்டிங்), இது வாசிப்பு மற்றும் எழுதும் செயல்பாடுகளுக்கு இடையே உள்ள உறவை ஊகமாக வாசிப்பு செயல்பாடுகளை செய்கிறது. கிளாசிக் STLF ஐப் பயன்படுத்தும் போது, ​​செயலி முந்தைய "ஸ்டோர்" கட்டளையிலிருந்து நேரடியாக அனுப்பப்பட்ட தரவுகளில் "சுமை" செயல்பாட்டைச் செய்கிறது, முடிவு உண்மையில் நினைவகத்தில் எழுதப்படும் வரை காத்திருக்காமல், ஆனால் "லோட்" இல் பயன்படுத்தப்படும் முகவரிகளை உறுதிசெய்கிறது. மற்றும் "ஸ்டோர்" கட்டளைகள் பொருந்தும். PSF தேர்வுமுறையானது முகவரிச் சரிபார்ப்பை ஊகமாக்குகிறது மற்றும் ஒரு ஸ்டோர்/லோட் ஜோடி முன்பு ஒரு முகவரியைக் கையாள்வது செயல்படுத்தப்பட்டிருந்தால், முகவரித் தகவல் கணக்கிடப்படுவதற்கு முன்பு "சுமை" செயல்பாட்டைச் செய்கிறது. கணிப்பு தோல்வியுற்றால், நிலை பின்வாங்கப்படும், ஆனால் தரவு தற்காலிக சேமிப்பில் இருக்கும்.

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

PSF ஐ முழுமையாக அல்லது தேர்ந்தெடுக்கப்பட்ட முறையில் முடக்குவதற்கு ஏஎம்டி பல முறைகளை வழங்கியுள்ளது, ஆனால் பெரும்பாலான பயன்பாடுகளுக்கு மிகக் குறைவான ஆபத்தைக் கொடுத்து, இந்த தேர்வுமுறையை முன்னிருப்பாக முடக்க வேண்டாம் என்று பரிந்துரைத்துள்ளது. நம்பத்தகாத குறியீட்டை இயக்குபவர்களைத் தனிமைப்படுத்தும் செயல்முறைகளைத் தேர்ந்தெடுத்துப் பாதுகாக்க, தனிப்பட்ட த்ரெட்கள் உட்பட, “SSBD” மற்றும் “PSFD” MSR பிட்களை அமைப்பதன் மூலம் PSF ஐ முடக்க முன்மொழியப்பட்டுள்ளது. PSF எவ்வாறு இயக்கப்படுகிறது மற்றும் முடக்கப்படுகிறது என்பதைக் கட்டுப்படுத்தும் “psfd” மற்றும் “nopsfd” கட்டளை வரி விருப்பங்களைச் செயல்படுத்துவதன் மூலம் Linux கர்னலுக்கான இணைப்புகள் தயார் செய்யப்பட்டுள்ளன.

ஆதாரம்: opennet.ru

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