A fost prezentată o nouă tehnică de identificare ocultă a sistemului și browserului

Un grup de cercetători de la Universitatea Tehnică Graz (Austria), cunoscut anterior pentru dezvoltarea de metode de atac MDS, NetSpectre și Throwhammer, a dezvăluit informații despre o nouă tehnică de analiză prin canale laterale, care permite determinarea versiunii exacte a browser-ului, sistemului de operare utilizat, arhitectura CPU și utilizarea extensiilor pentru a combate identificarea ascunsă.

Pentru a determina parametrii menționați, este suficient să se execute în browser codul JavaScript pregătit de cercetători. În practică, metoda poate fi utilizată nu doar ca o sursă suplimentară pentru identificarea indirectă a utilizatorului, ci și pentru a determina parametrii mediului sistemului pentru aplicarea țintită a exploit-urilor, având în vedere OS, arhitectura și browser-ul. Metoda este eficientă, inclusiv atunci când se utilizează browsere cu implementări ale mecanismelor de blocare a identificării ascunse, cum ar fi Tor Browser. Codul sursă prototip al metodei sunt publicate sub licența MIT.

Determinarea se face pe baza extragerii tiparelor de stare caracteristice diferitelor browsere în JavaScript și caracteristicilor timpului de execuție a operațiunilor, care depind de particularitățile funcționării JIT, CPU și mecanismelor de alocare a memoriei. Determinarea proprietăților se face prin generarea unei liste a tuturor obiectelor disponibile din JavaScript. Așa cum s-a dovedit, numărul de obiecte corelează direct cu motorul browser-ului și versiunea sa.

function getProperties(o) {
var result = [];
while (o !== null) {
result = result.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
return result;
}

De exemplu, pentru Firefox, în documentație este menționată suportul pentru 2247 proprietăți, în timp ce numărul real al proprietăților definite, luând în considerare cele nedocumentate, este de 15709 (în Tor Browser — 15639), pentru Chrome sunt indicate 2698 proprietăți, iar numărul real oferit este de 13570 (în Chrome pentru Android — 13119). Numărul și valorile proprietăților se schimbă de la o versiune la alta a browser-ului și la aplicarea diferitelor sisteme de operare.

Valorile și disponibilitatea anumitor proprietăți pot fi utilizate pentru a determina tipul de sistem de operare. De exemplu, în Kubuntu, proprietatea window.innerWidth este setată la 1000, iar în Windows 10 la 1001. În Windows, există proprietatea window.navigator.activeVRDisplays, în timp ce în Linux nu este disponibilă. Pentru Android, sunt disponibile multe apeluri specifice, dar nu există window.SharedWorker. De asemenea, se propune utilizarea analizei parametrilor WebGL pentru identificarea sistemului de operare, a căror stare depinde de drivere. În plus, apelul WEBGL_debug_renderer_infoextension permite obținerea de informații despre motorul de randare OpenGL, care variază de la un sistem de operare la altul.

Pentru determinarea CPU-ului, se aplică o evaluare a diferențelor de timp în execuția diferitelor blocuri de cod tipice, a căror procesare depinde de arhitectura setului de instrucțiuni, luând în considerare comportamentul JIT (determinat de câte registre CPU vor fi utilizate și în ce situații JIT va genera cod eficient cu optimizări și implicarea instrucțiunilor extinse, și când nu). De asemenea, pentru determinarea tipului de sistem de distribuție a memoriei și a sistemului de operare, se măsoară diferența de timp pentru alocarea memoriei pentru diferite structuri, din care putem deduce dimensiunea blocurilor de memorie.

Parametrii definiți în timpul execuției scriptului sunt comparați cu valorile de referință, specifice pentru medii testate anterior. În cadrul verificării, tehnica dezvoltată a permis identificarea precisă a 40 de medii de testare diferite, determinând versiunile browserelor utilizate, producătorul CPU-ului, sistemul de operare aplicat și dacă rularea se face pe hardware real sau într-o mașină virtuală.

Se remarcă în mod special posibilitatea de a determina extensiile browserului și chiar setările individuale ale acestora, inclusiv extensiile destinate blocării metodelor de identificare ascunsă sau activitatea în modul de navigare privat. În contextul metodei propuse, aceste extensii devin o sursă suplimentară de date pentru identificare. Extensiile sunt determinate prin evaluarea distorsiunilor parametrilor mediului original, cauzate de acestea.

Printre alte metode de identificare, se poate menționa luarea în considerare a unor date indirecte, cum ar fi rezoluția ecranului, lista tipurilor MIME acceptate, parametrii specifici din antet (HTTP/2 și HTTPS), analiza plugin-urilor și fonturilor instalate , disponibilitatea anumitor API-uri Web, specifice plăcilor videocaracteristici grafica realizată prin WebGL și Canvas manipulări, cu CSS, cu CSS, analiza caracteristicilor de lucru cu mouse-ul și tastatura.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster