Kynnti nýja tækni til að auðkenna falið kerfi og vafra

Hópur vísindamanna frá Tækniháskólanum í Graz (Austurríki), áður þekktur fyrir að þróa árásaraðferðir MDS, NetSpectre и Kasthamri, afhjúpaður Upplýsingar um nýja rásargreiningartækni þriðja aðila sem gerir þér kleift að ákvarða nákvæma útgáfu vafrans, stýrikerfið sem notað er, CPU arkitektúrinn og notkun viðbóta til að berjast gegn falinni auðkenningu.

Til að ákvarða þessar breytur er nóg að keyra JavaScript kóða sem rannsakendur hafa útbúið í vafranum. Í reynd er aðferðin ekki aðeins hægt að nota sem viðbótaruppsprettu fyrir óbeina auðkenningu notandans, heldur einnig til að ákvarða færibreytur kerfisumhverfisins fyrir markvissa notkun hetjudáða, að teknu tilliti til stýrikerfisins, arkitektúrsins og vafrans. Aðferðin er einnig áhrifarík þegar þú notar vafra sem innleiða falinn auðkenningarlokunarbúnað, eins og Tor Browser. Frumkóða frumgerð með aðferðarútfærslu birt undir MIT leyfi.

Ákvörðunin er tekin á grundvelli þess að auðkenna eignastöðumynstur í JavaScript sem eru einkennandi fyrir mismunandi vafra og eiginleika framkvæmdartíma aðgerða, allt eftir eiginleikum JIT, CPU og minnisúthlutunaraðferða. Að skilgreina eiginleika er gert með því að búa til lista yfir alla hluti sem eru aðgengilegir frá JavaScript. Eins og það kom í ljós er fjöldi hluta beint í samræmi við vafravélina og útgáfu hennar.

fall getProperties(o) {
var niðurstaða = [];
while (o !== núll) {
result = result.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
skila niðurstöðu;
}

Til dæmis, fyrir Firefox segir í skjölunum stuðning við 2247 eiginleika, en raunverulegur fjöldi skilgreindra eiginleika, þar á meðal óskráðra, er 15709 (í Tor vafra - 15639), fyrir Chrome eru 2698 eiginleikar lýstir yfir, en í raun eru 13570 í boði (í Chrome fyrir Android - 13119) . Fjöldi og gildi eigna eru mismunandi eftir vafraútgáfu til vafraútgáfu og eftir mismunandi stýrikerfum.

Hægt er að nota gildi og tilvist ákveðinna eiginleika til að ákvarða gerð stýrikerfisins. Til dæmis, í Kubuntu er window.innerWidth eignin stillt á 1000, og í Windows 10 er hún stillt á 1001. Eiginleikinn window.navigator.activeVRDisplays er fáanlegur á Windows, en hann er ekki fáanlegur á Linux. Fyrir Android eru mörg sérstök símtöl veitt, en window.SharedWorker er það ekki. Til að bera kennsl á stýrikerfið er einnig lagt til að nota greiningu á WebGL breytum, en ástand þeirra fer eftir reklum. Að auki gerir það að kalla WEBGL_debug_renderer_infoextension þér kleift að fá upplýsingar um OpenGL flutningsvélina, sem er mismunandi fyrir hvert stýrikerfi.

Til að ákvarða örgjörva er notað mat á mismun á framkvæmdartíma ýmissa dæmigerðra kóðablokka, vinnsla þeirra fer eftir arkitektúr leiðbeiningasettsins, að teknu tilliti til JIT hegðunar (ákvörðuð er hversu margar örgjörvaskrár verða notaðar og í hvaða tilfellum mun JIT búa til skilvirkan kóða með hagræðingu og notkun á víðtækum leiðbeiningum, og hvenær ekki ). Til að ákvarða gerð minnisúthlutunarkerfis og stýrikerfis er einnig mældur munur á minnisúthlutunartíma fyrir ýmis mannvirki, sem hægt er að nota til að dæma stærð minnisblokka.

Færibreyturnar sem ákvarðaðar eru við framkvæmd handrits eru bornar saman við viðmiðunargildi sem eru dæmigerð fyrir áður prófað umhverfi. Meðan á prófinu stóð gerði hin þróaða tækni það mögulegt að bera kennsl á 40 mismunandi prófunarumhverfi nákvæmlega, auðkenna útgáfur vafra sem notaðir voru, CPU framleiðandi, stýrikerfi sem notað var og þá staðreynd að það var keyrt á raunverulegum vélbúnaði eða í sýndarvél.

Sérstaklega er tekið fram að það er hægt að skilgreina vafraviðbætur og jafnvel einstakar viðbótarstillingar, þar á meðal viðbætur sem eru hannaðar til að loka fyrir faldar auðkenningaraðferðir eða virkni í einkavafri. Í tengslum við fyrirhugaða aðferð verða slíkar viðbætur enn ein uppspretta gagna til auðkenningar. Viðbætur eru ákvörðuð með því að meta brenglun á breytum upprunalega umhverfisins sem viðbæturnar koma inn á.

Aðrar auðkenningaraðferðir fela í sér að taka tillit til óbeinna gagna eins og skjá upplausn, listi yfir studdar MIME-gerðir, sérstakar breytur í hausum (HTTP / 2 и HTTPS), greining á uppsettum viðbætur og leturgerðir, framboð á tilteknum vefforritaskilum, sérstaklega fyrir skjákort Features flutningur með því að nota WebGL og Canvas, meðferð með CSS, greining á eiginleikum þess að vinna með mús и lyklaborð.

Heimild: opennet.ru

Bæta við athugasemd