Indirector – ein neuer Mikroarchitektur-Angriff, der die CPUs Intel Raptor Lake und Alder Lake betrifft.

Forscher der Universität Kalifornien in San Diego haben eine neue Angriffsmethode auf mikroarchitektonische Strukturen von Intel-Prozessoren vorgestellt, die unter anderem auf CPUs der Mikroarchitekturen Raptor Lake und Alder Lake anwendbar ist. Der Angriff, der den Codenamen Indirector trägt, ermöglicht es, den Verlauf der spekulativen Ausführung von Anweisungen in anderen Prozessen und auf anderen privilegierten Ebenen (zum Beispiel im Kernel oder einer anderen virtuellen Maschine), die in einem CPU-Thread mit dem Code des Angreifers ausgeführt werden, zu verändern. Als Demonstration der Funktionsweise der Methode wurde ein Prototyp eines Exploits vorbereitet, der es ermöglicht, die Anordnung der Speicheradressen zum Umgehen des ASLR-Schutzmechanismus (Address Space Layout Randomization) zu bestimmen. Darüber hinaus wurde ein Werkzeug unter der MIT-Lizenz veröffentlicht, das für die Analyse und das Reverse Engineering der mikroarchitektonischen Logik von CPUs entwickelt wurde.

Es wurden zwei Methoden zur Durchführung des Angriffs vorgeschlagen. Die erste Methode basiert auf der Verzerrung des Inhalts des Puffers für die Vorhersage indirekter Sprünge (IBP, Indirect Branch Predictor), der zur Vorhersage indirekter Sprünge verwendet wird, wenn die Adresse oder der Offset für den Sprung noch unbekannt sind und in den Anweisungen vor der Sprunganweisung berechnet werden. Die zweite Methode betrifft den Pufferspeicher für Sprungziele (BTB, Branch Target Buffer), der Informationen über kürzliche Sprünge enthält.

Indirector - neue Mikroarchitektur-Attacke, die die CPUs Intel Raptor Lake und Alder Lake betrifft

Indirector - neue Mikroarchitektur-Attacke, die die CPUs Intel Raptor Lake und Alder Lake betrifft

Die identifizierten Schwachstellen ermöglichen es dem Angreifer, den Inhalt der Einträge in den Puffern IBP und BTB, die Adressen von Sprüngen enthalten, die in Fremdprozessen verwendet werden, zu bestimmen sowie beliebige Sprungadressen in den Datentabellen der Puffer zu substituieren. Dadurch kann der Angreifer den Ausführungsfluss eines Fremdprozesses zu einer gewünschten Adresse im Speicher während der spekulativen Ausführung von Anweisungen umleiten. Nach der Feststellung der fehlerhaften Vorhersage wird das Ergebnis der spekulativen Ausführung verworfen, aber die Adressen und Daten, die während der spekulativen Ausführung aus dem Speicher gelesen wurden, bleiben im Cache und können mit einer der Methoden zur Ermittlung des Cache-Inhalts auf der Basis der Analyse von Zugriffszeiten auf zwischengespeicherte und nicht zwischengespeicherte Daten abgerufen werden. Die genaue Bestimmung von Adressen indirekter Sprünge kann in der Praxis beispielsweise zur Umgehung des ASLR-Schutzmechanismus verwendet werden.

Quelle: opennet.ru

60GB SSD 8Gb DDR4