'n Nuwe tegniek vir versteekte stelsel- en blaaieridentifikasie bekendgestel

’n Groep navorsers van die Tegniese Universiteit van Graz (Oostenryk), voorheen bekend vir die ontwikkeling van aanvalsmetodes MDS, NetSpectre ΠΈ Gooihamer, onbedek Inligting oor 'n nuwe derdeparty-kanaalontledingstegniek waarmee jy die presiese weergawe van die blaaier, die bedryfstelsel wat gebruik word, die SVE-argitektuur en die gebruik van byvoegings om verborge identifikasie te bekamp, ​​kan bepaal.

Om hierdie parameters te bepaal, is dit genoeg om JavaScript-kode wat deur navorsers voorberei is in die blaaier uit te voer. In die praktyk kan die metode nie net gebruik word as 'n bykomende bron vir indirekte identifikasie van die gebruiker nie, maar ook om die parameters van die stelselomgewing te bepaal vir die doelgerigte gebruik van misbruik, met inagneming van die bedryfstelsel, argitektuur en blaaier. Die metode is ook effektief wanneer blaaiers gebruik word wat verborge identifikasieblokkeringsmeganismes implementeer, soos Tor Browser. Bronkode prototipe met metode implementering gepubliseer onder die MIT-lisensie.

Die bepaling word gemaak op grond van die identifisering van die eiendomstoestandpatrone in JavaScript wat kenmerkend is van verskillende blaaiers en die kenmerke van die uitvoeringstyd van bewerkings, afhangende van die kenmerke van die JIT, SVE en geheuetoewysingsmeganismes. Die definisie van eienskappe word gedoen deur 'n lys te genereer van alle voorwerpe wat toeganklik is vanaf JavaScript. Soos dit geblyk het, korreleer die aantal voorwerpe direk met die blaaier-enjin en sy weergawe.

funksie getProperties(o) {
var resultaat = [];
while (o !== nul) {
resultaat = resultaat.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
terugkeer resultaat;
}

Byvoorbeeld, vir Firefox sΓͺ die dokumentasie ondersteuning vir 2247 eiendomme, terwyl die werklike aantal gedefinieerde eienskappe, insluitend ongedokumenteerdes, 15709 is (in Tor Browser - 15639), vir Chrome word 2698 eiendomme verklaar, maar in werklikheid word 13570 aangebied (in Chrome vir Android - 13119) . Die aantal en waardes van eiendomme verskil van blaaierweergawe tot blaaierweergawe en oor verskillende bedryfstelsels.

Die waardes en teenwoordigheid van sekere eienskappe kan gebruik word om die tipe bedryfstelsel te bepaal. Byvoorbeeld, in Kubuntu is die window.innerWidth-eienskap op 1000 gestel, en in Windows 10 is dit op 1001 gestel. Die window.navigator.activeVRDisplays-eienskap is beskikbaar op Windows, maar dit is nie op Linux beskikbaar nie. Vir Android word baie spesifieke oproepe verskaf, maar window.SharedWorker is nie. Om die bedryfstelsel te identifiseer, word dit ook voorgestel om analise van WebGL-parameters te gebruik, waarvan die toestand afhang van die drywers. Daarbenewens, deur WEBGL_debug_renderer_infoextension te roep, kan jy inligting kry oor die OpenGL-weergawe-enjin, wat verskil vir elke bedryfstelsel.

Om die SVE te bepaal, word 'n assessering van verskille in die uitvoeringstyd van verskeie tipiese kodeblokke gebruik, waarvan die verwerking afhang van die argitektuur van die instruksiestel, met inagneming van JIT-gedrag (daar word bepaal hoeveel SVE-registers gebruik sal word en in watter gevalle JIT doeltreffende kode sal genereer met optimalisering en die gebruik van uitgebreide instruksies, en wanneer nie ). Om die tipe geheuetoewysingstelsel en bedryfstelsel te bepaal, word die verskil in geheuetoewysingstyd vir verskeie strukture ook gemeet, wat gebruik kan word om die grootte van geheueblokke te beoordeel.

Die parameters wat tydens skripuitvoering bepaal word, word vergelyk met verwysingswaardes wat tipies is vir voorheen getoetste omgewings. Tydens die toets het die ontwikkelde tegniek dit moontlik gemaak om 40 verskillende toetsomgewings akkuraat te identifiseer, met die identifisering van die weergawes van blaaiers wat gebruik word, die SVE-vervaardiger, die bedryfstelsel wat gebruik word, en die feit dat dit op regte hardeware of in 'n virtuele masjien loop.

Afsonderlik word opgemerk dat dit moontlik is om blaaierbyvoegings en selfs individuele byvoegingsinstellings te definieer, insluitend byvoegings wat ontwerp is om verborge identifikasiemetodes of privaatblaaimodusaktiwiteit te blokkeer. In die konteks van die voorgestelde metode word sulke toevoegings nog 'n bron van data vir identifikasie. Byvoegings word bepaal deur die vervormings van die parameters van die oorspronklike omgewing wat deur die byvoegings ingestel is, te assesseer.

Ander identifikasiemetodes sluit in die inagneming van sulke indirekte data soos skerm resolusie, lys van ondersteunde MIME-tipes, spesifieke parameters in kopskrifte (HTTP / 2 ΠΈ HTTPS), ontleding van geΓ―nstalleer plugins en lettertipes, beskikbaarheid van sekere Web API's, spesifiek vir videokaarte kenmerke lewering met behulp van WebGL en Canvas, manipulasie met CSS, ontleding van kenmerke van die werk met muis ΠΈ 'n sleutelbord.

Bron: opennet.ru

Voeg 'n opmerking