Spook.js, una nova tècnica per a explotar les vulnerabilitats de Spectre a Chrome

Un grup d'investigadors d'universitats nord-americanes, australianes i israelians van donar a conèixer que van descriure una nova tècnica d'atac que permet poder explotar les vulnerabilitats de classe Spectre en els navegadors amb tecnologia Chromium.

L'atac, amb nom en codi Spook.js, permet el executar codi JavaScript evitar el mecanisme d'aïllament de el lloc i llegir el contingut de tot l'espai d'adreces de l'procés actual, és a dir, accedir a les dades de les pàgines que s'executen en altres pestanyes, però que es processen en el mateix procés.

Atès que Chrome llança diferents llocs en diferents processos, els atacs pràctics es limiten als serveis que permeten als diferents usuaris allotjar les seves pàgines. El mètode d'atac de Spook.js fa possible des d'una pàgina en la qual un atacant pot incrustar seu codi JavaScript, Determinar la presència d'altres pàgines obertes per l'usuari de la mateixa lloc i extreure informació confidencial d'elles, per exemple, credencials o dades bancàries substituïts pel completat automàtic sistema en formularis web.

Una altra aplicació de l'mètode és un atac als complements de navegador, que permet, quan s'instal·la un complement controlat per un atacant, extreure dades d'altres complements.

Spook.js és aplicable a qualsevol navegador basat en el motor Chromium, inclosos Google Chrome, Microsoft Edge i Brave. Els investigadors també creuen que el mètode es pot adaptar per treballar amb Firefox, però com que el motor de Firefox és molt diferent de Chrome, el treball de crear un exploit d'aquest tipus es deixa per al futur.

Per protegir-se contra els atacs relacionats amb l'execució especulativa d'instruccions a través del navegador, la segmentació de l'espai d'adreces s'implementa a Chrome: l'aïllament de la zona de proves permet que JavaScript funcioni només amb punters de 32 bits i comparteix la memòria de l' controlador en munts de 4 GB no superposats.

Per organitzar l'accés a tot l'espai d'adreces de l'procés i evitar la limitació de 32 bits, els investigadors van utilitzar la tècnica de confusió de tipus, que permet que el motor de JavaScript processi un objecte amb un tipus incorrecte, el que fa possible formar un codi de 64 bits basat en una combinació de dos valors de 32 bits.

L'essència de l'atac és que a l'processar un objecte maliciós especialment dissenyat en el motor de JavaScript, es creen condicions que condueixen a l'execució especulativa d'instruccions que accedeixen a la matriu. L'objecte es selecciona de manera que els camps controlats pels atacants es col·loquen a l'àrea on es fa servir el punter de 64 bits.

Atès que el tipus d'objecte maliciós no es correspon amb el tipus de matriu que s'està processant, en condicions normals aquestes accions es bloquegen a Chrome mitjançant el mecanisme de deoptimización de el codi utilitzat per accedir a les matrius. Per resoldre aquest problema, el codi de l'atac Type Confusion es col·loca en un bloc condicional «if», que no s'activa en condicions normals, però s'executa en mode especulatiu, si el processador prediu incorrectament més ramificacions.

Com a resultat, el processador accedeix especulativament a l'punter de 64 bits generat i reverteix l'estat després de determinar la predicció fallida, però els rastres d'execució s'estableixen en la memòria cau compartida i es poden restaurar usant mètodes per determinar el contingut de la memòria cau a través de canals tercers, analitzant el canvi en el temps d'accés a les dades en memòria cau i no en memòria cau.

Per analitzar el contingut de la memòria cau en les condicions d'insuficient precisió de l'temporitzador disponible en JavaScript, s'utilitza un mètode proposat per Google que enganya l'estratègia de desallotjament de dades de la memòria cau Tree-PLRU utilitzada en processadors i permet, a l'augmentar el nombre de cicles, per augmentar significativament la diferència de temps en presència i absència d'un valor en la memòria cau.

Els investigadors han publicat un exploit prototip que funciona a Chrome 89 in sistemes amb Intel i7-6700K i i7-7600U. L'exploit va ser creat utilitzant prototips de codi JavaScript prèviament publicats per Google per a dur a terme atacs Spectre.

Finalment els investigadors esmenten que van aconseguir preparar gestes de treball per a sistemes basats en processadors Intel i Apple M1, Als quals se'ls dóna l'oportunitat d'organitzar la lectura de la memòria a una velocitat de 500 bytes per segon i una precisió de l'96%. Se suposa que el mètode és aplicable als processadors AMD, però no va ser possible preparar un exploit completament funcional.

font: https://www.spookjs.com


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.