007: Schutzsoftware mit der Lizenz zum Töten von Spectre-Code

Eine neue, nach James Bond benannte Schutztechnik, soll Spectre-Schwachstellen mit nur 2 Prozent Performance-Einbußen in Programmcode erkennen und eliminieren.

In Pocket speichern vorlesen Druckansicht 51 Kommentare lesen
007: Schutzsoftware mit der Lizenz zum Töten von Spectre-Code

Sean Connery als Geheimagent 007 im Bond-Streifen "Dr. No" – schon in diesem ersten Film kämpft der britische Agent gegen die böse Organisation SPECTRE.

(Bild: United Artists)

Lesezeit: 2 Min.
Von
  • Fabian A. Scherschel
CPU-Sicherheitslücken Meltdown und Spectre

Von den beiden zusammen aufgetretenen CPU-Lücken Meltdown und Spectre ist Spectre sicherlich die Variante, von der Sicherheitsforscher in Zukunft mehr Gefahren befürchten. Da es sich eher um eine Schwachstellen-Familie als um eine einzelne Lücke handelt, lässt sie sich nicht, wie etwa die Meltdown-Lücke, durch Änderungen an Firm- oder Hardware pauschal abschalten. Zwar wurden bisher keine Spectre-Angriffe in freier Wildbahn beobachtet – der einzige bekannte Schadcode sind Test-Code von Sicherheitsforschern – nichtsdestotrotz arbeitet man an Gegenmaßnahmen, die den Angriff verhindern sollen. Der neueste Ansatz hört auf den passenden Namen 007.

Ähnlich wie der kaltblütige Geheimagent im Auftrag ihrer Majestät soll die 007-Software bösartige Spectre-Fragmente in Programmcode entdecken und ausschalten. Die Forscher geben an, ihre Software habe es geschafft 14 von 15 Spectre-Angriffsvarianten zu eliminieren, die Paul Kocher – einer der Entdecker von Spectre – als mögliche Angriffe vorgeschlagen habe. Das ist nach ihren Angaben besser als die von Microsoft propagierte Lösung eines eingebauten Schutzes im C-Compiler der Firma; die auch von Kocher kritisiert worden war. Das Ganze soll auch besonders Prozessor-schonend funktionieren: Das 007-Framework benötige weniger als zwei Prozent mehr Leistung, so die Forscher.

007 erreicht sein Ziel, in dem es den Binärcode eines verwundbaren Programms (etwa Browser, Datenbank-Programme, Treiber oder Betriebssystem-Tools) auf Spectre-Schwachstellen analysiert. Dabei beobachtet es den Programmablauf (control flow) und dabei vor allem bedingte Verzweigungen (conditional branches). Bei der Ausführung werden dann gefährliche Verzweigungen eliminiert, um so bösartigen Code, der Spectre-Lücken ausnutzen will, zu neutralisieren. Wie genau das funktioniert, stellen die fünf Forscher von zwei Universitäten in Singapur und der Carnegie Mellon University in den USA in einer 12-seitigen Publikation der Öffentlichkeit vor. Funktionierenden Erkennungscode wollen sie Interessenten auf Anfrage zur Verfügung stellen.

Bei 007 handelt es sich nicht um den einzigen Ansatz, Spectre-Angriffe zu erkennen und zu verhindern. Sollten sich die zwei Prozent Performance Overhead in der Praxis allerdings als realistisch erweisen, so könnte der Bond-Algorithmus in Zukunft aber eine wichtige Waffe gegen Spectre sein – falls es wirklich zu ernstzunehmenden Angriffen auf die Lücke kommt.

Update: In einer früheren Version der Meldung war verwirrenderweise bei der Erklärung der 007-Arbeitsweise von Compilern die Rede; dieser Teil wurde korrigiert. (fab)