Chrome இல் ஸ்பெக்டர் பாதிப்புகளைப் பயன்படுத்துவதற்கான புதிய நுட்பம்

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

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

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

CPUIntel i89-7K மற்றும் i6700-7U கொண்ட கணினிகளில் Chrome 7600 இல் செயல்படும் சுரண்டலின் முன்மாதிரியை ஆராய்ச்சியாளர்கள் வெளியிட்டுள்ளனர். சுரண்டலை உருவாக்கும் போது, ​​கூகுளால் முன்னர் வெளியிடப்பட்ட ஜாவாஸ்கிரிப்ட் குறியீட்டின் முன்மாதிரிகள் ஸ்பெக்டர்-வகுப்பு தாக்குதல்களை மேற்கொள்ள பயன்படுத்தப்பட்டன. இன்டெல் மற்றும் ஆப்பிள் எம் 1 செயலிகளை அடிப்படையாகக் கொண்ட அமைப்புகளுக்கு வேலை செய்யும் சுரண்டல்களை ஆராய்ச்சியாளர்கள் தயாரிக்க முடிந்தது என்பது குறிப்பிடத்தக்கது, இது நினைவக வாசிப்பை வினாடிக்கு 500 பைட்டுகள் வேகத்திலும் 96% துல்லியத்திலும் ஒழுங்கமைக்க உதவுகிறது. இந்த முறை AMD செயலிகளுக்கும் பொருந்தும் என்று கருதப்படுகிறது, ஆனால் முழுமையாக செயல்படும் சுரண்டலை தயார் செய்ய முடியவில்லை.

கூகுள் குரோம், மைக்ரோசாஃப்ட் எட்ஜ் மற்றும் பிரேவ் உள்ளிட்ட குரோமியம் இன்ஜின் அடிப்படையிலான எந்த உலாவிகளுக்கும் இந்தத் தாக்குதல் பொருந்தும். பயர்பாக்ஸுடன் பணிபுரிய இந்த முறையை மாற்றியமைக்க முடியும் என்றும் ஆராய்ச்சியாளர்கள் நம்புகின்றனர், ஆனால் பயர்பாக்ஸ் இயந்திரம் குரோமில் இருந்து மிகவும் வேறுபட்டது என்பதால், அத்தகைய சுரண்டலை உருவாக்கும் பணி எதிர்காலத்தில் விடப்பட்டுள்ளது.

அறிவுறுத்தல்களின் ஊகச் செயல்பாட்டுடன் தொடர்புடைய உலாவி அடிப்படையிலான தாக்குதல்களிலிருந்து பாதுகாக்க, Chrome முகவரி இடப் பிரிவைச் செயல்படுத்துகிறது - சாண்ட்பாக்ஸ் தனிமைப்படுத்தல் JavaScript ஐ 32-பிட் சுட்டிகளுடன் மட்டுமே வேலை செய்ய அனுமதிக்கிறது மற்றும் 4 ஜிபி குவியல்களில் ஹேண்ட்லர்களின் நினைவகத்தைப் பகிர்ந்து கொள்கிறது. முழு செயல்முறை முகவரி இடத்திற்கான அணுகலை வழங்கவும், 32-பிட் வரம்பைத் தவிர்க்கவும், ஆராய்ச்சியாளர்கள் வகை குழப்பம் என்ற நுட்பத்தைப் பயன்படுத்தினர், இது ஜாவாஸ்கிரிப்ட் இயந்திரத்தை ஒரு தவறான வகையுடன் செயலாக்கத் தூண்டுகிறது, இது 64-பிட்டை உருவாக்குவதை சாத்தியமாக்குகிறது. இரண்டு 32-பிட் மதிப்புகளின் கலவையை அடிப்படையாகக் கொண்ட சுட்டி.

தாக்குதலின் சாராம்சம் என்னவென்றால், ஜாவாஸ்கிரிப்ட் எஞ்சினில் சிறப்பாக வடிவமைக்கப்பட்ட தீங்கிழைக்கும் பொருளை செயலாக்கும் போது, ​​வரிசையை அணுகும் வழிமுறைகளை ஊகமாக செயல்படுத்த வழிவகுக்கும் நிலைமைகள் உருவாக்கப்படுகின்றன. 64-பிட் சுட்டிக்காட்டி பயன்படுத்தப்படும் பகுதியில் தாக்குபவர்-கட்டுப்படுத்தப்பட்ட புலங்கள் வைக்கப்படும் வகையில் பொருள் தேர்ந்தெடுக்கப்பட்டது. தீங்கிழைக்கும் பொருளின் வகையானது செயலாக்கப்படும் வரிசையின் வகையுடன் பொருந்தாததால், சாதாரண நிலைமைகளின் கீழ், வரிசைகளை அணுகுவதற்குப் பயன்படுத்தப்படும் குறியீட்டை நீக்குவதற்கான ஒரு பொறிமுறையால் இத்தகைய செயல்கள் Chrome இல் தடுக்கப்படுகின்றன. இந்தச் சிக்கலைத் தீர்க்க, வகை குழப்பம் தாக்குதலுக்கான குறியீடு நிபந்தனைக்குட்பட்ட "if" தொகுதியில் வைக்கப்படுகிறது, இது சாதாரண நிலைமைகளின் கீழ் செயல்படுத்தப்படாது, ஆனால் செயலி மேலும் கிளைகளை தவறாகக் கணித்திருந்தால், ஊக பயன்முறையில் செயல்படுத்தப்படும்.

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

ஆதாரம்: opennet.ru

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