GhostWrite: els nous errors de la CPU T-Head exposen els dispositius a atacs sense restriccions
10/09/2024
Un equip d’investigadors del Centre Helmholtz de Seguretat de la Informació CISPA a Alemanya ha revelat un error arquitectònic que afecta els CPU RISC-V XuanTie C910 i C920 de l’empresa xinesa T-Head, que podria permetre que els atacants obtinguessin accés sense restriccions a dispositius susceptibles.
La vulnerabilitat s’ha anomenat GhostWrite. S’ha descrit com un error directe de la CPU incrustada al maquinari, a diferència d’un atac de canal lateral o d’execució transitori.
Els investigadors expliquen que «Aquesta vulnerabilitat permet que els atacants sense privilegis, fins i tot aquells amb accés limitat, llegeixin i escriguin qualsevol part de la memòria de l’ordinador i controlin dispositius perifèrics com les targetes de xarxa», els investigadors. I afegeixen «GhostWrite fa que les funcions de seguretat de la CPU siguin ineficaces i no es puguin resoldre sense desactivar gairebé la meitat de la funcionalitat de la CPU».
CISPA va trobar que la CPU té instruccions defectuoses a la seva extensió vectorial, un complement del RISC-V ISA dissenyat per gestionar valors de dades més grans que l’arquitectura de conjunt d’instruccions (ISA) base.
Aquestes instruccions defectuoses, que els investigadors van dir que operen directament a la memòria física en lloc de fer-ho a la memòria virtual, podrien evitar l’aïllament del procés que normalment imposa el sistema operatiu i el maquinari.
Com a resultat, un atacant sense privilegis podria fer servir aquesta bretxa per escriure a qualsevol ubicació de memòria i evitar les funcions de seguretat i aïllament per obtenir un accés complet i sense restriccions al dispositiu. També podria haver-hi fuga de contingut de memòria d’una màquina, incloses les contrasenyes.
«L’atac és 100 % fiable, determinista i només triga uns microsegons a executar-se», van dir els investigadors. «Fins i tot les mesures de seguretat com la contenització de Docker o l’entorn controlat de proves no poden aturar aquest atac. A més, l’atacant pot segrestar dispositius de maquinari que fan servir entrada/sortida assignada a memòria (MMIO), cosa que els permet enviar qualsevol ordre a aquests dispositius».
La contramesura més eficaç per a GhostWrite és desactivar tota la funcionalitat del vector, que, tanmateix, afecta greument el rendiment i les capacitats de la CPU, ja que desactiva aproximadament el 50 % del conjunt de les instruccions.
«Afortunadament, les instruccions vulnerables es troben a l’extensió vectorial, que pot ser desactivada pel sistema», van assenyalar els investigadors. «Això mitiga totalment GhostWrite, però també desactiva completament les instruccions vectorials a la CPU».
«La desactivació de l’extensió vectorial redueix significativament el rendiment de la CPU, especialment per a les tasques que es beneficien del processament paral·lel i el maneig de grans conjunts de dades. Les aplicacions que depenen molt d’aquestes funcions poden experimentar un rendiment més lent o una funcionalitat reduïda.»
La divulgació arriba quan l’Android Red Team de Google ha revelat més de nou defectes a la GPU Adreno de Qualcomm que podrien permetre que un atacant amb accés local a un dispositiu assoleixi l’escalada de privilegis i l’execució de codi a nivell del nucli. Des d’aleshores, el fabricant de jocs de xips ha corregit les vulnerabilitats.
També s’ha descobert un nou defecte de seguretat en els processadors AMD que podria ser explotat per un atacant amb accés al nucli (també conegut com a Ring-0) per elevar els privilegis i modificar la configuració del mode de gestió del sistema (SMM o Ring-2) fins i tot quan el bloqueig SMM està habilitat.
Anomenada Sinkclose per IOActive (també coneguda com a CVE-2023-31315, puntuació CVSS: 7,5), es diu que la vulnerabilitat va romandre sense ser detectada gairebé dues dècades. L’accés als nivells de privilegi més alts en un ordinador significa que permet desactivar les funcions de seguretat i instal·lar programari maliciós persistent que pot passar inadvertit pel radar.
Parlant amb WIRED, l’empresa va dir que l’única manera de solucionar una infecció seria connectar-se físicament a les CPU mitjançant una eina basada en maquinari coneguda com a programador SPI Flash i escanejar la memòria per trobar programari maliciós instal·lat mitjançant SinkClose.
«La validació incorrecta en un registre específic del model (MSR) podria permetre que un programa maliciós amb accés ring0 modifiqui la configuració de SMM mentre el bloqueig SMI està habilitat, la qual cosa podria portar a l’execució de codi arbitrari», va assenyalat AMD en un avís, tot indicant que té la intenció de publicar actualitzacions als fabricants d’equips originals (OEM) per mitigar el problema.