Bei Meltdown und Spectre handelt es sich um sogenannte Seitenkanal-Attacken, die es einer entsprechenden Schadsoftware ermöglichen, Zug um Zug Daten von anderen Anwendungen vom Cache einer CPU auszulesen.
Die Meltdown-Attacke macht sich dabei sogenannte Out-of-Order-Prozesse zunutze: Um Zeit zu sparen, sortieren Prozessoren Arbeitsabläufe in neuer Reihenfolge, während die Verarbeitung komplexerer Aufgaben noch im RAM läuft. Einzelne Arbeitsschritte werden dazu im Cache der CPU zwischengespeichert. An dieser Stelle sind die Daten verwundbar und lassen sich aus dem CPU-Cache auslesen. Bei Spectre handelt es sich um ein Angriffsszenario, das die spekulative Ausführung (speculative execution) von CPUs nutzt: Ein entsprechender Prozessor führt Befehle spekulativ aus, die er noch nicht erhalten hat, weil die Wahrscheinlichkeit hoch ist, dass diese Befehle ohnehin in Kürze folgen würden. Dadurch können Daten in die Caches gelangen, die nicht zum eigentlichen Prozess gehören. Auf diese Weise lassen sich Daten aus dem Cache auslesen, die eigentlich nichts mit dem aktuellen Vorgang zu tun haben.
Somit ist grundsätzlich jeder PC, jedes Notebook oder mobiles Endgerät von den Sicherheitslücken betroffen, dessen CPU Out-of-Order-Prozesse oder spekulative Ausführung nutzt. Bestimmte einfachere Prozessoren, die beispielsweise in Raspberry-Pi-Systemen zum Einsatz kommen, sind von dieser Art von Seitenkanal-Attacken nicht betroffen.
Um die Sicherheitslücken auszunutzen, ist jedoch der Einsatz einer Schadsoftware nötig, die auf den Prozessortyp des attackierten Systems angepasst ist – ohne ein entsprechendes Programm auf dem betroffenen System lassen sich die Sicherheitslücken nicht ausnutzen. Eine solche Schadsoftware kann entweder – wie jede andere Malware – über unvorsichtiges Verhalten im Internet auf das System gelangen, wird physisch auf das System aufgespielt.
Im Falle industrieller PCs gelten jedoch andere Bedingungen als bei privaten Systemen. Auf Rechnern in der Produktion erfolgt weder eine Installation nichtautorisierter Programme noch das Öffnen fragwürdiger E-Mails. Mittels kundenspezifischer Systemeinstellungen lassen sich Systeme auch vor physischer Sabotage schützen, indem die USB-Ports der PCs nur den Anschluss von Maus und Tastatur zulassen. Externe Speichergeräte werden nicht erkannt, wodurch ein Aufspielen von Schadsoftware von einem USB-Stick vor Ort von vornherein nicht möglich ist.
Wer ist besonders gefährdet?
Um die CPU-Sicherheitslücken ausnutzen zu können, muss ein Angreifer Schadsoftware auf dem betroffenen System ausführen. In vielen Embedded Systemen oder Routern ist die Lücke deshalb unkritisch, da hier fast nie neuer Code geladen wird. Inonet teilt den Grad der Gefährdung nach Art und Zugänglichkeit der Systeme ein. Server-Systeme sind in der Regel dauerhaft mit dem Internet verbunden und haben Verbindungen zu vielen weiteren Clients. Allerdings erfolgt hier im Normalfall keine Bedienung durch einen Benutzer, der – absichtlich oder unabsichtlich – Schadsoftware auf das System lädt. Die Sicherung des Systems muss also vor allem auf virtueller Ebene erfolgen.
Workstations haben in den meisten Fällen nur wenige Verbindungen und sind oft nur in einem internen Netzwerk eingebunden. Da hier der Benutzer das System bedient, besteht primär die Gefahr der physischen Manipulation. Embedded-Systeme sind in der Regel gar nicht von außen zugänglich, da sie innerhalb ihrer Applikation verbaut sind, und es erfolgt keine Bedienung durch einen Benutzer. In diesem Falle besteht die geringste Gefahr einer Manipulation oder externen Gefährdung.
Welche Gefahren bestehen?
Software-Programme führen unterschiedliche Befehle parallel aus und nutzen hierfür auf PCs unterschiedliche Speicherbereiche. Ein Performance-Feature zur Steigerung der Verarbeitungsgeschwindigkeit wird nun allerdings zur Sicherheitslücke namens Branch Target Injection oder Bounds Check Bypass. Der Speicherschutz, also der Schutz, der Speicherbereiche voneinander trennt, wird bei den Sicherheitslücken ausgehebelt. Dadurch lassen sich Daten durch entsprechende Schadsoftware auslesen, auch wenn diese einem anderen Speicherort zugewiesen sind. Prozessoren beinhalten diese Sicherheitslücke, um eine die Leistungsfähigkeit ihrer Arbeitsweise zu steigern, beispielsweise für Copy-Paste-Vorgänge zwischen unterschiedlichen Programmen. Zug um Zug kann der Angreifer damit Adressbereiche und konkrete Informationen aus den Caches von Prozessoren auslesen.
Das Risiko der Sicherheitslücken ist schwer abschätzbar. Zum einen sind die Angriffe von Meltdown und Spectre auf die Sicherheitslücken schwer zu implementieren und noch schwerer zielgerichtet durchzuführen. Zum anderen hängt die Vorgehensweise in den meisten Fällen auch vom exakten Prozessortyp ab und ist nicht universell einsetzbar, da unterschiedliche Prozessoren verschiedene Arbeitsweisen beim Caching von Daten verwenden.
Allerdings kann die Gefahr im Laufe der Zeit ansteigen, wenn auf einen spezifischen Prozessortyp angepasste Schadsoftwares in den Umlauf gelangen. Aktuell sind noch keine konkreten Angriffe bekannt, das Risiko ist jedoch als durchaus real einzustufen. Allerdings ist es nach aktuellem Wissensstand noch nicht möglich, gezielt zusammenhängende Daten aus dem CPU-Cache auszulesen, sondern lediglich Datenfragmente.
Lesen Sie auf der nächsten Seite mehr über Updates zum Schutz der Systeme und darüber ob sie den Rechner verlangsamen.
Updates zum Schutz der Systeme
Bei vielen Systemen von Inonet sind automatische Updates ab Werk unterbunden. Diese Revisionsgleichheit stellt sicher, dass ein Rechnersystem, das über viele Jahre hinweg in einer Anwendung zum Einsatz kommt, mit jeder Lieferung exakt die gleiche Hard- und Software-Konfiguration behält und somit zuverlässig innerhalb der jeweiligen Applikation funktioniert. Unternehmen müssen nun selbst abschätzen, ob für ihre Anwendung eine reelle Gefahr durch externe Einflüsse besteht. Unter Umständen kann sogar ein Update aufgrund von Sicherheitsbedenken die Funktionalität der Anlage beeinträchtigen.
Bei Systemen mit Windows 10 ist allerdings zu beachten, dass sich automatische Updates nicht außer Kraft setzen lassen und unweigerlich durchgeführt werden, sobald die Systeme Zugang zum Internet haben.
Verlangsamen Updates den Rechner?
Die Sicherheitslücken machen sich Performance-Optimierungen von CPUs zunutze. Um die Sicherheitslücke zu schließen, schränken Updates diese Funktionalitäten ein. Wie stark die Performance-Einbußen ins Gewicht fallen, hängt maßgeblich von der jeweils laufenden Software sowie der Hardware-Konfiguration eines Systems ab. Besonders bei leistungsfähigen SSDs ist mit Einbußen zu rechnen, dies muss sich jedoch noch in Praxis beweisen. Höhere Latenzzeiten in der Datenverarbeitung können durchaus zum Ausfall der gesamten Anwendung führen. In jedem Fall sollten Anwender nie auf Sicherheits-Updates verzichten, um Performance-Einbußen zu vermeiden.
Was können Anwender tun?
Als Erstes sollte für den Rechner und seine Anwendung eine Risikobeurteilung zur Möglichkeit des Einbringens von Schadsoftware erfolgen. Besonders relevant sind hier das Einspielen von Treibern, die Verwendung von Browsern aller Art für Zugriffe nach außen, Zugriffe nach außen für Softwareupdates mit Javascript-Elementen und alle Betriebssystemupdates. Lässt sich ein externer Einfluss für die Vergangenheit und die Zukunft ausschließen, sind keine weiteren Maßnahmen notwendig. Dies trifft auf über 60 Prozent der von Inonet ausgelieferten Geräte in ihrer Anwendung zu. Jeder Rechner verlässt die Fertigung in einem eindeutig definierten Zustand. Sowohl seine Hardware- als auch die Softwarekonfigurationen sind chargen- und revisionsüberwacht, das Netzwerk in der Fertigung der Geräte von Inonet ist autark und vom Internet getrennt. Damit ist ein versehentliches Aufspielen von Schadsoftware unterbunden. Ebenso werden die Testwerkzeuge, die erzeugten Images und jeder ausgelieferte Rechner ab Werk einem Virenscan und einer Prüfung auf Schadsoftware unterzogen.
Schutz bieten grundsätzlich Updates des Mikrocodes der Prozessoren über BIOS-Updates oder Betriebssystem-Patches, sowie Updates von Programmen, die kritische Informationen enthalten. Neben den bereitgestellten Updates auf Betriebssystem-Ebene sollten also unbedingt vor allem die Programme auf Software-Updates geprüft werden, die Mikrocode ausführen oder sensible Informationen verarbeiten, etwa Passwort-Bibliotheken oder Programme, die geschäftsrelevante Daten enthalten.
Benedikt Merl
(na)