Forscher am CISPA Helmholtz-Zentrum für Informationssicherheit haben fünf verbraucherorientierte RISC-V-CPUs auf Sicherheitslücken untersucht und sind fündig geworden. Drei CPUs des Anbieters T-Head sind angreifbar.
Eine neu entdeckte Sicherheitslücke namens »GhostWrite« kompromittiert die Integrität der RISC-V-CPU »XuanTie C910« des Anbieters T-Head. Sie gibt Angreifern vollen Lese- und Schreibzugriff auf den physikalischen Speicher der C910. GhostWrite umgeht zudem den virtuellen Speicher sowie alle Caches und ist unsichtbar in Performance Countern. Außerdem kann sowohl mit der Festplatte als auch mit Peripheriegeräten wie zum Beispiel Netzwerkkarten und Grafikkarten interagiert werden. Cloud-Services, deren Server eine C910-CPU verwenden, sind ebenfalls von GhostWrite betroffen. Neben GhostWrite wurden auch zwei sogenannte »halt and catch fire«-CPU-Schwachstellen entdeckt, die für Denial-of-Service-Angriffe ausgenutzt werden können. Die Schwachstelle kann nur durch das Deaktivieren der Vector-Extension behoben werden. Die ebenfalls von T-Head hergestellten RISC-V-CPUs »XuanTie C906« und »XuanTie C908« sind von jeweils einer weiteren Schwachstelle betroffen. Forschende am CISPA Helmholtz-Zentrum für Informationssicherheit haben die drei CPU-Sicherheitslücken entdeckt.
Mit einer neuen Fuzzing-Methode für RISC-V-CPUs hat CISPA-Forscher Fabian Thomas aus der Forschungsgruppe von Dr. Michael Schwarz architekturelle Schwachstellen in den T-Head CPUs XuanTie C906, C908 und C910 entdeckt. Die wachsende Verbreitung von RISC-V-CPUs hat das Forschungsinteresse von Thomas und Schwarz geweckt. RISC-V ist eine relativ junge, offene Befehlssatzarchitektur, die es neuen CPU-Herstellern ermöglicht hat, in den Markt einzutreten. »RISC-V ist eine sehr flexible Befehlssatzarchitektur, die es den Herstellern erlaubt, ihre eigenen Erweiterungen zu implementieren. Das ist problematisch, weil es kein zentrales Register für diese individualisierten Erweiterungen gibt. Es kann also passieren, dass verschiedene CPUs dieselbe Kodierung für unterschiedliche Befehle verwenden«, sagt Fabian Thomas. „Das bedeutet, dass Software, die für die RISC-V-CPU eines speziellen Herstellers entwickelt wurde, ein abweichendes Verhalten hervorrufen kann, wenn sie auf der RISC-V-CPU eines anderen Herstellers verwendet wird. Diese Varianz im Verhalten von CPUs kann Probleme verursachen.« RISC-V-CPUs finden sich bis dato in einer geringen Zahl von Hardwarecores, die etwa in Laptops, Smartphones und Servern verbaut werden. Aktuell erhältlich sind fünf verbraucherorientierte RISC-V-CPUs.
Thomas und Schwarz haben die Heterogenität von RISC-V-CPUs und deren individuellen Erweiterungen dazu genutzt, architekturelle Schwachstellen an RISC-V-Anwendungen aufzudecken. Mit RISCVuzz haben sie eine neue differenzielle Fuzzing-Methode für CPUs entwickelt und sie auf alle fünf am Markt erhältlichen RISC-V-CPUs angewandt. »Wir sind davon ausgegangen, dass alle CPUs dieselbe Reaktion zeigen sollten, wenn sie zuvor denselben Befehl erhalten haben. Jedes Mal, wenn die Reaktion einer CPU von der Reaktion aller anderen CPUs abwich, haben wir sie genauer auf Schwachstellen hin untersucht«, erklärt Michael Schwarz die Logik hinter RISCVuzz. »Anders ausgedrückt: Wenn vier von fünf Hotelsafes verschlossen bleiben, wenn man ‚0000‘ eingibt, der fünfte aber plötzlich aufspringt, dann hat man Grund zur Annahme, dass mit diesem fünften etwas nicht stimmt.«
Im Februar 2024 meldeten Thomas and Schwarz ihre Forschungsergebnisse an T-Head, ein Tochterunternehmen von Alibaba, und im April 2024 an den Cloud-Computing-Anbieter Scaleway, der kurz zuvor begonnen hatte, die C910-CPU in der Cloud einzusetzen. Keine der drei Schwachstellen können derzeit mit Updates behoben werden. GhostWrite, ebenso wie die Sicherheitslücke der C908, kann durch das Deaktivieren der Vector Extension geschlossen werden. Allerdings werden damit auch Kernfunktionalitäten der CPUs ausgeschaltet. Für die Schwachstelle der C906 gibt es derzeit keine umsetzbare Lösung. »CPUs werden mit Code geschrieben. Wenn wir Schwachstellen finden, müssen wir sie unbedingt offenlegen, um zu verhindern, dass diese Bugs sich in anderen CPU-Entwicklungen fortsetzen«, sagt Michael Schwarz.