Schwachstelle "Ghostwrite" in RISC-V CPUs entdeckt

Präsentation auf der Black Hat USA 2024


Auf der Black Hat USA 2024 wurden bemerkenswerte Sicherheitslücken in bestimmten RISC-V Prozessoren vorgestellt. Forscher des CISPA Helmholtz-Zentrums für Informationssicherheit machten dabei die Modelle XuanTie C906, C908 und C910 zum Thema. Diese Prozessoren stammen von T-Head Semiconductor. Das Unternehmen richtet sich vor allem an den chinesischen Markt und ebenfalls an die Alibaba Cloud.



Die bedrohliche "GhostWrite"-Schwachstelle


Besonders auffällig ist die Schwachstelle die als „GhostWrite“ bekannt ist. Diese Schwachstelle im XuanTie C910 erlaubt unbefugten Nutzern den direkten Zugriff auf den DRAM. Sicherlich ist es mal möglich, Daten im physischen Speicher zu manipulieren – selbst innerhalb einer virtuellen Maschine oder einem Container. Die Forscher demonstrierten auf der Konferenz, ebenso wie ein Root-User ein Passwort eingeben konnte. Ein nicht privilegierter Nutzer konnte dieses Passwort direkt stehlen. Zudem gibt es zwei weitere Schwachstellen in den Modellen C906 & C908. Diese beinhalten „halt-and-catch-fire“-Schwachstellen die Denial-of-Service-Attacken ermöglichen.



RISC-V: Ein flexibles jedoch riskantes System


Die Forscher Fabian Thomas und Dr. Michael Schwarz setzten sich intensiv mit der offen gestalteten Befehlssatzarchitektur RISC-V auseinander. Ein Jahr zuvor hatten RISC-V-Prozessoren oft nur unterdurchschnittliche Rechenleistungen. Diese CPUs fanden sich deshalb überwiegend in Mikrocontrollern wieder. Inzwischen hat die Architektur jedoch deutlich an Beliebtheit gewonnen. Der emeritierte Professor Krste Asanović stellte auf dem RISC-V Europe Summit fest. Dass Wachstum insbesondere in Bereichen wie KI-Training, Server, Autos und Unterhaltungselektronik zu erwarten sei. Auch aufgrund einer soliden Android-Unterstützung erleben sie auf dem chinesischen Markt ein exponentielles Wachstum.



Herausforderungen durch individuelle Erweiterungen


RISC-V ermöglicht es neuen Herstellern wie T-Head, eigene Erweiterungen zu ausarbeiten. Es besteht jedoch kein zentrales Register für diese Anpassungen. In Extremfällen könnten verschiedene CPUs die gleiche Kodierung für unterschiedliche Befehle verwenden. Software die zur Verwendung eine bestimmte RISC-V CPU erstellt wurde, könnte ein abweichendes Verhalten zeigen, wenn sie auf einer anderen RISC-V CPU betrieben wird.



Fuzzing-Methode zur Entdeckung von Schwachstellen


Die Forscher Thomas & Schwarz führten eine Untersuchung der erhältlichen CPU-Modelle durch. Sie nutzten dafür die differenzielle Fuzzing-Methode namens RISCVuzz. Schwarz erläuterte die Logik hinter dieser Methode: „Wir erwarteten dass alle CPUs genauso viel mit reagieren würden wenn sie denselben Befehl erhielten. Jede Abweichung konnte auf eine Schwachstelle hinweisen.“ Ein Beispiel veranschaulichte dies: Wenn vier von fünf Hotelsafes bei der Eingabe von „0000“ verriegelt bleiben der fünfte jedoch öffnet, lässt dies auf ein Problem schließen.



Schwierige Behebung der Schwachstellen


Die entdeckten Schwachstellen können nicht einfach durch Mikrocode oder Software-Updates behoben werden. Sie verbergen sich in der Hardware-Schaltung. Die einzige Lösung wäre die gesamte Vektorerweiterung abzuschalten. Doch dies würde zur Folge haben, dass die CPU etwa die Hälfte ihrer Instruktionen einbüßt. Dennoch sind Offenlegungen wichtig. „CPUs werden mit Code programmiert. Es ist entscheidend, Schwachstellen zu finden und offenzulegen um zu verhindern, dass diese Bugs für zukünftige CPU-Entwicklungen übernommen werden“, so Dr. Michael Schwarz.






Kommentare


Anzeige