Spook.js, o nouă tehnică de exploatare a vulnerabilităților Spectre în Chrome

Un grup de cercetători din universitățile americane, australiene și israeliene au raportat că a descris o nouă tehnică de atac care permite exploatarea vulnerabilităților Clasa Spectre pe browserele alimentate cu Chromium.

Atacul, denumit în cod Spook.js, permite la executarea codului JavaScript să ocolească mecanismul de izolare a site-ului și citirea conținutului întregului spațiu de adrese al procesului curent, adică accesarea datelor paginilor care sunt executate în alte file, dar care sunt procesate în același proces.

Deoarece Chrome lansează diferite site-uri în diferite procese, atacurile practice sunt limitate la servicii care permit utilizatorilor diferiți să își găzduiască paginile. Metoda de atac Spook.js face posibilă o pagină în care un atacator își poate încorpora codul JavaScript, determinați prezența altor pagini deschise de utilizatorul aceluiași site și extrageți informații confidențiale dintre ele, de exemplu, acreditări sau detalii bancare înlocuite de sistemul de completare automată în formularele web.

O altă aplicație a metodei este un atac asupra pluginurilor browserului, care permite, atunci când este instalat un plug-in controlat de atacator, să extragă date din alte plug-in-uri.

Spook.js este aplicabil oricărui browser bazat pe motorul Chromium, inclusiv Google Chrome, Microsoft Edge și Brave. Cercetătorii cred, de asemenea, că metoda poate fi adaptată pentru a funcționa cu Firefox, dar din moment ce motorul Firefox este foarte diferit de Chrome, activitatea de creare a unui astfel de exploatare este lăsată pe viitor.

Pentru a proteja împotriva atacurilor legate de execuția speculativă a instrucțiunilor prin browser, segmentarea spațiului de adrese este implementată în Chrome: izolarea sandbox permite JavaScript să funcționeze numai cu pointeri pe 32 de biți și partajează memoria controlerului în stive de 4 GB care nu se suprapun.

Pentru a organiza accesul la întregul spațiu de adrese al procesului și pentru a evita limitarea pe 32 de biți, cercetătorii au folosit tehnica de confuzie a tipului, care permite motorului JavaScript să proceseze un obiect cu un tip greșit, făcând posibilă formarea unui 64-bit cod bazat pe o combinație de două valori pe 32 de biți.

Esența atacului este că, prin procesarea unui obiect rău intenționat special creat în motorul JavaScript, sunt create condiții care duc la executarea speculativă a instrucțiunilor care accesează matricea. Obiectul este selectat în așa fel încât câmpurile controlate de atacatori sunt plasate în zona în care este utilizat indicatorul pe 64 de biți.

Deoarece tipul de obiect rău intenționat nu corespunde tipului de matrice procesată, în condiții normale, astfel de acțiuni sunt blocate în Chrome de mecanismul de deoptimizare a codului utilizat pentru a accesa matricele. Pentru a rezolva această problemă, codul de atac Type Confusion este plasat într-un bloc condițional „if”, care nu se declanșează în condiții normale, ci rulează în modul speculativ, dacă procesorul prezice incorect mai multe ramuri.

Ca rezultat, procesorul accesează speculativ indicatorul pe 64 de biți generat și revine la starea după determinarea predicției eșuate, dar urmele de execuție sunt setate în memoria cache partajată și pot fi restaurate folosind metode pentru a determina conținutul cache-ului prin intermediul al treilea- canale de petrecere, analizând schimbarea timpului de acces la datele cache și non-cache.

Pentru a analiza conținutul cache-ului în condiții de precizie insuficientă a temporizatorului disponibil în JavaScript, se folosește o metodă propusă de Google care păcălește strategia de evacuare a datelor cache-Tree Tree-PLRU folosită în procesoare și permite, prin creșterea numărului de cicluri, să crește semnificativ diferența de timp în prezența și absența unei valori în cache.

Cercetătorii au lansat un prototip exploit care funcționează în Chrome 89 en sisteme cu Intel i7-6700K și i7-7600U. Exploitarea a fost creată folosind prototipuri de cod JavaScript publicate anterior de Google pentru a efectua atacuri Spectre.

În cele din urmă, cercetătorii menționează că a reușit să pregătească exploatări de lucru pentru sisteme bazate pe procesoare Intel și Apple M1, cărora li se oferă posibilitatea de a organiza citirea memoriei la o viteză de 500 octeți pe secundă și o precizie de 96%. Se presupune că metoda este aplicabilă procesoarelor AMD, dar nu a fost posibilă pregătirea unui exploat complet funcțional.

Fuente: https://www.spookjs.com


Conținutul articolului respectă principiile noastre de etică editorială. Pentru a raporta o eroare, faceți clic pe aici.

Fii primul care comenteaza

Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.