Sicherheitsforschung an Prozessoren MIT-Kernel „Fractal“ macht Chipverhalten genauer messbar

Von Sebastian Gerstl 3 min Lesedauer

MIT-Forschende haben mit Fractal einen eigenen Betriebssystemkern entwickelt, mit dem sich Prozessoren präziser untersuchen lassen. Auf Apples M1 konnten sie auf diesem Weg ein bislang nicht belegtes Verhalten mit potentiellem Sicherheitsrisiko feststellen.

Fractal basiert auf einem neuen Konzept: dem „Outer Kernel“-Thread, der sich im Speicher eines Benutzerprozesses befindet, aber mit Kernel-Rechten ausgeführt wird. Entwicklerund MIT-Doktorand Joseph Ravichandran bezeichnet das resultierende Betriebssystem als das „Elektronenmikroskop der Betriebssysteme“.(Bild:  MIT / Gabriel Maragaño)
Fractal basiert auf einem neuen Konzept: dem „Outer Kernel“-Thread, der sich im Speicher eines Benutzerprozesses befindet, aber mit Kernel-Rechten ausgeführt wird. Entwicklerund MIT-Doktorand Joseph Ravichandran bezeichnet das resultierende Betriebssystem als das „Elektronenmikroskop der Betriebssysteme“.
(Bild: MIT / Gabriel Maragaño)

Wenn Sicherheitsforschende untersuchen wollen, wie moderne Prozessoren tatsächlich arbeiten, stoßen sie bei herkömmlichen Betriebssystemen schnell an Grenzen. Systeme wie macOS, Linux oder Windows sind für Stabilität, Schutz und Alltagseinsatz gebaut, nicht für möglichst störungsfreie Messungen im Inneren eines Chips.

Ein Team am Computer Science and Artificial Intelligence Laboratory des MIT hat deshalb einen eigenen Betriebssystemkern entwickelt. Fractal soll Forschenden einen direkteren Blick auf Mikroarchitekturen ermöglichen, also auf interne Strukturen wie Caches, Speicherübersetzungen und Sprungvorhersagen.

Der Kernel wurde von Grund auf für Experimente geschrieben. Er läuft direkt auf der Hardware und ersetzt dabei das übliche Betriebssystem. Ziel ist nicht, ein alltagstaugliches System zu schaffen, sondern Messungen zu ermöglichen, bei denen möglichst wenige Einflüsse von außen das Ergebnis verfälschen.

Kontrollierte Experimente statt Betriebssystemrauschen

Ein zentrales Problem bisheriger Forschung ist, dass Betriebssysteme bei jedem Experiment eigene Aktivitäten ausführen. Sie verwalten Speicherbereiche, planen Prozesse ein und aus, lösen Unterbrechungen aus und verändern damit genau jene Bedingungen, die eigentlich konstant bleiben sollen.

Fractal setzt an diesem Punkt an. Der Kernel erlaubt es, Tests über unterschiedliche Privilegienebenen hinweg auszuführen, ohne dabei andere Parameter wesentlich zu verändern. Die Forschenden bezeichnen diese Technik als Multi-Privilege Concurrency.

Dafür nutzt Fractal unter anderem sogenannte Outer Kernel Threads. Sie befinden sich im Speicher eines Nutzerprozesses, laufen aber mit Kernelrechten. So kann derselbe Code in vergleichbaren Umgebungen ausgeführt werden, einmal mit Nutzerrechten und einmal mit höheren Rechten.

Ergänzt wird das durch kooperatives Multitasking und ein eigenes Speichersystem namens gmap. Beides soll verhindern, dass das Betriebssystem Tests unterbricht oder Speicherzuordnungen zwischen Messungen unbemerkt verändert.

Neue Befunde zum Apple M1

Als ersten größeren Anwendungsfall untersuchte das Team den Apple-M1-Prozessor. Im Mittelpunkt standen Sprungvorhersagen, mit denen CPUs abschätzen, welcher Code als Nächstes ausgeführt werden könnte. Solche Mechanismen sind wichtig für die Leistung, können aber auch für Seitenkanalangriffe relevant sein. So war dieses Verhalten für die 2017 bekannt gewordenen Sicherheitslücken Meltdown und Spectre in x86-Prozessoren verantwortlich.. Sicherheitsforscher hatten gewarnt, dass diese Sicherheitslücke auch auf ARM-Prozessoren zutreffen könnte, konnten hierfür aber bislang noch keine eindeutigen Belege liefern.

Die Forschenden bestätigten zunächst, dass eine ARM-Schutzfunktion namens CSV2 beim M1 in einem wichtigen Punkt greift. Nutzerprogramme können demnach nicht einfach bewirken, dass der Kernel über die indirekte Sprungvorhersage spekulativ ein gewähltes Ziel ausführt.

Gleichzeitig zeigte Fractal ein Verhalten, das vorher nicht belegt war. Der Prozessor holt ein mögliches Ziel offenbar dennoch in den Instruktionscache, bevor die Schutzwirkung vollständig greift. Dieser Vorgang ist über einen Seitenkanal beobachtbar.

Zudem fand das Team erste Hinweise darauf, dass Apple Silicon von sogenannter Phantom Speculation betroffen ist. Dabei können gewöhnliche Befehle, etwa eine Leerinstruktion, vom Prozessor vorübergehend wie Sprünge behandelt werden. Beim M1 wurden solche Abrufe über Privilegien- und Adressraumgrenzen hinweg beobachtet, eine Ausführung der Instruktionen blieb jedoch blockiert.

Ein weiteres Experiment korrigierte frühere Annahmen zur bedingten Sprungvorhersage des M1. Nach Angaben des Teams zeigte Fractal, dass diese Vorhersage weder auf Performance- noch auf Effizienzkernen nach Privilegienebenen isoliert ist. Frühere abweichende Messungen könnten durch Thread-Migrationen unter macOS beeinflusst worden sein.

Werkzeug für weitere Forschung

Fractal ist nicht als Einzelversuch angelegt, sondern als Forschungsinfrastruktur. Der Kernel unterstützt x86_64, ARM64 und RISC-V und umfasst mehr als 31.000 Codezeilen. Enthalten sind auch bekannte Schnittstellen und Werkzeuge, damit bestehende Experimente leichter übertragen werden können.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Die Ergebnisse zum M1 wurden nach Angaben der Forschenden an Apples Produktsicherheitsteam gemeldet. Praktische Auswirkungen der beobachteten Phantom-Speculation-Befunde schätzt das Team vorsichtig ein, da zwar spekulative Abrufe, aber keine Ausführung gezeigt wurden.

Vorgestellt wurde die Arbeit beim IEEE Symposium on Security and Privacy in San Francisco. Langfristig soll Fractal anderen Forschungsteams helfen, Messungen an Prozessoren reproduzierbarer und besser vergleichbar zu machen. Der Kernel ist als Open-Source-Projekt unter MIT-Lizenz verfügbar. Ravichandran hat den Kernel auf GitHub und den vollständigen Versuchsaufbau auf Zenodo veröffentlicht; weitere Details sind auf der Website von Fractal zu finden.(sg)

(ID:50869166)