O echipă de cercetători din Austria a identificat o nouă modalitate prin care site-urile web pot urmări pe ascuns ce fac utilizatorii pe dispozitivele lor, folosind doar un browser și semnale slabe provenite de la hardware-ul propriu al mașinii.
Cercetătorii în securitate cibernetică de la Universitatea Tehnică din Graz, Austria, au publicat un articol care descrie un atac de tip „canal lateral” (side channel) care permite unui site web rău intenționat să identifice ce alte site-uri și aplicații are deschise un vizitator, măsurând latența de acces la SSD prin JavaScript în interiorul unui sandbox standard al browserului, potrivit Ars Technica. Tehnica, numită FROST (Fingerprinting Remotely using OPFS-based SSD Timing), a identificat corect site-urile web vizitate cu o precizie de aproximativ 89% și aplicațiile care rulează, cu o precizie de aproximativ 96%, pe un computer Mac de test. Tehnica nu necesită interacțiune din partea victimei în afară de vizitarea paginii atacatorului și funcționează pe diferite browsere.
FROST exploatează Origin Private File System (OPFS), un API de browser care permite site-urilor web să creeze și să stocheze fișiere pe discul local al unui utilizator fără a solicita permisiunea. Atacurile anterioare de tip canal lateral pe SSD necesitau cod nativ care să ruleze prin interfețe privilegiate ale kernelului, dar FROST elimină această cerință.
Tehnica exploatează o formă de scurgere de informații care rezultă din manifestări fizice, cum ar fi emanațiile electromagnetice, cache-urile de date sau timpul necesar pentru a finaliza o sarcină. Prin măsurarea acestor manifestări, atacatorii pot decripta traficul criptat și pot deduce alte date confidențiale.
Atacul creează un fișier OPFS de dimensiuni mari pe SSD-ul victimei, iar atât Chrome, cât și Safari permit unui site web să revendice până la 60% din spațiul total pe disc prin OPFS, ceea ce, pe o unitate de 256 GB, înseamnă peste 150 GB. Fișierul trebuie să depășească memoria RAM disponibilă a sistemului, astfel încât fiecare citire aleatorie de 4 KB să acceseze SSD-ul, mai degrabă decât cache-ul sistemului de operare. Când o altă activitate generează propriile operațiuni de I/O (input/output) pe disc, aceasta creează vârfuri de latență măsurabile în citirile atacatorului, iar aceste tipare de sincronizare sunt introduse într-un model AI antrenat să recunoască site-uri web și aplicații specifice după semnăturile lor de I/O.
Deoarece conflictul are loc la nivel de stocare, atacul funcționează pe browsere precum Chrome sau Safari pe Mac.
Atacul complet de amprentare a traficului online a fost testat doar pe un Mac Mini M2 cu 8 GB de RAM și un SSD de 256 GB. Pe Linux, cercetătorii au confirmat că au putut măsura latența SSD-ului din browser, dar nu au rulat clasificarea completă de amprentare, iar Windows nu a fost testat deloc. Fișierul OPFS trebuie, de asemenea, să se afle pe același SSD fizic ca activitatea monitorizată, ceea ce nu este garantat pe stațiile de lucru cu mai multe unități.
De departe, cea mai mare barieră în calea acestui atac este dimensiunea mare a fișierului; majoritatea oamenilor vor observa că zeci sau sute de gigaocteți dispar brusc, dar cercetătorii propun măsuri de atenuare, inclusiv limitarea dimensiunii fișierelor OPFS pentru a se încadra în memoria sistemului sau solicitarea unei permisiuni explicite pentru crearea fișierelor OPFS.
Spre deosebire de atacurile anterioare de tip side-channel pe SSD-uri, FROST rulează exclusiv în browser. Acesta utilizează JavaScript care interacționează cu OPFS, spațiul de stocare alocat unui site pentru a rula codul necesar pentru o anumită sarcină.
Echipa a comunicat concluziile sale către Google, Apple și Mozilla: Google a declarat că nu consideră amprentarea digitală o vulnerabilitate de securitate, Apple a calificat atacul ca fiind „în prezent în afara domeniului de aplicare”, iar Mozilla a luat act de concluzii fără a implementa remedieri.
Având în vedere că Google nu clasifică amprentarea digitală ca o problemă de securitate, este puțin probabil ca, în viitorul apropiat, să apară remedieri la nivel de browser.