GhostRace: un atac d'execució especulativa que afecta processadors Intel, AMD, ARM i IBM

GhostRace

Vulnerabilitat GhostRace

Es va donar a conèixer fa poc, informació sobre un nou atac d'execució especulativa, batejat com a GhostRace (catalogat sota CVE-2024-2193), aquest és un nou mètode desenvolupat per investigadors de la Vrije Universiteit Amsterdam i IBM per explotar el mecanisme d'execució especulativa present a processadors moderns d'Intel, AMD, ARM i IBM.

Els investigadors esmenten que, GhostRace s'enfoca a manipular condicions de carrera especulatives per accedir a àrees de memòria prèviament alliberades, cosa que pot portar a lextracció de dades sensibles del kernel de Linux, especialment en entorns de virtualització on un atacant en un sistema convidat pot comprometre la seguretat del sistema amfitrió o daltres sistemes convidats.

El funcionament de l'atac es basa en l'execució especulativa d'instruccions condicionals amb primitives de sincronització de subprocessos, com mutex i spinlock.

Si el processador prediu incorrectament branques al codi que manegen aquestes operacions, es poden realitzar accessos especulatius a la memòria que ja ha estat alliberada. Encara que el processador descarta aquests accessos després de detectar la predicció errònia, els rastres d'execució romanen a la memòria cau i poden ser recuperats mitjançant tècniques d'anàlisi de canal lateral.

GhostRace requereix la presència de certes seqüències d'instruccions al nucli, conegudes com aparells, que són utilitzades per a l'execució especulativa depenent de condicions externes controlades per l'atacant. Aquests gadgets es formen a partir de seccions de codi on es verifica l'estat en un bucle sense fi i surt del bucle després d'eliminar el bloqueig d'accés al recurs. Això permet activar falsament una transició i executar instruccions protegides per un bloqueig, tot i que el recurs roman bloquejat.

Durant l'anàlisi de la vulnerabilitat, que es va realitzar al codi del nucli de Linux 5.15.83, es va revelar la presència de 1283 dispositius que podrien conduir a un accés especulatiu a la memòria ja alliberada. Aquest tipus d'atac representa un risc potencial per a sistemes de virtualització, qualsevol nucli del sistema operatiu i programes que utilitzin primitives de sincronització de subprocessos verificades mitjançant declaracions condicionals i s'executin en plataformes que permetin l'execució especulativa d'operacions de ramificació, com ara x86, ARM , RISC-V, entre altres.

Per provar la vulnerabilitat, els investigadors van desenvolupar un prototip d'exploit que demostra l'efectivitat del atac en permetre l'extracció de dades de la memòria del nucli de Linux amb un rendiment de 12 KB per segon i un nivell de confiança similar als atacs de la classe Spectre.

Els desenvolupadors del kernel de Linux i les empreses de fabricació de CPU van ser informats sobre aquest problema a finals del 2023. AMD ja ha publicat un informe sobre la vulnerabilitat i recomana l'ús de tècniques estàndard per protegir-se contra atacs semblants a Spectre v1. D'altra banda, Intel i ARM encara no han respost aquesta notificació.

Tot i que els desenvolupadors del nucli de Linux no tenen plans immediats d'implementar la serialització de primitives de sincronització a causa de la pèrdua de rendiment, ja han incorporat restriccions per protegir-se contra la tècnica dexplotació IPI Storming (CVE-2024-26602). Aquesta tècnica d'atac implica interrompre un procés en el moment adequat per proporcionar una finestra de temps per accedir especulatiu a la memòria alliberada.

Per mitigar aquest tipus d'atac, se proposa utilitzar la serialització de primitives de sincronització mitjançant la inclusió d'una instrucció LFENCE després de la instrucció cmpxchq que verifica l'estat de bloqueig. No obstant això, aquesta mesura de protecció comporta una penalització de rendiment d'aproximadament el 5% al punt de referència LMBench, pel fet que la instrucció LFENCE deshabilita l'execució preventiva d'instruccions posteriors abans de confirmar totes les operacions anteriors.

En el cas de l'hipervisor Xen, els desenvolupadors han preparat canvis per implementar el mecanisme de bloqueig protegit LOCK_HARDEN, semblant al mètode BRANCH_HARDEN utilitzat anteriorment. No obstant això, a causa de possibles impactes negatius en el rendiment i la manca d'evidència d'atacs a Xen, el mode LOCK_HARDEN està deshabilitat per defecte.

Finalment si estàs interessat a poder conèixer més sobre això, pots consultar els detalls a el següent enllaç.


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: AB Internet Networks 2008 SL
  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ó.