cpu

Die Sicherheitslücken Spectre und Meltdown – eine Analyse

Seit dem Bekanntwerden der Sicherheitslücken Spectre und Meltdown ist nun fast ein Jahr vergangen. Nachdem wir uns bislang mit öffentlichen Äußerungen zurück gehalten haben, um den zahlreichen unausgereiften Meldungen und Spekulationen nicht noch mehr Auftrieb zu geben, ist es nun, nachdem sich in der Berichterstattung inzwischen Ruhe und Professionalität zurückgekehrt ist, Zeit über die Sicherheitslücken aus unserer Sicht zu berichten.

Das Problem

Los ging es Anfang des Jahres. Am 3. Januar 2018 wurden die Lücken zum ersten mal einer breiten Öffentlichkeit bekannt. Uns traf dies während unseres traditionell über den Jahreswechsel stattfindenden Betriebsurlaubs, an dem wir nur mit eingeschränkter Besetzung arbeiten. An Urlaub war ab diesem Zeitpunkt nicht mehr zu denken.

Mit Meltdown und Spectre wurden zwei Sicherheitslücken bekannt gegeben, welche erstmals in eine ganz neue Klasse von Problemen fielen und daher als besonders gelten. Das Problem: durch Mängel in der Hardware von Prozessoren ist es möglich, auf fremden Speicher zuzugreifen, auf den ein Prozess normalerweise aufgrund von Sicherheitseinschränkungen keinen Zugriff besitzt. Es ist somit denkbar, dass ein Angreifer Zugriff auf sensible Daten, wie z.B. Passwörter erhält. Grund dafür ist eine mangelhafte Umsetzung der Out-of-order execution (spekulative Ausführung) in modernen Prozessoren. Betroffen von der Lücke sind nicht nur alle weltweit eingesetzten Intel-Prozessoren, sondern teilweise auch Prozessoren anderer Hersteller, wie AMD und Qualcomm. Es handelt sich dabei also um sehr weitreichende und kritische Sicherheitsprobleme.

Bis zur Veröffentlichung von Meltdown und Spectre waren solche Hardware-Sicherheitsprobleme nicht bzw. zumindest nicht in diesem Maße bekannt. Unter Sicherheitslücken verstand man bis dato nur Fehler in Programmen, also in Software, die sich durch Änderungen am Programmcode relativ schnell beheben lässt. Bei einem in Hardware gegossenen Fehler ist eine Reparatur jedoch nicht möglich. Es hilft nur der Austausch des Prozessors (von dem es bis heute noch keine fehlerbereinigte Version überhaupt zu kaufen gibt). Erste Annahme vieler Experten war daher erst einmal, dass man eine solche Art von Fehler in absehbarer Zeit überhaupt nicht beseitigen kann. Uns war also von vorne herein klar, dass uns das Problem auf jeden Fall eine sehr lange Zeit beschäftigen wird.

Lösungsansätze

Da man aufgrund der schwerwiegenden Implikationen nicht bis zum Erscheinen von neuen Prozessoren warten konnte, wurden schnell verschiedene Ansätze erörtert, wie man dem Problem Herr werden könnte. Bereits 2017 hatten sich Intel-Mitarbeiter sowie ein kleiner vorab eingeweihter Kreis von Kernel-Entwicklern und Cloud-Anbietern hierzu Gedanken gemacht, so dass bereits in der ersten Januar-Woche Patches erschienen, die zumindest einen Teil der Sicherheitslücken schließen sollten. Generelle Idee dahinter: das eigentliche Problem lässt sich nicht beheben. Aber durch geschickte Software lassen sich die Problemstellen umgehen. Das Problem dabei: das Ausführen von Software wird dadurch langsamer. Ein weiteres Problem: man hatte sich bis dato nur zu einem Teil der Lücken Gedanken gemacht bzw. Lösungsansätze gefunden. Vieles war und ist bis heute noch in der Entwicklung.

Intel hatte zur Lösung der Probleme eine weitere Idee: es ist in geringem Umfang möglich, die Prozessor-Hardware mit Software zu erweitern. Diese Software, sogenannter Microcode, wird durch das BIOS oder beim Start des Betriebssystems in den Prozessor geladen und erweitert diesen um zusätzliche Funktionalität. Durch eine Kombination von Erweiterungen im Microcode, zusammen mit einer geschickten Verarbeitung des Betriebssystem ist es möglich, die Spectre Sicherheitslücke unschädlich zu machen. Natürlich ebenfalls mit Performance-Einbußen.

Gegenmaßnahmen

Nachdem das Problem Anfang des Jahres bekannt gegeben wurde und kurz darauf der erste Linux-Kernel mit Sicherheitspatches herausgegeben wurde, haben wir unverzüglich gehandelt. Bereits am 7. Januar waren alle unsere Server mit dem neuen System ausgestattet.

In den nächsten Wochen gab es ein ständiges Auf- und Ab. Zuerst wurden von Intel Microcode-Updates angekündigt, dann aufgrund angeblicher Instabilitäten wieder zurück gezogen – dann doch wieder freigegeben. Erschwerend kam hinzu, dass zwar für manche der von uns eingesetzten Prozessoren Updates erhältlich waren, für andere nicht. Ein klares Schema war dabei jedoch nicht zu erkennen. Ebenso gab es kaum Informationen dazu, ob ein Microcode-Update denn nun bereits Maßnahmen gegen die Sicherheitslücken enthält oder nicht. Insgesamt hatte man das Gefühl, dass Intel das Thema wohl gerne so lange verschleppen würde, bis es sich von selbst aus der Welt geschafft hat. Intel-Chef Brian Krzanich war scheinbar mehr daran gelegen, noch schnell seine Aktien zu verkaufen, als seinen Kunden zu helfen.

Zwischenzeitlich wurde weiter fieberhaft am Linux-Kernel gearbeitet. Die zur Verfügung gestellten Patches deckten jedoch jeweils nur einen Teil der Probleme ab. Ebenso mussten die Test-Programme, mit denen überprüft werden kann, ob ein System anfällig gegen die Lücken ist, erst noch entwickelt werden. Versionen dieser Test-Programme erschienen quasi täglich neu und nach jedem Erscheinen stellte man fest, dass ein System, welches gestern noch als Sicher galt, doch noch das ein- oder andere Problem besitzt.

Erschwerend hinzu kamen neue Prozessorlücken, die ebenfalls dem Spectre-Problem zuzuordnen sind und die im Laufe des Jahres veröffentlicht wurden. Insgesamt umfassen den Themenkomplex Meltdown und Spectre inzwischen an die 20 verschiedene Lücken, zu denen Details teilweise gut, teilweise schlecht bekannt sind.

Für uns war es daher die Aufgabe einzuschätzen, wie verlässlich die veröffentlichten Informationen sind, wie kritisch die einzelnen Lücken sind und inwieweit es Sinn macht, unseren Kunden die mit einem Ausfall verbundenen Kernel-Updates anzukündigen oder doch noch lieber ein paar Tage bis zum Erscheinen des neuesten Kernels oder Microcode-Updates zu warten. In diesem Jahr haben wir auf den von uns betreuten Servern bereits 5 mal einen neuen Kernel installiert. Eine außergewöhnlich hohe Zahl, die uns sehr viel Arbeit gekostet hat.

Herausforderungen

Die ständigen Updates haben uns auf Trab gehalten. Nicht nur die Recherche und Beurteilung neuer Informationen nahm viel Zeit in Anspruch, sondern auch die Vorbereitung und das Testen neuer Software. Dazu dann natürlich die Durchführung der einzelnen Updates, sowie teilweise eine umfangreiche Abstimmung und Rückfragen unserer Kunden. Für unsere Kunden war dieser Service komplett kostenlos, da wir in der Regel monatliche Pauschalen für unsere Arbeiten vereinbaren. Das wirtschaftliche Risiko eines gravierenden Sicherheitsproblems – wie im vorliegenden Fall – tragen wir.

Neben dem personellen Aufwand hatten wir weitere Kosten zu tragen, insbesondere durch die Ausmusterung von Servern, für die wir keine Microcode-Updates von Intel mehr erhalten haben. Diese Server, welche zugegebenermaßen schon etwas älter, jedoch für ihre Dienste immer noch sehr geeignet waren, wurden von uns komplett durch neue Hardware ersetzt, so dass wir nun nur noch Server mit aktuellem Microcode im Einsatz haben. Die Investition in neue Hardware belief sich dabei auf mehrere tausend Euro.

Daneben spüren wir die Auswirkungen der Performance-Verschlechterungen durch die verschieden Software-Patches. Server arbeiten langsamer bzw. müssen die Verluste durch mehr Prozessor-Arbeit ausgleichen. Hierdurch verschlechterte sich nicht nur die Geschwindigkeit einzelner Anwendungen, sondern erhöhte sich auch unser Stromverbrauch. Besonders bemerkt haben wir dies auf den Servern, auf denen wir VServer für Kunden zur Eigenverwaltung anbieten, bei denen wir aus Sicherheitsgründen Hyperthreading ausgeschaltet haben.

Anstieg der CPU-Auslastung auf einem Server nach dem Ausschalten von Hyperthreading
Anstieg der CPU-Auslastung auf einem Server nach dem Ausschalten von Hyperthreading.

Die Zukunft

Insbesondere Spectre wird uns wohl noch längere Zeit beschäftigen. Erst am 14. November wurden 7 weitere Spectre-Variante bekannt gegeben, allerdings noch ohne die Nennung genauer Details. Für uns bedeutet dies, das wir weiter damit beschäftigt sein werden, Nachrichten aufmerksam zu verfolgen und Software-Updates zeitnah zu installieren.

Durch die bereits erfolgten Maßnahmen gehen wir davon aus, dass unsere System aktuell so sicher sind, wie sie nur sein können.
Ein Restrisiko bleibt. Dieses Risiko ist jedoch genereller Natur und betrifft alle Anbieter. Falls im Moment noch aktive Sicherheitslücken existieren, so sind diese aber mit hoher Wahrscheinlichkeit sehr schwer auszunutzen und daher wirtschaftlich für Angreifer nicht attraktiv. Andere Sicherheitslücken werden in der Praxis deutlich häufiger ausgenutzt. Dazu gehören insbesondere sehr profane Softwareschwächen, wie solche in nicht aktualisierten Content-Management-Systemen, insbesondere Joomla oder WordPress. Daher gilt weiterhin unser Tipp, sämtliche Software stets aktuell zu halten. Hierdurch erhalten Sie größtmögliche Sicherheit und müssen sich über Hacker keine Sorgen machen.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.