Yntrodusearre in nije technyk foar ferburgen systeem en browser identifikaasje

In groep ûndersikers fan 'e Graz University of Technology (Eastenryk), earder bekend om it ûntwikkeljen fan oanfalmetoaden MDS, NetSpectre и Throwhammer, ûntdutsen ynformaasje oer in nije analysetechnyk fan tredden wêrmei jo de krekte ferzje fan 'e browser, it brûkte bestjoeringssysteem, de CPU-arsjitektuer, en it brûken fan tafoegings om ferburgen identifikaasje te bestriden kinne bepale.

Om dizze parameters te bepalen is it genôch om de JavaScript-koade út te fieren dy't troch de ûndersikers yn 'e browser taret is. Yn 'e praktyk kin de metoade net allinich brûkt wurde as in ekstra boarne foar yndirekte brûkersidentifikaasje, mar ek foar it bepalen fan systeemomjouwingsparameters foar it rjochte gebrûk fan eksploaten, rekken hâldend mei OS, arsjitektuer en browser. De metoade is ek effektyf by it brûken fan browsers mei ferburgen identifikaasjeblokkearjende meganismen, lykas Tor Browser. Boarnekoade prototype koade mei metoade ymplemintaasje publisearre ûnder de MIT-lisinsje.

De bepaling wurdt makke op basis fan 'e tawizing fan eigendomsstate-patroanen karakteristyk foar ferskate browsers yn JavaScript en de skaaimerken fan' e útfieringstiid fan operaasjes, ôfhinklik fan 'e funksjes fan' e JIT-, CPU- en ûnthâld-allokaasjemeganismen. It definiearjen fan eigenskippen wurdt dien troch it generearjen fan in list fan alle objekten beskikber fan JavaSkript. As it die bliken, korrelearret it oantal objekten direkt mei de browsermotor en har ferzje.

funksje getProperties(o) {
varresult = [];
while (o !== null) {
result = result.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
resultaat weromkomme;
}

Bygelyks, foar Firefox wurdt de stipe foar 2247 eigenskippen ferklearre yn 'e dokumintaasje, wylst it werklike oantal bepaalde eigenskippen, rekken hâldend mei net-dokumintearre, 15709 is (yn Tor Browser - 15639), foar Chrome 2698 eigenskippen wurde ferklearre, mar 13570 wurde eins oanbean (yn Chrome foar Android - 13119). It oantal en wearden fan eigenskippen fariearje fan ferzje ta ferzje fan 'e browser en oer ferskate bestjoeringssystemen.

De wearden en oanwêzigens fan bepaalde eigenskippen kinne wurde brûkt om it OS-type te bepalen. Bygelyks, yn Kubuntu is it eigendom fan window.innerWidth ynsteld op 1000, en yn Windows 10 is it ynsteld op 1001. Op Windows is it eigendom fan window.navigator.activeVRDisplays beskikber, mar op Linux is it net. In protte spesifike oproppen wurde levere foar Android, mar d'r is gjin finster.SharedWorker. Om it bestjoeringssysteem te identifisearjen, wurdt it ek foarsteld om de analyze fan WebGL-parameters te brûken, wêrfan de steat hinget fan 'e bestjoerders. Dêrnjonken kinne jo WEBGL_debug_renderer_infoextension oproppe kinne jo ynformaasje krije oer de OpenGL-renderingmotor, dy't oars is foar elk bestjoeringssysteem.

Om de CPU te bepalen, wurdt in beoardieling fan ferskillen yn 'e útfieringstiid fan ferskate typyske koadeblokken brûkt, wêrfan de ferwurking hinget ôf fan' e arsjitektuer fan 'e ynstruksjeset, rekken hâldend mei it gedrach fan' e JIT (it wurdt bepaald hoefolle CPU-registers sil belutsen wurde en yn hokker gefallen sil de JIT effisjinte koade generearje mei optimisaasjes en mei útwreide ynstruksjes, en wannear net ). Foar it bepalen fan it type ûnthâld tawizing systeem en bestjoeringssysteem, wurdt ek metten it ferskil yn ûnthâld tawizing tiid foar ferskate struktueren, dat kin brûkt wurde om te oardieljen de grutte fan ûnthâld blokken.

De parameters bepaald tidens de útfiering fan it skript wurde fergelike mei de referinsjewearden dy't typysk binne foar pre-teste omjouwings. Tidens de test makke de ûntwikkele technyk it mooglik om 40 ferskillende testomjouwings sekuer te bepalen, de ferzjes fan 'e brûkte browsers, de CPU-fabrikant, it brûkte bestjoeringssysteem, en oft it op echte hardware of yn in firtuele masine draaide.

Apart wurdt de mooglikheid om browser-tafoegings en sels yndividuele tafoegingsynstellingen te definiearjen, ynklusyf tafoegings ûntworpen om ferburgen identifikaasjemetoaden of privee blêdzjenaktiviteit te blokkearjen. Yn it ramt fan 'e foarstelde metoade wurde sokke tafoegings in oare boarne fan gegevens foar identifikaasje. Tafoegings wurde bepaald troch in beoardieling fan 'e fersteuringen fan' e parameters fan 'e oarspronklike omjouwing yntrodusearre troch de tafoegings.

Under oare identifikaasje metoaden, is it mooglik om te notearjen de beskôging fan sokke yndirekte gegevens as skermresolúsje, list mei stipe MIME-typen, koptekstspesifike opsjes (HTTP / 2 и HTTPS), analyze fan fêststeld plugins en lettertypen, beskikberens fan bepaalde Web API's spesifyk foar fideokaarten Eigenskippen rendering mei WebGL en Doek, manipulaasje mei CSS, analyze fan de funksjes fan wurkjen mei mûs и in toetseboerd.

Boarne: opennet.ru

Add a comment