SicherheitsanfÀlligkeit in der AMD-CPU, die es ermöglicht, den Schutzmechanismus SEV (Secure Encrypted Virtualization) zu umgehen.

Forscher des Helmholtz-Zentrums fĂŒr Informationssicherheit (CISPA) haben eine neue Angriffsmethode, CacheWarp, veröffentlicht, die es ermöglicht, den Schutzmechanismus AMD SEV (Secure Encrypted Virtualization), der in Virtualisierungssystemen verwendet wird, um virtuelle Maschinen vor Eingriffen durch den Hypervisor oder den Administrator des Hosts zu schĂŒtzen, zu kompromittieren. Die vorgeschlagene Methode ermöglicht es einem Angreifer mit Zugriff auf den Hypervisor, die AusfĂŒhrung von fremdem Code und das Erlangen von erhöhten Rechten in einer durch AMD SEV geschĂŒtzten virtuellen Maschine zu erreichen.

Der Angriff basiert auf der Ausnutzung einer SicherheitsanfĂ€lligkeit (CVE-2023-20592), die durch falsche Handhabung des Caches bei der AusfĂŒhrung des Prozessorbefehls INVD verursacht wird, durch die ein Inkonsistenz von Daten im Speicher und Cache erreicht werden kann, wodurch die Mechanismen zur Sicherstellung der IntegritĂ€t des Speichers in virtuellen Maschinen, die auf SEV-ES- und SEV-SNP-Erweiterungen basieren, umgangen werden. Die SicherheitsanfĂ€lligkeit betrifft AMD EPYC-Prozessoren der ersten bis dritten Generation.

FĂŒr die AMD EPYC-Prozessoren der dritten Generation (Zen 3) wurde das Problem in einem Mikrocode-Update, das gestern von AMD veröffentlicht wurde, behoben (der Patch fĂŒhrt nicht zu einer Leistungsminderung). FĂŒr die erste und zweite Generation der AMD EPYC-Prozessoren (Zen 1 und Zen 2) gibt es keinen Schutz, da diese CPUs keine UnterstĂŒtzung fĂŒr die SEV-SNP-Erweiterung bieten, die die IntegritĂ€tskontrolle gewĂ€hrleistet. virtuelle Maschinen. Die vierte Generation der AMD EPYC-Prozessoren "Genoa" auf Basis der Mikroarchitektur "Zen 4" ist von der SicherheitsanfĂ€lligkeit nicht betroffen.

Die Technologie AMD SEV wird zur Isolierung virtueller Maschinen von Cloud-Anbietern wie Amazon Web Services (AWS), Google Cloud, Microsoft Azure und Oracle Compute Infrastructure (OCI) eingesetzt. Der Schutz durch AMD SEV wird durch hardwarebasiertem SpeicherverschlĂŒsselung fĂŒr virtuelle Maschinen realisiert. ZusĂ€tzlich erfolgt der Schutz der CPU-Register durch die SEV-ES (Encrypted State)-Erweiterung. Nur das aktuelle Gastbetriebssystem hat Zugriff auf die entschlĂŒsselten Daten, wĂ€hrend die anderen virtuelle Maschinen und der Hypervisor bei dem Versuch, auf diesen Speicher zuzugreifen, ein verschlĂŒsseltes Datenset erhalten.

In der dritten Generation der AMD EPYC-Prozessoren wurde die zusĂ€tzliche Erweiterung SEV-SNP (Secure Nested Paging) implementiert, die einen sicheren Umgang mit verschachtelten Speicherseiten ermöglicht. Neben der allgemeinen SpeicherverschlĂŒsselung und der Isolierung von Registern bietet SEV-SNP zusĂ€tzliche Mittel zum Schutz der IntegritĂ€t des Speichers, die Änderungen an der VM durch den Hypervisor verhindern. Die Verwaltung der VerschlĂŒsselungsschlĂŒssel erfolgt ĂŒber die auf dem Chip integrierte separate Prozessor PSP (Platform Security Processor), die auf der ARM-Architektur basiert.

Die Kernaussage der vorgeschlagenen Angriffsmethode besteht darin, die INVD-Anweisung zu verwenden, um Blöcke (Zeilen) im Cache von schmutzigen Seiten ohne das ZurĂŒckschreiben der im Cache angesammelten Daten in den Speicher (write-back) zu annullieren. Dadurch ermöglicht die Methode, geĂ€nderte Daten aus dem Cache zu verdrĂ€ngen, ohne den Zustand des Speichers zu Ă€ndern. FĂŒr die DurchfĂŒhrung des Angriffs wird vorgeschlagen, Software-Exzeptionen (Fault Injection) zu nutzen, um die Arbeit der virtuellen Maschine an zwei Stellen zu unterbrechen: An der ersten Stelle ruft der Angreifer die Anweisung „wbnoinvd“ auf, um alle im Cache gesammelten SchreibvorgĂ€nge in den Speicher zurĂŒckzusetzen, und an der zweiten Stelle ruft er die Anweisung „invd“ auf, um nicht im Speicher reflektierte SchreibvorgĂ€nge in den ursprĂŒnglichen Zustand zurĂŒckzufĂŒhren.

Um die Systeme auf Schwachstellen zu prĂŒfen, wurde ein Prototyp eines Exploits veröffentlicht, der es ermöglicht, eine Ausnahme in eine durch AMD SEV geschĂŒtzte virtuelle Maschine einzuschleusen und nicht ins GedĂ€chtnis zurĂŒckgefĂŒhrte Änderungen in der VM in den alten Zustand zurĂŒckzusetzen. Der RĂŒcksetzvorgang kann verwendet werden, um den Ablauf eines Programms zu Ă€ndern, indem die alte RĂŒcksprungadresse im Stack zurĂŒckgegeben wird, oder um Parameter einer alten Sitzung, fĂŒr die zuvor eine Authentifizierung durchgefĂŒhrt wurde, zurĂŒckzugeben, indem der Authentifizierungswert wiederhergestellt wird.

Beispielsweise haben Forscher die Möglichkeit demonstriert, die Methode CacheWarp anzuwenden, um einen Bellcore-Angriff auf die Implementierung des RSA-CRT-Algorithmus in der Bibliothek ipp-crypto durchzufĂŒhren, was es ermöglichte, den privaten SchlĂŒssel durch Fehlerersetzung bei der Berechnung der digitalen Signatur wiederherzustellen. Es wurde auch gezeigt, wie man die Parameter fĂŒr die SitzungsĂŒberprĂŒfung von OpenSSH bei einer Remote-Verbindung zum Gastbetriebssystem manipulieren kann, um dann den ÜberprĂŒfungsstatus bei der AusfĂŒhrung des Befehls sudo fĂŒr die Erlangung von Root-Rechten in Ubuntu 20.04 zu Ă€ndern. Der Exploit wurde auf Systemen mit AMD EPYC 7252, 7313P und 7443 getestet.

Quelle: opennet.ru

60GB SSD 8Gb DDR4