Schwachstellen in chinesischen RISC-V CPUs
Deutsche Forscher fanden Schwachstellen in einzelnen RISC-V CPUs von T-Head Semiconductors. Die flexible, junge Architektur entpuppt sich dabei als Risiko.
- Lukas Grunwald
Auf der Black Hat USA 2024 stellten Forscher des CISPA Helmholtz-Zentrums für Informationssicherheit schwerwiegende Lücken in der Architektur von bestimmten RISC-V Prozessoren vor. Dabei geht es um die Modelle XuanTie C906, C908 und C910, welche die Firma T-Head Semiconductor primär für die Alibaba Cloud und den chinesischen Markt entwickelte.
Eklatant ist vor allem die „GhostWrite“ getaufte Schwachstelle im XuanTie C910. Sie ermöglicht es unbefugten Nutzern, direkt auf das DRAM zuzugreifen und damit Daten im physikalischen Speicher zu ändern – auch in einer VM oder einem Container. Indem die Pagetable so manipuliert wird, dass ein User-Prozess darauf zugreifen kann, ist auch das Auslesen des gesamten physischen Speichers der Hardware möglich. Die Forscher führten auf der Black Hat vor, wie der Root-User ein Password eingibt, das ein nicht privilegierter User unmittelbar stehlen konnte. Zwei weitere Schwachstellen betreffen die Modelle C906 und C908, beides sind „halt-and-catch-fire“-Schwachstellen, die DoS-Attacken ermöglichen.
RISC-V: Flexibel bis zum Bruch
Die beiden CISPA-Forscher Fabian Thomas und Dr. Michael Schwarz stießen im Zuge ihrer Beschäftigung mit der offenen Befehlssatzarchitektur RISC-V auf die Schwachstellen. RISC-V-Prozessoren wiesen im vergangenen Jahr noch eine eher unterdurchschnittliche Rechenleistung auf und hatten ihren Platz daher meist in Mikrocontrollern, mittlerweile erfährt die Technik aber viel Zuspruch. Der emiritierte Berkeley-Professor Krste Asanović erwartete auf dem diesjährigen RISC-V Europe Summit zum Beispiel ein erhebliches Wachstum auf Feldern wie KI-Training, Server, Autos und Unterhaltungselektronik – letzteres auch wegen einer guten Android-Unterstützung. Vor allem auf dem chinesischen Markt erfreut sich die Architektur wachsender Beliebtheit.
RISC-V ermöglicht neuen CPU-Herstellern wie T-Head in den Markt einzutreten, weil ihre Flexibilität erlaubt, eigene Erweiterungen zu implementieren. Es gibt allerdings kein zentrales Register für diese individualisierten Erweiterungen, sodass im Extremfall verschiedene CPUs dieselbe Kodierung für unterschiedliche Befehle verwenden könnten. Software, die für die RISC-V CPU eines bestimmten Herstellers entwickelt wurde, kann so also ein abweichendes Verhalten hervorrufen, wenn sie auf der RISC-V CPU eines anderen Herstellers läuft.
Die Forscher Thomas und Schwarz prüften die auf dem Markt erhältlichen CPU-Modelle mit der spezifisch dafür entwickelten differenziellen Fuzzing-Methode RISCVuzz. "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 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."
Die entdeckten Schwachstellen können allerdings auch nach ihrer Offenlegung nicht mit Mikrocode oder einem Softwareupdate behoben werden, denn sie befinden sich in der Schaltung der Hardware. Es bliebe einzig das Abschalten der gesamten Vektorerweiterung als Lösung – die CPU würde damit aber die Hälfte ihrer Instruktionen verlieren. Dennoch ist das Offenlegen wichtig: "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“, so Dr. Michael Schwarz.
(kki)