Introduce una nova tecnica per l'identificazione di u sistema oculatu è u navigatore

Un gruppu di circadori di l'Università Tecnica di Graz (Austria), cunnisciutu prima per u sviluppu di metudi d'attaccu MDS, NetSpectre и Throwhammer, scupertu L'infurmazione nantu à una nova tecnica d'analisi di u canali di terzu chì permette di determinà a versione esatta di u navigatore, u sistema operatore utilizatu, l'architettura CPU è l'usu di add-ons per cumbatte l'identificazione oculta.

Per determinà questi paràmetri, hè abbastanza per eseguisce codice JavaScript preparatu da i circadori in u navigatore. In a pratica, u metudu pò esse usatu micca solu com'è una fonte addiziale per l'identificazione indiretta di l'utilizatore, ma ancu per determinà i paràmetri di l'ambienti di u sistema per l'usu miratu di sfruttamenti, tenendu in contu u SO, l'architettura è u navigatore. U metudu hè ancu efficace quandu utilizate navigatori chì implementanu meccanismi di bloccamentu d'identificazione oculati, cum'è Tor Browser. Prototipu di codice fonte cù implementazione di u metudu publicatu sottu a licenza MIT.

A determinazione hè fatta nantu à a basa di identificà i mudelli di u statu di pruprietà in JavaScript chì sò caratteristiche di diversi navigatori è e caratteristiche di u tempu d'esekzione di l'operazioni, secondu e caratteristiche di u JIT, CPU è i meccanismi di assignazione di memoria. A definizione di pruprietà hè fatta generendu una lista di tutti l'uggetti accessibili da JavaScript. Cum'è s'hè risultatu, u numeru di l'uggetti direttamente correlate cù u mutore di u navigatore è a so versione.

funzione getProperties(o) {
var result = [];
mentri (o !== null) {
result = result.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
riturnà u risultatu;
}

Per esempiu, per Firefox, a documentazione dichjara supportu per e proprietà 2247, mentre chì u numeru attuale di pruprietà definite, cumprese quelle non documentate, hè 15709 (in Tor Browser - 15639), per Chrome 2698 proprietà sò dichjarate, ma in realtà 13570 sò offerti (in Chrome per Android - 13119). U numeru è i valori di e pruprietà varienu da a versione di u navigatore à a versione di u navigatore è in diversi sistemi operativi.

I valori è a presenza di certe proprietà ponu esse utilizati per determinà u tipu di OS. Per esempiu, in Kubuntu, a pruprietà window.innerWidth hè stituutu à 1000, è in Windows 10 hè stallatu à 1001. A pruprietà window.navigator.activeVRDisplays hè dispunibule nantu à Windows, ma ùn hè micca dispunibule in Linux. Per Android, parechji chjamati specifichi sò furniti, ma window.SharedWorker ùn hè micca. Per identificà u sistema operatore, hè ancu prupostu di utilizà l'analisi di i paràmetri WebGL, u statu di quale dipende di i drivers. Inoltre, chjamà WEBGL_debug_renderer_infoextension permette di ottene infurmazione nantu à u mutore di rendering OpenGL, chì hè diversu per ogni sistema operatore.

Per determinà u CPU, hè aduprata una valutazione di e differenze in u tempu d'esekzione di diversi blocchi di codice tipici, u processu di quale dipende di l'architettura di u set di struzzioni, tenendu in contu u cumpurtamentu JIT (hè determinatu quanti registri CPU seranu utilizati). è in quali casi JIT genererà codice efficiente cù ottimisazioni è l'usu di struzzioni estesi, è quandu micca). Per determinà u tipu di sistema d'allocazione di memoria è u sistema operatore, a diffarenza in u tempu di assignazione di memoria per diverse strutture hè ancu misurata, chì pò esse usata per ghjudicà a dimensione di blocchi di memoria.

I paràmetri determinati durante l'esecuzione di u script sò paragunati cù i valori di riferimentu tipici per l'ambienti testati prima. Durante a prova, a tecnica sviluppata hà permessu di identificà accuratamente 40 ambienti di prova differenti, identificendu e versioni di i navigatori utilizati, u fabricatore di CPU, u sistema operatore utilizatu, è u fattu chì era in esecuzione nantu à hardware reale o in una macchina virtuale.

Separatamente, hè nutatu chì hè pussibule di definisce add-ons di navigatore è ancu paràmetri add-on individuali, cumpresi add-ons pensati per bluccà i metudi d'identificazione nascosti o l'attività di modu di navigazione privata. In u cuntestu di u metudu prupostu, tali aghjunte diventanu una altra fonte di dati per l'identificazione. L'addizioni sò determinate da evaluendu e distorsioni di i paràmetri di l'ambiente originale introduttu da l'aghjunghje.

Altri metudi di identificazione includenu piglià in contu tali dati indiretti cum'è risoluzione di u screnu, lista di tipi MIME supportati, paràmetri specifichi in headers (HTTP / 2 и HTTPS), analisi di stallati plugins è fonts, dispunibilità di certe API Web, specifiche à e carte video особенности rendering cù WebGL è Canvas, manipulazione cù CSS, analisi di funziunalità di travaglià cù topu и un teclatu.

Source: opennet.ru

Add a comment