மறைக்கப்பட்ட அமைப்பு மற்றும் உலாவியை அடையாளம் காண ஒரு புதிய நுட்பத்தை அறிமுகப்படுத்தியது

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

இந்த அளவுருக்களைத் தீர்மானிக்க, உலாவியில் ஆராய்ச்சியாளர்களால் தயாரிக்கப்பட்ட ஜாவாஸ்கிரிப்ட் குறியீட்டை இயக்கினால் போதும். நடைமுறையில், இந்த முறை பயனரை மறைமுகமாக அடையாளம் காண்பதற்கான கூடுதல் ஆதாரமாக மட்டுமல்லாமல், OS, கட்டிடக்கலை மற்றும் உலாவி ஆகியவற்றைக் கருத்தில் கொண்டு, சுரண்டல்களின் இலக்கு பயன்பாட்டிற்கான கணினி சூழலின் அளவுருக்களை தீர்மானிக்கவும் பயன்படுத்தப்படலாம். Tor Browser போன்ற மறைக்கப்பட்ட அடையாள தடுப்பு வழிமுறைகளை செயல்படுத்தும் உலாவிகளைப் பயன்படுத்தும் போது இந்த முறை பயனுள்ளதாக இருக்கும். முறை செயல்படுத்தலுடன் மூல குறியீடு முன்மாதிரி வெளியிடப்பட்டது MIT உரிமத்தின் கீழ்.

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

செயல்பாடு getProperties(o) {
var முடிவு = [];
போது (o!== பூஜ்யம்) {
முடிவு = result.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
திரும்பும் முடிவு;
}

எடுத்துக்காட்டாக, Firefoxக்கான ஆவணங்கள் 2247 பண்புகளுக்கான ஆதரவைக் கூறுகின்றன, அதே சமயம் ஆவணமற்றவை உட்பட வரையறுக்கப்பட்ட பண்புகளின் உண்மையான எண்ணிக்கை 15709 (டோர் உலாவியில் - 15639), Chrome 2698 பண்புகள் அறிவிக்கப்படுகின்றன, ஆனால் உண்மையில் 13570 வழங்கப்படுகின்றன (இல்) Android க்கான Chrome - 13119) . பண்புகளின் எண்ணிக்கை மற்றும் மதிப்புகள் உலாவி பதிப்பிலிருந்து உலாவி பதிப்பு மற்றும் வெவ்வேறு இயக்க முறைமைகளில் வேறுபடுகின்றன.

OS இன் வகையை தீர்மானிக்க சில பண்புகளின் மதிப்புகள் மற்றும் இருப்பு பயன்படுத்தப்படலாம். எடுத்துக்காட்டாக, குபுண்டுவில் window.innerWidth பண்பு 1000 ஆகவும், Windows 10 இல் 1001 ஆகவும் அமைக்கப்பட்டுள்ளது. window.navigator.activeVRDisplays பண்பு விண்டோஸில் கிடைக்கிறது, ஆனால் அது லினக்ஸில் கிடைக்கவில்லை. Android க்கு, பல குறிப்பிட்ட அழைப்புகள் வழங்கப்படுகின்றன, ஆனால் window.SharedWorker இல்லை. இயக்க முறைமையை அடையாளம் காண, WebGL அளவுருக்களின் பகுப்பாய்வைப் பயன்படுத்தவும் முன்மொழியப்பட்டது, அதன் நிலை இயக்கிகளைப் பொறுத்தது. கூடுதலாக, WEBGL_debug_renderer_infoextensionஐ அழைப்பதன் மூலம் OpenGL ரெண்டரிங் இயந்திரத்தைப் பற்றிய தகவலைப் பெறலாம், இது ஒவ்வொரு இயக்க முறைமைக்கும் வேறுபட்டது.

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

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

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

போன்ற மறைமுகத் தரவுகளை கணக்கில் எடுத்துக்கொள்வது மற்ற அடையாள முறைகளில் அடங்கும் திரை தீர்மானம், ஆதரிக்கப்படும் MIME வகைகளின் பட்டியல், தலைப்பு சார்ந்த விருப்பங்கள் (, HTTP / 2 и HTTPS ஆதரவு), நிறுவப்பட்ட பகுப்பாய்வு செருகுநிரல்கள் மற்றும் எழுத்துருக்கள், வீடியோ கார்டுகளுக்கு குறிப்பிட்ட சில வலை APIகளின் கிடைக்கும் தன்மை அம்சங்கள் WebGL ஐப் பயன்படுத்தி வழங்குதல் மற்றும் கேன்வாஸ், கையாளுதல் CSS உடன், பணிபுரியும் அம்சங்களின் பகுப்பாய்வு சுட்டி и விசைப்பலகை.

ஆதாரம்: opennet.ru

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