Interview mit Meltdown-Mitentdecker Werner Haas IT-Experte Haas: „Hacker können leicht private Daten abgreifen“

publish-industry Verlag GmbH

Werner Haas und sein Team von Cyberus Technology haben parallel zu Forschern der TU Graz und einem Google-Mitarbeiter die CPU-Sicherheitslücke Meltdown entdeckt.

Bild: Cyberus Technology
26.01.2018

Sicherheits-Updates für Meltdown müssen von Hardware-Herstellern bis an den Endkunden weitergegeben werden. Das zumindest rät der Mitentdecker dieser Lücke Werner Haas von Cyberus Technology den Elektronikherstellern. Im Gespräch mit der E&E erklärt er auch, warum die Sicherheitslücke Spectre gefährlicher ist.

E&E:

Wie sind Sie auf die Sicherheitslücke Meltdown gestoßen?

Werner Haas:

In einem IT-Blog beschrieb Anders Fogh, Spezialist für Sicherheitsfragen moderner CPUs, wie man durch spekulative Ausführung den Prozessor dazu verleiten könnte, dass dieser Daten, die er nicht weitergeben soll, an die Außenwelt gibt. Fogh sagte aber, dass es bei ihm nicht funktionierte. Mein Kollege Thomas Prescher prüfte das nach und informierte mich, dass dort Daten zugänglich sind, die eigentlich versteckt sein sollten. Das habe ich dann selbst „nachprogrammiert“, um sicherzugehen, dass die Daten nicht doch über einen anderen Kanal geflossen sind. Ich konnte die Sicherheitslücke aber verifizieren.

Auf welche Daten konnten Sie zugreifen?

Wir verwendeten dafür das sogenannte System Call Table. Das ist eine Tabelle, die bestimmt, welcher Programmcode bei einem Funktionsaufruf des Betriebssystems als nächstes ausgeführt wird. Das Betriebssystem sieht anhand einer Nummer, die vergeben wird, welcher Befehl zu dieser Funktion gehört und wohin es mit den Befehlen geht. Als Anwender kann man nicht direkt in die Funktionen eines Betriebssystems hineinspringen. Das wäre nämlich auch eine Schutzverletzung. Der Anwender muss dem Betriebssystem natürlich einen Befehl geben können, doch ihm sollte verborgen sein, an welche Adresse dieser geht. Wir stellten jedoch fest, dass wir diese Adressen auslesen konnten. Der Schutzmechanismus in der Hardware ist der Gleiche, egal ob es sich um Daten oder Programmadressen handelt. Das heißt, wenn wir schon bei diesen Adressen die Schutzverletzung aushebeln konnten, dann können wir das mit allen Daten, auch mit Passwörtern oder Kreditkarteninformationen.

Diese Sicherheitslücke besteht schon seit 20 Jahren. Wie kann es sein, dass diese Lücke jetzt erst und dann gleich von mehreren verschiedenen Personen zum gleichen Zeitpunkt entdeckt wurde?

Wenn man in der Geschichte zurückgeht, scheint es, als sei die Zeit manchmal einfach reif. In der Computer-Industrie haben oft mehrere Personen gleichzeitig derartige Bugs gefunden. Das zeigt sich auch in anderen Entwicklungsschritten der Technik: dem Telefon, dem motorisierten Flug, der Entdeckung des Fernsehens. Aus unbekannten Gründen stoßen mehrere Personen zur selben Zeit auf die gleiche Idee oder den gleichen Gedanken.

Sie und Ihr Team haben Meltdown entdeckt, von den anderen Gruppen erfuhren Sie dann, dass es noch eine weitere Lücke gibt: Spectre. Sehen Sie bei Meltdown oder bei Spectre die größere Gefahr?

Meltdown sehe ich aktuell als sehr konkrete Gefahr. Denn Angreifern ist es ein Leichtes, die Sicherheitslücke auszunutzen und auf allen Computern private Daten abzusaugen. Glücklicherweise gibt es durch Betriebssystemupdates einen effektiven Schutz und künftige Prozessoren werden das Problem schon direkt in der Hardware lösen. Längerfristig bereitet mir Spectre mehr Sorgen, weil es nicht eine einzelne Stelle in der Hardware oder Software gibt, deren Änderung das Problem ein für alle Mal aus der Welt schafft. Es kann also eine Weile dauern, bis alle Spectre-anfälligen Programmabschnitte repariert sind.

Wieso sind von Meltdown vor allem Intel-Chips betroffen?

Da kann ich nur ein bisschen raten. Ich kenne leider nicht die Mikroarchitektur des Intel-Produkts – das ist Betriebsgeheimnis. Aber es sieht so aus, als hätten sie den Vorteil, dass sie sich einen Takt bei der Ausführungszeit sparen. Dadurch, dass sie Daten intern schnellstmöglich weiterverarbeiten. Scheinbar legen die anderen Hersteller etwas mehr Wert auf das Prüfen von Zugriffsrechten und sind deswegen nicht in diese Falle geraten.

Warum trifft Spectre alle Architekturen?

Weil die Ursache des Spectre-Problems im Prozessor an einer anderen Stelle zu suchen ist. Bei Meltdown sind die Befehle bereits in einem Zustand, in dem sie nacheinander bearbeitet werden. Die Befehle stehen kurz vor der Ausführung und werden nicht in der normalen Reihenfolge abgearbeitet. Das heißt, wenn man normalerweise auf einen Speicher zugreift, dauert es viele Takte, bis man die Daten zurückbekommt und die davon abhängigen Befehle müssen natürlich auf diesen Wert warten. Aber unabhängige Befehle können sofort ausgeführt werden. Erst am Ende gibt es eine Stufe in dieser Verarbeitungs-Pipeline, in der die richtige Reihenfolge wiederhergestellt wird. Damit der Programmierer weiterhin die Illusion hat, dass Befehl für Befehl einzeln nacheinander ausgeführt wird.

Was raten Sie Herstellern, deren Produkte, wie etwa Embedded-Systeme, auf betroffenen Chips beruhen?

An sich muss ein Hardware-Hersteller, der so einen Chip verbaut hat, nichts tun. Denn für Meltdown reicht es, das Betriebssystem mit den entsprechenden Sicherheits-Updates zu aktualisieren. Dann ist die Lücke auf jeden Fall geschlossen. Vielleicht wollen das manche Hersteller oder auch Nutzer aber nicht, weil das die Prozessoren verlangsamen kann.

Können Elektronikhersteller Bauteile mit betroffenen Chips noch ausliefern?

Ich bin der Meinung, dass man nichts stoppen muss. Am häufigsten werden kleinere Prozessoren wie ein ARM Cortex-M eingebaut, die gar nicht betroffen sind. Meist besteht auch ein geringes Risiko, weil keine x-beliebige Software ausgeführt wird. Für die leistungsfähigeren Prozessoren, die beispielsweise grafische Bedienoberflächen bereitstellen, sollten die Hersteller darauf achten, auf jeden Fall die Updates für die eigenen Produkte zur Verfügung zu stellen: für das Betriebssystem oder die verschiedenen Anwendungsprogramme. Bei früheren Sicherheitslücken habe ich beobachtet, dass leider nicht immer alle Updates an den Endkunden weitergereicht wurden.

Was heißt „leistungsfähiger“ in diesem Zusammenhang?

Leistungsfähig ist natürlich kein objektives Entscheidungskriterium. Ganz allgemein kann man sagen: Eine höhere Rechenleistung ist nur durch entsprechend komplexere Pipelines zu erreichen. Ich würde als Faustregel die Grenze zwischen der Mikrocontroller-Klasse wie zum Beispiel dem ARM Cortex-M beziehungsweise R oder Intels Quark und den Anwendungsprozessoren wie etwa dem ARM Cortex-A und natürlich den x86-Chips von AMD und Intel ziehen. Noch besser ist es aber, sich in dem Zusammenhang die Länge der Pipeline anzuschauen. Ist diese im einstelligen Bereich, so ist der Umfang an Fehlspekulation wohl für Angriffe zu klein.

Glauben Sie, Angreifer werden in Zukunft öfter nach Schwachstellen in Systemen suchen, die auf die Hardware abzielen?

Dass auf die Hardware abgezielt wurde, ist nicht das erste Mal. Bei Intel gab es beispielsweise letztes Jahr Angriffe auf die sogenannte Management Engine, das ist auch auf tiefster Hardware-Ebene passiert. Ein oder zwei Tage nach Meltdown und Spectre hat AMD ein Problem mit dem eigenen Platform Security Processor zugegeben, aber Meltdown und Spectre haben die Medien dominiert. Angriffe auf die Hardware selbst sind nichts Neues und die werden auch nicht weggehen.

Verwandte Artikel