Meltdown und Spectre: Mehr Prozessoren betroffen als gedacht – Neue Technik findet Sicherheitslücke
Als Forscher 2018 die Sicherheitslücken Meltdown und Spectre bei bestimmten Prozessoren entdeckten, waren vor allem Chiphersteller von High-End-Prozessoren wie Intel betroffen. Zunutze gemacht hatten sie sich hier sogenannte Seitenkanäle der Hardware, mit denen sie an Daten gelangt sind. Dass es ähnliche Lücken auch bei anderen Prozessoren gibt, haben nun Forscher aus Kaiserslautern und Stanford gemeinsam erstmals gezeigt. Diese Prozessoren spielen etwa in sicherheitsrelevanten Bereichen von eingebetteten Systemen eine Rolle, zum Beispiel beim Autonomen Fahren. Abhilfe schafft ein Verfahren, das die Forscher entwickelt haben. Es spürt die Lücken schon beim Entwickeln der Hardware auf.
Professor Dr. Wolfgang Kunz stellt die Arbeit am Mittwoch, den 27. März, auf der Fachkonferenz „Design Automation and Test in Europe 2019“ (DATE 2019) im italienischen Florenz vor.
Bei den beiden Angriffsszenarien aus dem vergangenen Jahr spielten sogenannte Seitenkanäle oder verdeckte Kanäle (engl. covert channels) eine zentrale Rolle. Diese Schwachstellen in der Hardware-Architektur können Angreifer ausnutzen. „Dazu braucht man keine administrativen Rechte und muss nicht einmal physischen Zugang zum Prozessor haben. Es genügt, ein Programm mit Benutzerrechten zur Ausführung zu bringen“, schildert Professor Dr. Wolfgang Kunz, der an der Technischen Universität Kaiserslautern (TUK) den Lehrstuhl für Entwurf Informationstechnischer Systeme innehat. „Man nutzt Nebeneffekte wie beispielsweise Zugriffskonflikte im Speicher, die Auswirkungen auf das zeitliche Verhalten des Programmablaufs haben. Damit kann man dann Rückschlüsse auf den vertraulichen Inhalt des Speichers ziehen.“ So ist es etwa möglich, an Passwörter oder verschlüsselte Daten zu gelangen.
Von dieser Sicherheitslücke betroffen waren (und sind es zum Teil immer noch) vor allem High-End-Prozessoren großer US-amerikanischer Chiphersteller. Diese setzen auf eine „Out-of-order execution“ (auf Deutsch in etwa „Ausführung in anderer Reihenfolge“), bei der Arbeitsschritte in günstigerer Abfolge erfolgen können, als es vom Programmierer festgelegt wurde. Auf diese Weise lässt sich die Leistung des Rechners verbessern, da ein höherer Grad an Parallelität bei der Programmausführung erreicht werden kann. Dabei entstehen in dem System allerdings Nebeneffekte, die Angreifer für sich nutzen können.
Eine ähnliche Lücke gibt es aber auch bei anderen Prozessoren, die eine einfachere Hardware-Architektur besitzen. Das haben jetzt die Kaiserslauterer Forscher Mohammad R. Fadiheh, Dominik Stoffel und Professor Kunz mit ihren Kollegen Clark Barrett und Subhasish Mitra von der US-amerikanischen Stanford Universität nachgewiesen. Mit dem von ihnen entwickelten „Orc-Angriff“ haben sie hier einen solchen Seitenkanal gezeigt. „Dadurch ist es im Prinzip möglich, auch bei der Programmausführung auf einfachen Prozessoren, wie sie in vielen Anwendungen des täglichen Lebens weit verbreitet sind, vertrauliche Daten abzugreifen“, sagt Kunz. Den Namen des Angriffs (Orc-Attack) haben die Elektroingenieure vom englischen Technikbegriff „orchestration“ (dt. Orchestrierung) abgeleitet.
Betroffen von dieser Problematik könnten sehr viele Anwendungsbereiche sein. „Solche Mikrochips kommen oft in Embedded Systems, eingebetteten Systemen, zum Einsatz“, erläutert Fadiheh. Sie steuern technische Systeme in den verschiedensten Anwendungsgebieten, sei es in der Unterhaltungselektronik, der Medizintechnik, der Telekommunikation, der Gebäude- (Smart Home) oder der Produktionsautomatisierung (Smart Factory). Viele dieser Bereiche sind besonders sicherheitsrelevant, wie etwa das Autonome Fahren oder das Internet der Dinge (engl. Internet of Things, IoT), bei dem verschiedene Geräte miteinander vernetzt sind und Daten austauschen.
Abhilfe bei dieser Sicherheitslücke schafft ein neues Rechenverfahren, das die Wissenschaftler der TU Kaiserslautern mit ihren amerikanischen Kollegen entwickelt haben. Es spürt solche Schwachstellen in der Hardware auf. Die Forscher haben es „Unique Program Execution Checking“ (UPEC) getauft. „Wir haben anhand eines freizugänglichen, sogenannten open-source Prozessors gezeigt, dass solche kritischen Stellen in gängigen Entwürfen leicht möglich sind“, so Ingenieur Fadiheh weiter. Wie viele Prozessoren in der Praxis tatsächlich betroffen sind, ist nicht bekannt. Dazu müssten Hersteller das UPEC-Verfahren bei den Entwurfsdaten ihrer verschiedenen kommerziellen Prozessormodelle anwenden. Diese Daten sind jedoch Betriebsgeheimnisse der Hersteller und nur diesen zugänglich.
Designer und Entwickler von Prozessoren könnten die Methode künftig nutzen, wenn sie an der Architektur der Hardware arbeiten. „Damit können sie einfach testen, ob es solche Angriffspunkte gibt und ob eine Lücke vorhanden ist oder nicht“, ergänzt Forscherkollege Subhasish Mitra. „Die Lücke ließe sich damit direkt beim Entwickeln schließen.“
Die Forscher haben UPEC entwickelt, indem sie eine kommerzielle sogenannte formale Verifikationsumgebung des Software-Unternehmens Onespin Solutions erweitert haben. Sie wird in der Industrie normalerweise dazu eingesetzt, funktionale Bugs, also Fehlverhalten, in Hardwaresystemen aufzuspüren. Durch die Erweiterung mit UPEC kann die Verifikationsumgebung künftig auch Sicherheitslücken durch Seitenkanäle erkennen.