Vulnerabilitat a les CPU AMD que us permet evitar el mecanisme de protecció SEV (Secure Encrypted Virtualization)

Investigadors del Centre Helmholtz per a la Seguretat de la Informació (CISPA) han publicat un nou mètode d'atac CacheWarp per comprometre el mecanisme de seguretat AMD SEV (Secure Encrypted Virtualization) utilitzat en sistemes de virtualització per protegir les màquines virtuals de les interferències de l'hipervisor o de l'administrador del sistema host. El mètode proposat permet a un atacant amb accés a l'hipervisor executar codi de tercers i augmentar els privilegis en una màquina virtual protegida mitjançant AMD SEV.

L'atac es basa en l'ús d'una vulnerabilitat (CVE-2023-20592) causada per un funcionament incorrecte de la memòria cau durant l'execució de la instrucció del processador INVD, amb l'ajuda de la qual és possible aconseguir un desajust de dades a la memòria i la memòria cau. , i els mecanismes de derivació per mantenir la integritat de la memòria de la màquina virtual, implementats a partir de les extensions SEV-ES i SEV-SNP. La vulnerabilitat afecta els processadors AMD EPYC de la primera a la tercera generació.

Per als processadors AMD EPYC de tercera generació (Zen 3), el problema es va solucionar en una actualització de microcodi de novembre publicada ahir per AMD (la correcció no comporta una penalització de rendiment). Per als processadors AMD EPYC de primera i segona generació (Zen 1 i Zen 2), la protecció no es proporciona, ja que aquestes CPU no són compatibles amb l'extensió SEV-SNP, que proporciona supervisió de la integritat. màquines virtualsLa quarta generació de processadors AMD EPYC "Genoa" basats en la microarquitectura "Zen 4" no són vulnerables.

La tecnologia AMD SEV s'utilitza per a l'aïllament de màquines virtuals per part de proveïdors de núvol com ara Amazon Web Services (AWS), Google Cloud, Microsoft Azure i Oracle Compute Infrastructure (OCI). La protecció AMD SEV s'implementa mitjançant el xifratge a nivell de maquinari de la memòria de la màquina virtual. A més, l'extensió SEV-ES (Encrypted State) protegeix els registres de la CPU. Només el sistema convidat actual té accés a les dades desxifrades, mentre que altres sistemes hi poden accedir. màquina virtual i l'hipervisor, quan intenta accedir a aquesta memòria, rep un conjunt de dades xifrades.

La tercera generació de processadors AMD EPYC va introduir una extensió addicional, SEV-SNP (Secure Nested Paging), que garanteix un funcionament segur de les taules de pàgines de memòria imbricades. A més del xifratge general de la memòria i l'aïllament del registre, SEV-SNP implementa mesures addicionals per protegir la integritat de la memòria evitant canvis a la VM per part de l'hipervisor. Les claus de xifratge es gestionen al costat d'un processador PSP (Platform Security Processor) independent integrat al xip, implementat sobre la base de l'arquitectura ARM.

L'essència del mètode d'atac proposat és utilitzar la instrucció INVD per invalidar blocs (línies) a la memòria cau de pàgines brutes sense abocar les dades acumulades a la memòria cau a la memòria (reescritura). Per tant, el mètode us permet desallotjar les dades modificades de la memòria cau sense canviar l'estat de la memòria. Per dur a terme un atac, es proposa utilitzar excepcions de programari (injecció d'errors) per interrompre el funcionament de la màquina virtual en dos llocs: en primer lloc, l'atacant crida a la instrucció "wbnoinvd" per restablir totes les operacions d'escriptura de memòria acumulades a la memòria cau i, en segon lloc, crida a la instrucció "invd" per tornar les operacions d'escriptura no reflectides a la memòria a l'estat antic.

Per comprovar si hi ha vulnerabilitats als vostres sistemes, s'ha publicat un prototip d'explotació que us permet inserir una excepció en una màquina virtual protegida mitjançant AMD SEV i revertir els canvis a la VM que no s'han restablert a la memòria. La recuperació d'un canvi es pot utilitzar per canviar el flux d'un programa tornant una adreça de retorn antiga a la pila, o per utilitzar els paràmetres d'inici de sessió d'una sessió antiga que s'ha autenticat prèviament retornant un valor d'atribut d'autenticació.

Per exemple, els investigadors van demostrar la viabilitat d'utilitzar el mètode CacheWarp per dur a terme un atac Bellcore a la implementació de l'algoritme RSA-CRT a la biblioteca ipp-crypto, permetent la recuperació d'una clau privada substituint errors durant el càlcul de la signatura digital. També van demostrar com suplantar els paràmetres de verificació de la sessió OpenSSH durant una connexió remota a un sistema convidat i, a continuació, canviar l'estat de verificació en executar la utilitat sudo per obtenir privilegis de root. Ubuntu 20.04 d'abril. L'exploit s'ha provat en sistemes amb processadors AMD EPYC 7252, 7313P i 7443.

Font: opennet.ru

Compreu allotjament fiable per a llocs amb protecció DDoS, servidors VPS VDS 🔥 Compra allotjament web fiable amb protecció DDoS, servidors VPS VDS | ProHoster