Julian Totzek-Hallhuber

ist Solution Architect bei Veracode

Meltdown und Spectre zeigen die Schwäche der vernetzten Welt auf

Meltdown und Spectre läuteten das Jahr 2018 mit einem Paukenschlag ein und betreffen Milliarden von Geräten. Julian Totzek-Hallhuber erklärt in diesem Blogbeitrag, warum es höchste Zeit ist, Sicherheit mindestens auf die gleiche Stufe wie Funktionalität zu stellen.

300.000 Computer in 150 Ländern – WannaCry und Petya standen in den vergangenen Monaten symbolisch für die Ausmaße der Gefahren, die das Cyber-Zeitalter bereithält. Seit Kurzem machen zwei neue Namen die Runde: Meltdown und Spectre läuteten das Jahr 2018 mit einem Paukenschlag ein und betreffen Milliarden von Geräten. Der Unterschied zu den beiden erstgenannten ist jedoch gravierend: Es steckt nämlich keine Hacker-Bande oder böser Wille dahinter.

„Weakness by Design“ macht Prozessoren angreifbar

Meltdown umgeht Speicherabgrenzungen von Prozessoren, um auf Speicherbereiche anderer Prozesse zugreifen zu können. Ein Angriff mittels der Meltdown-Methode überwindet die Speicherisolation, indem er jedem Benutzerprozess eine einfache Möglichkeit bietet, den gesamten Kernelspeicher der Maschine, auf der er ausgeführt wird, zu lesen. Dazu gehört auch der gesamte physische Speicher, der im Kernel abgebildet ist. Da Meltdown keine Software-Schwachstelle ausnutzt, sind somit sämtliche Betriebssysteme betroffen.

Spectre-Attacken sind ein wenig komplexer und bedienen sich der so genannten spekulativen Ausführung. Dabei handelt es sich um ein Verfahren von Hochleistungsprozessoren, um die Leistung zu erhöhen. Diese „erraten“ wahrscheinliche zukünftige Ausführungspfade und führen die darin enthaltenen Anweisungen vorzeitig aus. Wenn beispielsweise der Kontrollfluss des Programms von einem ungecachten Wert im physischen Speicher abhängt, kann es mehrere hundert Taktzyklen dauern, bis der Wert bekannt wird. Anstatt diese Zyklen durch Leerlauf zu vergeuden, errät der Prozessor die Richtung des Kontrollflusses, speichert einen Kontrollpunkt seines Registerzustands und führt das Programm spekulativ auf dem erratenen Pfad aus.

Meltdown Spectre (Bild: Google)
Meltdown Spectre (Bild: Google)

Wenn der Wert schließlich aus dem Speicher kommt, überprüft der Prozessor die Richtigkeit seiner ursprünglichen Vermutung. Wenn die Vermutung falsch war, verwirft der Prozessor die (falsche) spekulative Ausführung, indem er den Registerzustand wieder auf den gespeicherten Checkpoint zurücksetzt, was zu einer Performance führt, die mit dem Leerlauf vergleichbar ist. Falls die Vermutung richtig war, werden jedoch die spekulativen Ausführungsergebnisse bestätigt, was die Performance verbessert, da während der Verzögerung nützliche Vorarbeit geleistet wurde.

Aus sicherheitstechnischer Sicht bedeutet spekulative Ausführung, dass ein Programm möglicherweise auf falsche Weise ausgeführt wird. Da Prozessoren jedoch darauf ausgelegt sind, die Ergebnisse einer fehlerhaften spekulativen Ausführung auf ihren vorherigen Zustand rückgängig zu machen, um die Korrektheit aufrechtzuerhalten, wurde bisher angenommen, dass diese Fehler keine Auswirkungen auf die Sicherheit hätten.

Spectre-Attacken täuschen den Prozessor in spekulative Ausführungen, die bei korrekter Programmausführung nicht hätten ausgeführt werden dürfen. Da die Auswirkungen dieser Anweisungen auf den nominalen CPU-Zustand letztendlich rückgängig gemacht werden, werden diese als transiente Anweisungen bezeichnet. Durch die Auswahl, welche transienten Anweisungen spekulativ ausgeführt werden, sind Hacker in der Lage, Informationen aus dem Adressraum des Opfers zu extrahieren.

Security muss Priorität werden

Es handelt sich also nicht wie bei WannaCry und Petya um Software-basierte Angriffe, weshalb auch kein Antivirensystem etwas dagegen zu tun vermag. Das Problem liegt vielmehr am „Weakness by Design“, also Schwachstellen, die von Grund auf eingebaut wurden. Es lässt sich nicht einmal bestimmen, ob und wie viele Computer bereits der neuen Schwachstelle zum Opfer gefallen sind, weil sie einfach keine Spuren hinterlassen. Da es auch keine Malware braucht, sind natürlich auch Antiviren-Programme nutzlos.

Ausgewähltes Whitepaper

Report: State of Digital Transformation EMEA 2019

Zu den größten Hürden der digitalen Transformation zählen der mobile Zugriff auf Unternehmensdaten und Anwendungen, die Nutzung unsicherer Netzwerke und nicht verwalteter Geräte. Das geht aus dem Report „State of Digital Transformation EMEA 2019“ von Zscaler hervor. Jetzt den vollständigen Report herunterladen!

Die Frage ist nun, welche Lehren wir daraus ziehen. Es braucht auf jeden Fall ein Umdenken für den Herstellungsprozess von IT-Bestandteilen. Bis heute werden sämtliche Komponenten unserer vernetzten Welt von Grund auf so entwickelt, um das Gesamtsystem zu Höchstleistungen anzutreiben. Dabei liegt der Fokus auf hoher Funktionalität und Benutzerkomfort. Sicherheit ist (wenn überhaupt) nur ein Nebengedanke in der Entwicklung und Programmierung zentraler Bestandteile unseres digitalen Lebens. Die Konsequenzen müssen nun Millionen von Computerbesitzern tragen und dabei können wir noch von Glück sagen, dass die Entdecker von Meltdown und Spectre keine bösen Absichten verfolgten. Man mag sich gar nicht vorstellen, was passiert wäre, wenn Black-Hat-Hacker die Lücken zuerst entdeckt hätten. Es ist höchste Zeit, Sicherheit mindestens auf die gleiche Stufe zu stellen wie Funktionalität – und solche Schwachstellen gar nicht erst mit einzubauen.



Julian Totzek-Hallhuber ist Solution Architect bei Veracode. Als Spezialist für Anwendungssicherheit mit mehr als 15 Jahren Erfahrung im IT-Sicherheitsumfeld, verfügt er über Expertise in den Bereichen Anwendungsentwicklung, Penetrationstests sowie Sicherheit von Webanwendungen. Zudem ist er Autor zahlreicher Artikel, regelmäßig als Sprecher auf Messen anzutreffen und hat bei Projekten von www.webappsec.org mitgewirkt. Veracode, ein führender Anbieter für Anwendungssicherheits-Tests, stellt die am häufigsten verwendete cloud-basierte Plattform zur Verfügung, um Web- und Mobilanwendungen sowie Applikationen von Drittanbietern zu schützen.