Eng nei Technik fir verstoppt System a Browser Identifikatioun agefouert

Eng Grupp vu Fuerscher vun der Graz University of Technology (Éisträich), virdru bekannt fir Attackemethoden z'entwéckelen MDS, NetSpektre и Throwhammer, opgedeckt Informatioun iwwer eng nei Drëtt-Partei Analyse Technik, déi Iech erlaabt déi exakt Versioun vum Browser ze bestëmmen, de benotzte Betribssystem, d'CPU Architektur an d'Benotzung vun Add-ons fir verstoppte Identifikatioun ze bekämpfen.

Fir dës Parameteren ze bestëmmen, ass et genuch fir de JavaScript Code auszeféieren, dee vun de Fuerscher am Browser virbereet ass. An der Praxis kann d'Method net nëmmen als zousätzlech Quell fir indirekt Benotzeridentifikatioun benotzt ginn, awer och fir d'Systemëmfeldparameter fir d'geziilt Benotzung vun Ausnotzen ze bestëmmen, berücksichtegt OS, Architektur a Browser. D'Method ass och effektiv wann Dir Browser mat verstoppte Identifikatiounsblockéierungsmechanismen benotzt, wéi Tor Browser. Quelltext Prototyp Code mat Method Ëmsetzung publizéiert ënner der MIT Lizenz.

D'Determinatioun gëtt gemaach op der Basis vun der Allokatioun vun Immobiliestaatsmuster charakteristesch vu verschiddene Browser a JavaScript an d'Charakteristike vun der Ausféierungszäit vun Operatiounen, ofhängeg vun de Funktiounen vum JIT, CPU an Erënnerungsallokatiounsmechanismen. D'Eegeschafte definéieren gëtt gemaach andeems Dir eng Lëscht vun allen Objeten aus JavaScript generéiert. Wéi et sech erausstellt, korreléiert d'Zuel vun den Objeten direkt mam Browsermotor a senger Versioun.

Funktioun getProperties(o) {
Resultat = [];
während (o !== null) {
result = result.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
Retour Resultat;
}

Zum Beispill, fir Firefox ass d'Ënnerstëtzung fir 2247 Eegeschaften an der Dokumentatioun deklaréiert, während déi tatsächlech Zuel vu bestëmmten Eegeschaften, déi ondokumentéiert berücksichtegt, 15709 ass (am Tor Browser - 15639), fir Chrome 2698 Eegeschafte sinn deklaréiert, awer 13570 ginn tatsächlech ugebueden (am Chrome fir Android - 13119). D'Zuel an d'Wäerter vun den Eegeschafte variéiere vu Versioun zu Versioun vum Browser an iwwer verschidde Betribssystemer.

D'Wäerter an d'Präsenz vu bestëmmten Eegeschafte kënne benotzt ginn fir den OS-Typ ze bestëmmen. Zum Beispill, am Kubuntu, ass d'Propriétéit window.innerWidth op 1000 gesat, an Windows 10 ass op 1001. Op Windows ass d'Propriétéit window.navigator.activeVRDisplays verfügbar, awer op Linux ass et net. Vill spezifesch Uruff gi fir Android zur Verfügung gestallt, awer et gëtt keng Fënster.SharedWorker. Fir de Betribssystem z'identifizéieren, ass et och proposéiert d'Analyse vu WebGL-Parameteren ze benotzen, den Zoustand vun deenen hänkt vun de Chauffeuren of. Zousätzlech, ruffen WEBGL_debug_renderer_infoextension erlaabt Iech Informatiounen iwwert d'OpenGL Rendering Engine ze kréien, déi fir all Betribssystem anescht ass.

Fir d'CPU ze bestëmmen, gëtt eng Bewäertung vun Differenzen an der Ausféierungszäit vu verschiddenen typesche Codeblocken benotzt, d'Veraarbechtung vun deenen hänkt vun der Architektur vum Instruktiounsset of, andeems d'Verhalen vum JIT berücksichtegt gëtt (et gëtt festgeluecht wéi vill CPU Registere wäert involvéiert sinn an a wéi enge Fäll de JIT effiziente Code generéiert mat Optimisatiounen a mat erweiderten Instruktiounen, a wann net ). Fir d'Zort vum Memory Allocation System an de Betribssystem ze bestëmmen, gëtt den Ënnerscheed an der Memory Allocation Zäit fir verschidde Strukturen och gemooss, wat benotzt ka ginn fir d'Gréisst vun de Memory Blocks ze beurteelen.

D'Parameteren, déi während der Ausféierung vum Skript festgeluegt goufen, gi mat de Referenzwäerter typesch fir pre-getest Ëmfeld verglach. Wärend dem Test huet d'entwéckelt Technik et méiglech gemaach fir 40 verschidden Testumgebungen präzis ze bestëmmen, d'Versioune vun de benotzte Browser ze bestëmmen, den CPU-Hersteller, de benotzte Betribssystem, an ob et op real Hardware oder an enger virtueller Maschinn leeft.

Separat gëtt d'Méiglechkeet fir Browser-Add-ons a souguer individuell Add-on-Astellungen ze definéieren, inklusiv Add-ons entwéckelt fir verstoppte Identifikatiounsmethoden oder privat Surfen Aktivitéit ze blockéieren. Am Kontext vun der proposéierter Method ginn esou Ergänzunge eng aner Quell vun Daten fir Identifikatioun. Ergänzunge ginn duerch eng Bewäertung vun de Verzerrungen vun de Parameteren vum ursprénglechen Ëmfeld festgeluegt duerch d'Ergänzunge agefouert.

Ënner anerem Identifikatiounsmethoden ass et méiglech d'Berécksiichtegung vun esou indirekten Donnéeën ze notéieren wéi Écran Resolutioun, Lëscht vun ënnerstëtzte MIME-Typen, Header-spezifesch Optiounen (HTTP- / 2 и Majo), Analyse vun etabléiert Plugins a Schrëften, Disponibilitéit vu bestëmmte Web APIen spezifesch fir Videokaarten Fonctiounen Rendering mat WebGL an elektresch, Manipulatioun mat CSS, Analyse vun de Fonctiounen vun schaffen mat Maus и Keyboard.

Source: opennet.ru

Setzt e Commentaire