Am härtesten betroffen von Meltdown und Spectre sind Manager sensibler Daten, einschließlich der Bereiche IIoT, Regierung, Medizintechnik, Automotive und andere Anbieter kritischer Systeme und Plattformen. Die Gestalter dieser komplexen Softwaresysteme kämpfen nun um Fehlerkorrekturen durch einen Mix aus Compiler-Updates, Kernel-Patches und CPU-Microcode-Patches.

Patches haben sich dabei als inadäquat erwiesen, denn sie milderten das zugrundeliegende Problem nur teilweise und – wie in vielen Fällen festgestellt – destabilisieren bestehende Systeme sowohl auf der Software- als auch auf der Hardware-Ebene. Für viele ist dies ein böses Erwachen, nicht so sehr wegen des Verlusts an vermeintlich geglaubter Sicherheit, sondern vielmehr aufgrund der Realisierung, dass in vielen Fällen Sicherheit insgesamt völlig fehlt. Wie können Entwickler angesichts von Meltdown und Spectre die erstrebten Vorgaben Safety und Security weiter erfüllen und wie lässt sich das gewünschte Internet-of-Trust schaffen?

Designs infrage gestellt

Meltdown und Spectre stellen die Gültigkeit langjähriger Software- und Hardware-Designs infrage. Sie verschaffen aber auch die Einsicht, wie sich Systeme gegen eben diese Angriffe verteidigen lassen. Die Aufdeckung von Problemen ermöglicht passende Lösungen, denn es waren längst nicht alle Systeme für die Angriffe anfällig. Einige Systeme waren tatsächlich geschützt— und erforderten weder Patches, noch Rekonfigurationen, Rekompilierungen oder Redesigns.

Was diese widerstandsfähige, nachhaltige Systeminfrastruktur von anderen unterschied, war eine einzigartige Separation Kernel-Technologie, die auf der Arbeit von John Rushby, dem Erfinder des Separation-Kernels, basiert. Sie befähigt Systementwickler, kritische Rechenumgebungen durch eine verbesserte Hardwaresteuerung voneinander zu separieren.

Trennung und der „Meltdown-Lackmustest“

Eck-Daten

Meltdown und Spectre stellen die Gültigkeit langjähriger Software- und Hardware-Designs infrage. Sie verschaffen aber auch die Einsicht, wie sich Systeme gegen eben diese Angriffe verteidigen lassen. Die Angriffsszenarien machen dabei von Side-Channel-Angriffen und Out-of-Order-Ausführungen Gebrauch:

Side-Channel-Angriff: Jede Attacke, die auf Informationen basiert, die durch ein physikalisch implementiertes Computersystem generiert werden, im Gegensatz zu Schwächen innerhalb des implementierten Algorithmus selbst.

Out-of-Order-Ausführung: Ein Optimierungsverfahren, das die maximale Nutzung aller Ausführungseinheiten eines CPU-Kerns erlaubt. Anstatt die Instruktionen genau in der Reihenfolge des Ablaufprogramms auszuführen, führt die CPU diese aus, sobald alle erforderlichen Ressourcen verfügbar sind.

Trennung ist ein fundamentales Konzept bei der funktionalen und bei der Datensicherheit und kommt bei High-Assurance-Systemdesigns seit Jahrzehnten zum Einsatz. In Bezug auf funktionale Sicherheit stützt sich die Partitionierung von Flugverkehrsystemen (DO-178C, CAST 32, Integrated Modular Avionics) auf die Trennung von Komponenten, um deren Schutz zu gewährleisten. Was die  Datensicherheit betrifft, ist Trennung das Rückgrat der strengsten Standards: Multiple-Independent-Levels-of-Security-Architekturen (MILS) des US-amerikanischen Verteidigungsministeriums sind beispielsweise Implementierungen von Sicherheitsmodellen, die auf den Grundsätzen der Trennung und des kontrollierten Informationsflusses basieren. Innerhalb dieser Kontexte bedeuten Trennungsfehler geradezu zwangsläufig Sicherheitsmängel. Somit kann Meltdown Entwicklern von kritischen eingebetteten Systemen als praktischer Lackmustest fungieren, der aufzeigt, wo eine sichere Trennung erreicht wurde und wo nicht.

Trennung wahren, Vertrauen wiederherstellen

Obwohl sich die Angriffsszenarien in wichtigen Merkmalen unterscheiden, handelt es sich sowohl bei Meltdown als auch bei Spectre um sogenannte Side-Channel-Attacks. Der Angreifer verwendet eine fortgeschrittene, subversive Methode (Cache-Timing-Analyse), um den Zustand des Cache zu untersuchen und dabei die Werte des temporär referenzierten Kernel-Speichers abzuleiten. Obwohl jede Variante einen anderen Designfehler ausnutzt, sind beide Szenarien unumstritten in der Lage, die Sicherheitskontrollen herkömmlicher Betriebssysteme und Hypervisoren zu umgehen – ohne dabei administrativen Zugriff zu benötigen oder die privilegierte Codebasis infiltrieren zu müssen. Erhält ein Angreifer administrative Zugriffsberechtigung durch diese Art von Side-Channel-Techniken, ist er in der Lage, das gesamte System zu übernehmen.

Meltdown und Spectre wurden als hardwareimmanente Prozessor-Designprobleme identifiziert. Daher sind Software-Entwickler unter Umständen fälschlicherweise der Meinung, nichts tun  zu können, um die Designs ihrer High-Assurance-Systeme zu schützen. Durch eine entsprechende Implementierung bewährter High-Assurance-Grundsätze lassen sich kritische Systemelemente komplett vor Meltdown schützen und die negativen Auswirkungen von Spectre wesentlich mildern. Außerdem sind anfällige Systeme oftmals ohne Neudesign entsprechend widerstandsfähig gestaltet.

 

Was das Angriffsszenarium Meltdown im Detail bedeutet, erfahren Sie auf der nächsten Seite.

Seite 1 von 41234