Eine neue BHI-Angriffsvariante auf Intel-CPUs, die die Sicherheit im Linux-Kernel umgeht.

Eine Forschergruppe der Vrije Universiteit Amsterdam hat eine neue Angriffsstrategie namens "Native BHI" (CVE-2024-2201) entwickelt. Diese ermöglicht es, den Inhalt des Linux-Kernel-Speichers auf Systemen mit Intel-Prozessoren zu bestimmen, während ein Exploit im Benutzerspeicher ausgeführt wird. Wird diese Attacke auf Virtualisierungssysteme angewendet, kann der Angreifer aus dem Gastsystem heraus den Speicherinhalt der Host-Umgebung oder anderer Gastsysteme aufdecken.

Die Methode Native BHI stellt eine alternative Technik zur Ausnutzung der BHI-Sicherheitsanfälligkeit (Branch History Injection, CVE-2022-0001) dar und umgeht damit zuvor implementierte Schutzmaßnahmen. Die 2022 vorgeschlagene BHI-Attacke exploitierte eine Verwundbarkeit innerhalb einer Privilegienstufe, wobei der Exploit auf der Ausführung eines vom Benutzer geladenen eBPF-Programms im Kernel basierte. Um die Sicherheitsanfälligkeit zu blockieren, genügte es, den Zugriff auf die Ausführung von eBPF-Code für normale Benutzer einzuschränken.

Die neue Methode Native BHI benötigt keinen Zugang zu eBPF und ermöglicht es einem unprivilegierten Benutzer im Benutzerraum, einen Angriff durchzuführen. Die Methode basiert auf der Ausführung vorhandener Gadgets im Kernel-Code – Befehlsfolgen, die zur spekulativen Ausführung von Anweisungen führen. Zur Suche nach geeigneten Gadgets im Kernel wurde ein spezielles Werkzeug, InSpectre Gadget, entwickelt, das bei der Analyse des Kernels 6.6-rc4 1511 Spectre-Gadgets und 2105 unterstützende Dispatch-Gadgets identifizierte.

Eine neue BHI-Angriffsvariante auf Intel-CPUs, die die Sicherheit im Linux-Kernel umgeht.

Auf Grundlage der gefundenen Gadgets haben die Forscher einen Exploit entwickelt, der es ermöglicht, aus den Kernel-Puffern eine Zeichenkette mit dem Hash des Root-Benutzerpassworts, die aus der Datei /etc/shadow geladen wurde, zu extrahieren. Die Datenextraktionsgeschwindigkeit aus dem Kernel-Speicher beträgt ungefähr 3,5 KB pro Sekunde.

Video abspielen

Die BHI-Methode ist eine erweiterte Variante des Spectre-v2-Angriffs, bei dem der zusätzliche Schutz (Intel eIBRS und Arm CSV2) umgangen wird. Hierfür wird eine Substitution von Werten im Branch History Buffer verwendet, der in CPUs zur Verbesserung der Vorhersagegenauigkeit bei Verzweigungen eingesetzt wird, indem die Geschichte früherer Übergänge berücksichtigt wird. Bei diesem Angriff werden durch Manipulation der Übergangsverläufe Bedingungen für eine falsche Vorhersage von Übergängen und spekulative Ausführung notwendiger Anweisungen geschaffen, deren Ergebnisse im Cache gespeichert werden.

Die Unterschiede zu einem Spectre-v2-Angriff bestehen darin, dass ein Branch History Buffer anstelle eines Branch Target Buffers verwendet wird. Um Daten aus dem Speicher zu extrahieren, muss der Angreifer Bedingungen schaffen, unter denen bei der Ausführung einer spekulativen Operation die Adresse aus dem zu bestimmenden Bereich entnommen wird. Nach der Durchführung des spekulativen indirekten Sprungs bleibt die aus dem Speicher gelesene Sprungadresse im Cache, woraufhin eine der Methoden zur Bestimmung des Cache-Inhalts angewendet werden kann, die auf der Analyse der Zugriffszeiten auf zwischengespeicherte und nicht zwischengespeicherte Daten basiert.

Der Native BHI bietet keinen Schutz gegen Angriffe durch die Verwendung von Intel IBT (Indirect Branch Tracking) und dem in den Linux-Kernel implementierten hybriden Schutzmechanismus für den Befehlsfluss FineIBT. Dieser kombiniert die Verwendung von Hardwarebefehlen IBT mit der softwarebasierenden kCFI (kernel Control Flow Integrity), um Verstöße gegen die normale Ausführungsreihenfolge (control flow) zu blockieren. FineIBT erlaubt die Ausführung bei indirekten Sprüngen nur, wenn auf die Anweisung ENDBR gesprungen wird, die zu Beginn der Funktion platziert ist. Zusätzlich erfolgt (analog zum kCFI-Mechanismus) eine Überprüfung der Hashes, die die Unveränderlichkeit der Zeiger garantieren.

Um sich gegen die neue Variante des Angriffs zu schützen, wurde ein Update im Linux-Kernel implementiert, das einen zusätzlichen Schutzmodus einführt, der die von Intel vorgeschlagenen Hardware-Schutzmechanismen (BHI_DIS_S) oder einen alternativen Software-Schutz verwendet, der zum Schutz des Hypervisors implementiert wurde. KVM. Die Entwickler des Xen-Hypervisors haben ebenfalls einen Patch veröffentlicht, der auf der Verwendung des BHI_DIS_S-Modus basiert, der die Vorhersagen anhand der Verlaufssprünge einschränkt. Die Unterstützung für BHI_DIS_S ist in Prozessoren ab Intel Alder Lake sowie in Server-CPUs ab Intel Sapphire Rapids verfügbar. Es gibt auch einen softwarebasierten Schutzmodus, der auf der Verwendung von Sequenzen zur Bereinigung des Sprunghistorienpuffers basiert, jedoch führt dieser zu einem deutlich spürbaren Leistungsverlust.

Quelle: opennet.ru

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