Plundervolt — eine neue Angriffsart auf Intel-Prozessoren, die die SGX-Technologie betrifft.

Das Unternehmen Intel die Microcode-Update, das in Cisco-Switches die gesamte Unternehmensnetzwerkwelt fast weltweit in Frage. (CVE-2019-14607), ermöglicht durch Manipulation des dynamischen Spannungs- und Frequenzmanagements in der CPU die Beschädigung von Datenspeicherzellen auszulösen, einschließlich der Bereiche, die bei Berechnungen in isolierten Intel SGX-Enklaven verwendet werden. Der Angriff wurde Plundervolt genannt und ermöglicht es einem lokalen Nutzer potenziell, seine Berechtigungen im System zu erhöhen, einen Dienstenausfall zu verursachen und auf vertrauliche Daten zuzugreifen.

Ein Angriff stellt nur im Kontext von Berechnungsmanipulationen in SGX-Enklaven eine Gefahr dar, da für die Durchführung root-Rechte im System erforderlich sind. Im einfachsten Fall kann der Angreifer Verzerrungen in die Informationen einbringen, die in der Enklave verarbeitet werden. In komplizierteren Szenarien kann jedoch nicht ausgeschlossen werden, dass gespeicherte private Schlüssel in der Enklave, die für die Verschlüsselung mit RSA-CRT- und AES-NI-Algorithmen verwendet werden, rekonstruiert werden. Diese Technik kann auch verwendet werden, um Fehler in ursprünglich korrekten Algorithmen zu erzeugen, um Schwachstellen im Umgang mit dem Speicher zu provozieren, beispielsweise um auf einen Bereich jenseits des zugewiesenen Puffers zuzugreifen.
Prototypcode für die Durchführung eines Angriffs veröffentlicht auf GitHub

Die Methode zielt darauf ab, Bedingungen zu schaffen, die unerwartete Verzerrungen von Daten bei Berechnungen im SGX verursachen, gegen die die Verwendung von Verschlüsselung und Authentifizierung des Speichers im Enklave nicht schützt. Um Verzerrungen einzuführen, stellte sich heraus, dass man reguläre Programmier-Schnittstellen verwenden kann, die zur Steuerung von Frequenz und Spannung eingesetzt werden, normalerweise genutzt zur Reduzierung des Energieverbrauchs im Leerlauf und zur Aktivierung maximaler Leistung bei intensiven Arbeitsvorgängen. Die Frequenz- und Spannungsparameter betreffen den gesamten Chip und beeinflussen die Berechnungen im isolierten Enklave.

Durch das Ändern der Spannung können Bedingungen geschaffen werden, unter denen die Ladung nicht ausreicht, um die Speicherzelle innerhalb der CPU zu regenerieren, wodurch ihr Wert sich ändert. Der entscheidende Unterschied zu einem Angriff RowHammer ist das, was RowHammer ermöglicht, den Inhalt einzelner Bits im DRAM durch wiederholtes Auslesen von Daten aus benachbarten Zellen zu verändern, während Plundervolt es ermöglicht, Bits innerhalb der CPU zu verändern, wenn die Daten bereits aus dem Speicher geladen wurden, um Berechnungen durchzuführen. Diese Besonderheit ermöglicht es, die in SGX verwendeten Mechanismen zur Integritätskontrolle und zur Verschlüsselung von Daten im Speicher zu umgehen, da die Werte im Speicher korrekt bleiben, aber bei Operationen mit ihnen verzerrt werden können, bevor das Ergebnis im Speicher geschrieben wird.

Wenn dieser geänderte Wert im Multiplikationsprozess während der Verschlüsselung verwendet wird, wird ein inkorrekter Chiffretext ausgegeben. Wenn ein Angreifer auf den Handler in SGX zugreifen kann, um seine Daten zu verschlüsseln, kann er durch das Auslösen von Fehlern eine Statistik über die Veränderungen des Chiffretexts aus der Ausgabe sammeln und innerhalb weniger Minuten den im Enklave gespeicherten Schlüssel rekonstruieren. Der ursprüngliche Text an der Eingabe und der korrekte Chiffretext an der Ausgabe sind bekannt, der Schlüssel ändert sich nicht, und die Ausgabe eines inkorrekten Chiffretexts deutet darauf hin, dass ein Bit in das gegenüberliegende Wert verzerrt wurde.

Durch die Analyse der gesammelten Paare von korrekten und verzerrten Chiffretexten bei verschiedenen Störungen mithilfe von Methoden der Differenziellen Fehleranalyse (DFA, Differential Fault Analysis) kann man mögliche Schlüssel vorhersagen, die für die symmetrische Verschlüsselung AES verwendet werden, und dann durch die Analyse der Schnittmengen von Schlüsseln in verschiedenen Sätzen den gesuchten Schlüssel bestimmen. Verschiedene Modelle von Intel-Prozessoren sind von dem Problem betroffen, einschließlich der Intel Core CPUs der 6.

Video abspielen

bis 10. Generation sowie der fünften und sechsten Generation von Xeon E3, der ersten und zweiten Generation von Intel Xeon Scalable, Xeon D,
Xeon W und Xeon E.
Erinnern wir uns daran, dass die SGX-Technologie (

Software Guard Extensions) in den Prozessoren der Intel Core der sechsten Generation (Skylake) eingeführt wurde und) in den Prozessoren der Intel Core der 6. Generation (Skylake) eingeführt wurde und bietet eine Reihe von Anweisungen, die es Anwendungen auf Benutzerebene ermöglichen, geschützte Speicherbereiche — Enklaven — zu isolieren, deren Inhalte selbst vom Betriebssystem und Code, die in den Modi Ring0, SMM und VMM ausgeführt werden, nicht gelesen oder verändert werden können. Die Kontrolle an den Code in der Enklave weiterzugeben, ist mit herkömmlichen Übergabefunktionen und durch Manipulationen mit Registern und dem Stack nicht möglich — für die Übergabe der Kontrolle an die Enklave wird eine speziell entwickelte neue Anweisung verwendet, die die Berechtigungen überprüft. Dabei kann der in der Enklave platzierte Code klassische Methoden des Funktionsaufrufs nutzen, um auf Funktionen innerhalb der Enklave zuzugreifen, sowie eine spezielle Anweisung zum Aufruf externer Funktionen. Um sich gegen hardwarebasierte Angriffe, wie das Anschließen an das DRAM-Modul, zu schützen, wird die Enklaven-Speicher verschlüsselt.

Quelle: opennet.ru

Erwerben 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