Können Sie sich noch an den Jahreswechsel 2017/18 erinnern? Natürlich meine ich nicht die guten Vorsätze, die häufig schon nach wenigen Wochen vergessen werden. Gemeinsam mit einigen anderen Forschern wartete ich damals auf Intel und die Veröffentlichung von uns entdeckter Schwachstellen in Mikroprozessoren. Allerdings wurden wir dann von der Berichterstattung überrascht, die einem leicht verspäteten Silvesterfeuerwerk glich. Inzwischen ist über ein Jahr vergangen und die Frage ist berechtigt, was ausser Schall und Rauch übriggeblieben ist und warum die uns vertraute Computerwelt nicht untergegangen ist, wie manche Pessimisten erwarteten.


Was war damals genau passiert?

Bis zur Veröffentlichung von Meltdown und Spectre konnte man die Ursache von IT-Sicherheitsproblemen auf zwei grosse Kategorien zurückführen: Aushebeln von Schutzmechanismen durch Ausnützen von Programmierfehlern und Umgehen von Zugangskontrollen durch Missbrauch legitimer Nutzeridentitäten. Das revolutionäre an den neuen Angriffen war nun, dass man trotz fehlerfreier Software und Computerhardware, die exakt die Vorgaben der Spezifikation erfüllte, eigentlich geheime Daten auslesen konnte.

Meltdown und Spectre stehen dabei wiederum für zwei grundlegend verschiedene Mechanismen. Beiden ist gemein, dass sie auf der Funktionsweise von Mikroprozessoren an sich beruhen. Natürlich sind die Fortschritte auf dem Gebiet der Halbleitertechnologie kaum zu fassen, aber Steigerung der Rechenleistung geht viel mehr auf bessere Computerarchitektur denn auf physikalische Eigenschaften zurück. Gerne wird die Funktionsweise eines Prozessors mit Fliessbandarbeit verglichen. Allerdings stimmt die Analogie nur bedingt, denn kein Fabrikmanager würde auf die Idee kommen, die Arbeit zu Beginn der Fertigung von nachfolgenden Bearbeitungsschritten abhängig zu machen.

Genau das ist allerdings die Folge des Programmiermodells des ersten elektronischen Universalrechners ENIAC, an dessen Entwicklung John von Neumann wesentlich beteiligt war und das daher oft mit seinem Namen bezeichnet wird. Noch heute, rund 75 Jahre später, beschreibt es die Funktionsweise praktisch aller Computersysteme. Unterhalb der Ebene des Programmiermodells hat sich allerdings einiges getan. Um bei der Fliessbandanalogie zu bleiben, die Qualitätskontrolle am Ende sorgt heute dafür, dass keine fehlerhaften Dinge die Fertigung verlassen.

Bei Meltdown-ähnlichen Angriffen werden bei der Produktion der Ergebnisse Schutzmassnahmen umgangen. In der Spectre-Kategorie nützt man hingegen die Tatsache aus, dass ein Prozessor bei Verzweigungen im Programmablauf raten muss, welche Arbeit als nächstes erledigt werden soll, weil die entsprechende Information erst nach einiger Zeit zur Verfügung steht. Zwar sorgt die Endkontrolle dafür, dass Fertigungsfehler nur zu Ausschuss in Form unnötiger Arbeit führen, ein aufmerksamer Beobachter kann allerdings bei einer Fabrik z.B. anhand der eingehenden Warenlieferungen Rückschlüsse darauf ziehen, welche Art von Ausschuss zwischendurch produziert wurde. Diese Art von Informationsbeschaffung nennt man Seitenkanal, denn über den regulären Weg gelieferte Ergebnisse des Prozessors entsprechen ja der Spezifikation.


War die Aufregung übertrieben?

Mir ist bislang tatsächlich kein Fall bekannt wo Meltdown und/oder Spectre für einen Cyberangriff ausgenützt wurden. Kritiker verwenden das gerne als Argument für übertriebene Panikmache. Allerdings übersehen sie dabei, dass Insider schon viel früher von den Problemen wussten und an Gegenmassnahmen arbeiteten. Googles Project Zero hatte Intel schon Monate vor uns informiert und der Hauptgrund für die recht späte Veröffentlichung war die Arbeit an entsprechenden Betriebssystempatches.

Dazu musste die Speicherverwaltung, eine zentrale Funktion, an der man nicht leichtfertig herumspielt, umprogrammiert werden. Natürlich hatte das auch Auswirkungen auf die Performance aber glücklicherweise ist die in der Linux-Welt als Kernel Page Table Isolation (KPTI) Methode auch wirklich sehr effektiv gegen Meltdown. Auf der anderen Seite haben wir die Erfahrung gemacht, dass Informatikstudenten schon nach wenigen Tagen Informationslecks mittels Meltdown zeigen konnten, obwohl sie nur die Grundidee als Ausgangspunkt hatten. Spectre hat zwar eine höhere Komplexität aber in der einfachsten Variante wäre es durchaus möglich gewesen, allein über bösartige Werbebanner auf Webseiten an sensitive Nutzerdaten zu gelangen.

Ich glaube also, dass vor allem die angemessene Reaktion aller Beteiligten den Schaden in Grenzen gehalten hat. Um den Begriff Meltdown=Kernschmelze nochmals aufzugreifen: Atombomben haben in den Nachrichten auch einen ganz anderen Stellenwert als Schusswaffen, obwohl letztere ein Vielfaches an Toten verursacht haben.

Der Vergleich mag übertrieben sein, er bringt mich allerdings zu einem weiteren Punkt. So traurig es ist, Computerkriminalität ist am Ende auch ein Geschäft. Angriffe der Spectre-Klasse können zwar sehr mächtig sein, erfordern dann jedoch auch entsprechenden Aufwand bei der Erstellung. Solange primitive Methoden immer noch ausreichende Erfolgsaussichten versprechen lohnt es sich schlicht und einfach nicht, kompliziertere Technik einzusetzen. Einem Strassenräuber genügt eine einfache Pistole zur Erpressung; auf staatlicher Ebene ist die Lage eine ganz andere. Eine vernünftige Risikoanalyse hilft also die Gefahren durch Angriffe auf Prozessorebene richtig einzuschätzen und angemessen zu reagieren.


Wie hat sich die Lage geändert?

Die Prophezeiungen vom Januar 2018 haben sich als zutreffend herausgestellt und im Lauf des Jahres wurden tatsächlich immer weitere Schwachstellen in der Prozessorhardware aufgedeckt. Im wesentlichen kümmerten sich die Sicherheitsforscher darum, das ganze Ausmass der Probleme auszuloten, nachdem die Spitze des Eisbergs sichtbar gemacht wurde. Einerseits wurden dabei weitere Prozessorkomponenten gezielt mit bei „normalen“ Programmen unüblichen Datenmustern manipuliert und zum anderen die Experimente auf mehr Produkte ausgeweitet.

Wie zu befürchten war haben alle Prozessorhersteller mehr oder weniger Leichen im Keller, auch wenn Intel aufgrund seiner Verbreitung und einiger hausgemachter, fragwürdiger Designentscheidungen im Rampenlicht steht. Inzwischen ist es eine Art Tradition geworden, dass Intel alle paar Monate ein neues Security Advisory zu seinen Produkten herausgibt – und es ist auch leider noch kein Ende in Sicht. Allerdings gibt es inzwischen auch Silizium, das zum Beispiel die Meltdown Betriebssystempatches auf Prozessoren der Cascade Lake und Whiskey Lake Familien unnötig macht und so entsprechende Leistungseinbussen vermeidet. Leider bleibt dem Käufer jedoch ein Blick ins Kleingedruckte nicht erspart, denn bei Coffee Lake ist nur die neueste Generation repariert.

Gegen Spectre Angriffe ist keine reine Hardwarelösung in Sicht. Allerdings wurden die Softwaregegenmassnahmen immer besser bzw. der benötigte, zusätzliche Rechenaufwand deutlich reduziert. Das zugehörige Stichwort lautet „Retpoline“, ein Algorithmus aus dem Hause Google. Aktuell haben die entsprechenden Änderungen zwar einen schlechten Ruf in der Windows Welt aber der Performance Verlust nach den letzten Windows10 Updates hat aller Wahrscheinlichkeit nach andere Ursachen. Als kleine Anekdote zum Schluss: die Technologie an sich ist wie üblich neutral. Zwar wurde sie zum besseren Schutz von Computerprogrammen erdacht aber wir nützen inzwischen die Grundidee um unsere eigenen Angriffe auf andere Prozessorkomponenten effizienter zu gestalten. Das Katz und Maus Spiel geht also in die nächste Runde.

Um auf die Überschrift zurückzukommen… vergangen ist die grosse Aufregung besonders in den Medien, vergessen wird man Meltdown und Spetre in einschlägigen Kreisen wohl nicht so schnell und vorüber sind die Probleme noch lange nicht. Die Bekanntgabe von sogenannten ZombieLoads am 14. Mai ist dafür das beste Beispiel.


Links:

Blogartikel von Cyberus zum Thema ZombieLoads: www.cyberus-technology.de/posts/2019-05-14-zombieload.html