Ralf Krauter: Jetzt hat das amerikanische Heimatschutzministerium eine Mahnung an die Betreiber kritischer Infrastrukturen herausgegeben, sie sollen sich besser vor Hardware-Trojanern schützen. Das Heimatschutzministerium und das Verteidigungsministerium befürchten offenbar Angriffe auf Computerprozessoren, die für das Management des Eisenbahnverkehrs, für die Luftüberwachung oder in Kraftwerken eingesetzt werden. Wo liegt da die besondere Gefahr von Hardware-Trojanern, Peter Welchering?
Peter Welchering: Prozessoren, wie sie in handelsüblichen Computern stecken, haben einen eigenen Satz an Maschinenbefehlen, so eine Art Betriebssystem für den Prozessor. Und es war gar nicht mal so spektakulär, als Christopher Domas vor einem Monat auf der Blackhat-Konferenz gezeigt hat, dass diese Steuerungssoftware für den Prozessor eben auch Sicherheitslücken aufweist durch Programmierfehler, dass Wartungsschnittstellen hier als Hintertüren genutzt werden können und dass es natürlich auch Angriffe gibt, mit denen solch ein Prozessor trojanisiert werden kann. Es war auch bekannt, dass undokumentierte Befehle von Prozessoren genutzt werden können, um Computer außer Betrieb zu nehmen. Was die amerikanischen Sicherheitsbehörden jetzt so in Aufruhr versetzt, ist, dass Prozessorbefehle nachträglich so umprogrammiert werden können, dass der Prozessor falsche Rechenergebnisse liefert. Und das heißt: Der Computer kann so manipuliert werden, dass er gefährliche Aktionen ausführt.
Krauter: Was für Aktionen können das sein?
Welchering: Angreifer können über solche eine Trojanisierung des Prozessors die totale Kontrolle über ein Computersystem erlangen. Der Computer kann falsch berechnete Ergebnisse an Anlagen weiterleiten, also zum Beispiel alle Ampeln auf Grün stellen, den Druck in einer Pipeline erhöhen – alles das, was wir von Software-Trojanern auch kennen. Das Problem dabei: Die Muster von Schadsoftware kennen die Experten, die können mit Software aufgespürt werden und unschädlich gemacht werden. Angriffe auf Maschinenbefehle von Prozessoren erkennen Systemadministratoren in der Regel nicht. Deshalb fällt es so schwer, einen solchen Angriff abzuwehren.
Krauter: Können denn die Sicherheitslücken bei den Maschinenbefehlen erkannt und geschlossen werden?
Welchering: Da gibt es ähnliche Sicherheitssoftware, wie sie bei Sicherheitslücken in Kommunikationsprotokollen und von Anwendungssoftware auch eingesetzt wird, nämlich sogenannte Fuzzer. Die schießen Daten auf die Systeme, in dem Fall auf den Mikrocode eines Prozessors und protokollieren genau, wie sich der Prozessor dann verhält. Kommt es zu instabilen Systemzuständen, muss genau analysiert werden, wodurch die ausgelöst wurden. Und damit ist in der Regel die Sicherheitslücke aufgespürt. Das Problem ist: Der Aufwand, um fehlerfreie Prozesse und Maschinenbefehle so umzuprogrammieren, dass die dann einen Fehler in der Berechnung auslösen, ist relativ gering.
Krauter: Wie kommen Angreifer denn an diese Maschinenbefehle heran? Wie können die direkt auf den Prozessor zugreifen?
Welchering: Anwendungssoftware kann über den Aufruf bestimmter Betriebssystemroutinen, die wiederum auf Maschinenbefehle zugreifen, diese Maschinenbefehle manipulieren. Für den Aufruf dieser Maschinenbefehle brauchen die Anwendungsprogramme in der Regel keine besonderen Berechtigungen. Daran haben die Prozessorentwickler bisher einfach nicht gedacht. Die sind da gewissermaßen auf dem Sicherheitsstandard von Computerbetriebssystemen vor 40 Jahren. Und das heißt, über alle Kanäle, über die bisher Schadsoftware auf einen Computer gebracht werden kann, kann auch ein Maschinenbefehl des Prozessors manipuliert werden.
Krauter: Welche Schutzmaßnahmen sind da möglich?
Welchering: Notwendig wäre ein besseres Zugriffsmanagement, das heißt, der Zugriff auf Maschinenbefehle erfordert besondere Rechte, die an Programme vergeben werden müssen. Das setzt aber ein Sicherheitsmanagement für den Prozessor voraus, das erst noch entwickelt werden muss. Und da stehen wir noch am Anfang.