S'ha introduït una nova tècnica per a la identificació del sistema ocult i del navegador

Un grup d'investigadors de la Universitat Tècnica de Graz (Àustria), conegut anteriorment per desenvolupar mètodes d'atac MDS, NetSpectre и Martell de llançament, descobert Informació sobre una nova tècnica d'anàlisi de canals de tercers que permet determinar la versió exacta del navegador, el sistema operatiu utilitzat, l'arquitectura de la CPU i l'ús de complements per combatre la identificació oculta.

Per determinar aquests paràmetres, n'hi ha prou amb executar codi JavaScript preparat pels investigadors al navegador. A la pràctica, el mètode es pot utilitzar no només com a font addicional per a la identificació indirecta de l'usuari, sinó també per determinar els paràmetres de l'entorn del sistema per a l'ús específic d'explotacions, tenint en compte el sistema operatiu, l'arquitectura i el navegador. El mètode també és efectiu quan s'utilitzen navegadors que implementen mecanismes de bloqueig d'identificació ocults, com ara el navegador Tor. Prototip de codi font amb implementació del mètode publicat sota la llicència MIT.

La determinació es fa a partir d'identificar els patrons d'estat de propietat en JavaScript que són característics dels diferents navegadors i les característiques del temps d'execució de les operacions, en funció de les característiques del JIT, la CPU i els mecanismes d'assignació de memòria. La definició de propietats es fa generant una llista de tots els objectes accessibles des de JavaScript. Com va resultar, el nombre d'objectes es correlaciona directament amb el motor del navegador i la seva versió.

funció getProperties(o) {
var resultat = [];
mentre que (o !== nul) {
resultat = resultat.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
retornar el resultat;
}

Per exemple, per a Firefox, la documentació indica suport per a 2247 propietats, mentre que el nombre real de propietats definides, incloses les no documentades, és 15709 (al navegador Tor - 15639), per a Chrome 2698 es declaren propietats, però en realitat s'ofereixen 13570 (en Chrome per a Android - 13119). El nombre i els valors de les propietats varien de la versió del navegador a la versió del navegador i entre els diferents sistemes operatius.

Els valors i la presència de determinades propietats es poden utilitzar per determinar el tipus de sistema operatiu. Per exemple, a Kubuntu la propietat window.innerWidth s'estableix en 1000, i a Windows 10 s'estableix en 1001. La propietat window.navigator.activeVRDisplays està disponible a Windows, però no està disponible a Linux. Per a Android, es proporcionen moltes trucades específiques, però window.SharedWorker no. Per identificar el sistema operatiu, també es proposa utilitzar l'anàlisi dels paràmetres WebGL, l'estat dels quals depèn dels controladors. A més, cridar a WEBGL_debug_renderer_infoextension us permet obtenir informació sobre el motor de representació OpenGL, que és diferent per a cada sistema operatiu.

Per determinar la CPU, s'utilitza una avaluació de les diferències en el temps d'execució de diversos blocs de codi típics, el processament dels quals depèn de l'arquitectura del conjunt d'instruccions, tenint en compte el comportament JIT (es determina quants registres de CPU s'utilitzaran). i en quins casos JIT generarà codi eficient amb optimitzacions i l'ús d'instruccions ampliades, i quan no). Per determinar el tipus de sistema d'assignació de memòria i sistema operatiu, també es mesura la diferència en el temps d'assignació de memòria per a diverses estructures, que es pot utilitzar per jutjar la mida dels blocs de memòria.

Els paràmetres determinats durant l'execució de l'script es comparen amb els valors de referència típics d'entorns provats prèviament. Durant la prova, la tècnica desenvolupada va permetre identificar amb precisió 40 entorns de prova diferents, identificant les versions dels navegadors utilitzats, el fabricant de la CPU, el sistema operatiu utilitzat i el fet que s'executava en maquinari real o en una màquina virtual.

Per separat, cal assenyalar que és possible definir complements del navegador i fins i tot configuracions de complements individuals, inclosos els complements dissenyats per bloquejar mètodes d'identificació ocults o l'activitat del mode de navegació privada. En el context del mètode proposat, aquestes addicions es converteixen en una altra font de dades per a la identificació. Les addicions es determinen avaluant les distorsions dels paràmetres de l'entorn original introduïdes per les addicions.

Altres mètodes d'identificació inclouen tenir en compte dades indirectes com resolució de la pantalla, llista de tipus MIME admesos, paràmetres específics a les capçaleres (HTTP / 2 и HTTPS), anàlisi d'instal·lats complements i tipus de lletra, disponibilitat de determinades API web, específiques de les targetes de vídeo Característiques renderització mitjançant WebGL i Canvas, manipulació amb CSS, anàlisi de les característiques de treballar amb ratolí и teclat.

Font: opennet.ru

Afegeix comentari