Schwachstelle in AMD SEV, die es ermöglicht, Verschlüsselungsschlüssel zu bestimmen.

Entwickler des Google Cloud-Teams haben Eine Schwachstelle (CVE-2019-9836) in der Implementierung der Technologie AMD SEV (Secure Encrypted Virtualization) ermöglicht es, Daten, die durch diese Technologie geschützt sind, zu kompromittieren. AMD SEV sorgt auf Hardwareebene für eine transparente Verschlüsselung des Speichers virtueller Maschinen, wobei nur das aktuelle Gastbetriebssystem Zugang zu den entschlüsselten Daten hat, während andere virtuelle Maschinen und der Hypervisor beim Zugriff auf diesen Speicher einen verschlüsselten Datensatz erhalten.

Das identifizierte Problem ermöglicht die vollständige Wiederherstellung des Inhalts des geschützten PDH-Schlüssels, der auf der Ebene eines einzelnen geschützten Prozessors PSP (AMD Security Processor) verarbeitet wird und für das Hauptbetriebssystem nicht zugänglich ist.
Nachdem der Angreifer den PDH-Schlüssel erlangt hat, kann er den Sitzungsschlüssel sowie die geheime Sequenz, die bei der Erstellung der virtuellen Maschine festgelegt wurde, wiederherstellen und auf die verschlüsselten Daten zugreifen.

Die Schwachstelle wird durch Mängel in der Implementierung elliptischer Kurven (ECC) verursacht, die für die Verschlüsselung verwendet werden, und ermöglicht eine Attacke bei der Wiederherstellung der Parameter der Kurve. Während der Ausführung des Befehls zum Starten einer geschützten virtuellen Maschine kann ein Angreifer Kurvenparameter senden, die nicht den vom NIST empfohlenen Parametern entsprechen, was zu einer Verwendung von Werten von niedriger Ordnung in den Multiplikationsoperationen mit den Daten des privaten Schlüssels führt.

Die Sicherheit des ECDH-Protokolls hängt direkt ab ab der Ordnung des generierten Startpunkts der Kurve, dessen diskretes Logarithmieren eine sehr komplexe Aufgabe darstellt. In einem der Schritte zur Initialisierung der AMD SEV-Umgebung werden Parameter verwendet, die vom Benutzer bereitgestellt werden. Es wird im Wesentlichen eine Multiplikation zweier Punkte durchgeführt, von denen einer dem privaten Schlüssel entspricht. Wenn der zweite Punkt zu kleinen Primzahlen gehört, kann ein Angreifer die Parameter des ersten Punktes (Bits des Moduls, das in der Modul-Potenzierungsoperation verwendet wird) durch Ausprobieren aller möglichen Werte bestimmen. Um den privaten Schlüssel zu ermitteln, können die ausgewählten Fragmente der Primzahlen dann mit Hilfe von der Chinesischen Restklassensatzes.

Die Serverplattformen von AMD EPYC sind von Problemen betroffen, wenn sie Firmware-Versionen von SEV bis einschließlich 0.17 build 11 verwenden. AMD hat bereits die ein Firmware-Update herausgebracht, das die Verwendung von Punkten, die der NIST-Kurve nicht entsprechen, blockiert. Dabei bleiben frühere Zertifikate für PDH-Schlüssel gültig, was es Angreifern ermöglicht, eine Migration virtueller Maschinen aus sicheren Umgebungen in von der Schwachstelle betroffene Umgebungen durchzuführen. Es wird auch die Möglichkeit erwähnt, einen Angriff durch das Zurücksetzen der Firmware auf eine ältere, verwundbare Version durchzuführen, wobei diese Möglichkeit jedoch bisher nicht bestätigt wurde.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster