titelbild_spectre_meltdown

Fachartikel – Meltdown & Spectre: Die Gefahren fĂŒr Rechnersysteme im industriellen Einsatz

Als im Januar 2018 die CPU-Angriffsszenarien Meltdown und Spectre an die Öffentlichkeit gelangten, war die Aufregung zunĂ€chst groß. WĂ€hrend unterschiedlichste Schreckensszenarien allerorts zu lesen waren, wussten die wenigsten Anwender um die konkreten Bedrohungen fĂŒr ihre industrielle Anwendung. Dieser Artikel soll Klarheit darĂŒber schaffen, wie ernstzunehmend die Sicherheitsbedrohungen in der Industrie sind und welche Maßnahmen von Unternehmen zum Schutz ihrer Infrastruktur getroffen werden sollten.

Worum es genau geht

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: Prozessoren sortieren ArbeitsablÀufe in neuer Reihenfolge, um Zeit zu sparen, wenn komplexere Aufgaben noch im RAM verarbeitet werden. Einzelne Arbeitsschritte werden dazu im Cache der CPU zwischengespeichert. An dieser Stelle sind die Daten verwundbar und können aus dem CPU-Cache ausgelesen werden.

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. In diesem Sinne können Daten aus dem Cache ausgelesen werden, die eigentlich nichts mit dem aktuellen Vorgang zu tun haben.

Somit ist grundsĂ€tzlich ist jeder PC, Notebook oder mobiles EndgerĂ€t von den SicherheitslĂŒcken betroffen, dessen CPU Out of Order-Prozesse (Meltdown) oder spekulative AusfĂŒhrung (Spectre) nutzt. Bestimmte einfachere Prozessoren, die beispielsweise in Raspberry Pi-Systemen eingesetzt werden, 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. Sprich, ohne einem entsprechenden Programm auf dem betroffenen System können die SicherheitslĂŒcken gar nicht erst ausgenutzt werden. Eine solche Schadsoftware kann entweder – wie jede andere Malware – ĂŒber unvorsichtiges Verhalten im Internet auf das System gelangen, oder physisch am System aufgespielt werden.

Im Falle industrieller PCs gelten hier jedoch andere Bedingungen als bei privaten Systemen. Auf Rechnern in der Produktion werden in der Regel keine unautorisierten Programme installiert oder dubiose Emails geöffnet, um sich entsprechende Schadsoftware einzufangen. Viele unserer Kunden bestellen bei uns kundenspezifische Systemeinstellungen. Damit schĂŒtzen wir die Systeme unter anderem auch vor physischer Sabotage, indem die USB Ports unserer 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.

Welche industriellen PC-Systeme besonders gefÀhrdet sind

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. Beim Grad der GefĂ€hrdung nehmen wir bei InoNet deshalb eine Abstufung nach Art und ZugĂ€nglichkeit der Systeme vor:

Server-Systeme sind in der Regel dauerhaft mit dem Internet verbunden und haben Verbindungen zu vielen weiteren Clients. Allerdings werden sie im Normalfall nicht direkt von einem Benutzer bedient, der – absichtlich oder unabsichtlich – Schadsoftware auf das System laden kann. 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, werden aber meist direkt vom Benutzer bedient. Die Gefahr liegt hier also primÀr in der physischen Manipulation.

Embedded-Systeme sind in der Regel gar nicht von außen zugĂ€nglich, da sie innerhalb ihrer Applikation verbaut sind, und werden auch meistens nicht direkt von einem Benutzer bedient. Hier sehen wir die geringste Gefahr vor Manipulationen oder externen GefĂ€hrdungen.

Welche Gefahren bestehen?

Software-Programme fĂŒhren unterschiedliche Befehle parallel aus und nutzen hierfĂŒr auf PCs unterschiedliche Speicherbereiche. Ein eigentliches Performance-Feature zur Steigerung der Verarbeitungsgeschwindigkeit wird nun 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 können Daten durch entsprechende Schadsoftware ausgelesen werden, auch wenn diese einem anderen Speicherort zugewiesen sind. Prozessoren beinhalten diese SicherheitslĂŒcke, um eine performantere Arbeitsweise zu erreichen, beispielsweise fĂŒr Copy-Paste VorgĂ€nge zwischen unterschiedlichen Programmen.

Zug um Zug können so Adressbereiche und konkrete Informationen aus den Caches von Prozessoren ausgelesen werden.

Das Risiko der SicherheitslĂŒcken ist dabei 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 wird aber als durchaus real eingestuft. Allerdings ist es nach aktuellem Wissensstand noch nicht möglich, gezielt zusammenhÀngende Daten aus dem CPU-Cache auszulesen, sondern lediglich Datenfragmente.

Updates zum Schutz der Systeme

Bei vielen InoNet-Kunden sind automatische Updates ab Werk unterbunden – das Stichwort heißt hier Revisionsgleichheit. So wird sichergestellt, dass ein Rechnersystem, das ĂŒber viele Jahre hinweg in einer Anwendung eingesetzt wird, mit jeder Lieferung exakt die gleiche Hard- und Software-Konfiguration behĂ€lt und somit zuverlĂ€ssig innerhalb der jeweiligen Applikation funktionieren wird. Unternehmen, die unsere Rechner einsetzen, mĂŒssen also fĂŒr sich abschĂ€tzen, ob fĂŒr ihre Anwendung eine reelle Gefahr durch externe EinflĂŒsse besteht, oder sogar ob ein Update aufgrund von Sicherheitsbedenken die FunktionalitĂ€t ihrer Anlage beeintrĂ€chtigen kann. Wir richten unser Handeln an den Kundenanforderungen aus.

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.

Werden die Rechnersysteme durch das Update langsamer?

Die SicherheitslĂŒcken machen sich jeweils Performance-Optimierungen von CPUs zunutze, nĂ€mlich die zuvor erwĂ€hnten Out of Order-Prozesse sowie die spekulative AusfĂŒhrung. Um die besagten SicherheitslĂŒcke zu schließen, werden diese FunktionalitĂ€ten bei Updates eingeschrĂ€nkt.

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 hoch performanten SSDs rechnen Experten mit stĂ€rkeren Einbußen. Diese Einbußen werden sich in der Praxis beweisen mĂŒssen, da diese je nach Anwendungsfall unterschiedlich stark ins Gewicht fallen können. 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 erstellt werden. Besonders relevant sind hier das Einspielen von Treibern z.B. von Grafikkarten, die Verwendung von Browsern aller Art fĂŒr Zugriffe nach extern, Zugriffe nach extern fĂŒr Softwareupdates mit JavaScript Elementen und alle Betriebssystemupdates. Kann ein externer Einfluss fĂŒr die Vergangenheit und die Zukunft ausgeschlossen werden, braucht der Anwender nichts weiter zu tun. Dies trifft auf ĂŒber 60% der von InoNet ausgelieferten GerĂ€te in ihrer Anwendung zu. Bei InoNet verlĂ€sst jeder Rechner in einem eindeutig definierten Zustand die Fertigung. 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 bei InoNet 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.

© InoNet Computer GmbH. Alle Rechte vorbehalten.