Kernschmelze: Überlegungen zu den Auswirkungen auf klassifizierte Systeme

(Di Alessandro Rugolo)
04/04/18

Kernschmelze, ein Begriff, dessen Bedeutung gleichbedeutend mit „katastrophalem Zusammenbruch“ oder „nuklearer Katastrophe“ ist, ist aufgrund der Sicherheitsprobleme, die bei einigen Prozessortypen, darunter praktisch allen Intel-Prozessoren, einigen AMD-Prozessoren usw., ab 2010 festgestellt wurden, allgemein gebräuchlich bis heute. Nur sehr wenige Prozessoren sind von dieser Sicherheitslücke (oder von) nicht betroffen Spektrum, in mancher Hinsicht sehr ähnlich), darunter die meisten ARMs, die SPARCs und der Raspberry.

Aber worum geht es? Was es wirklich ist Kernschmelze? Und vor allem: Welche Auswirkungen kann es auf Computersysteme und insbesondere auf geheime Systeme im militärischen Umfeld haben?

Mit diesem Artikel werde ich versuchen, etwas Licht auf diese Schwachstelle und ihre möglichen Auswirkungen auf die Welt der Sicherheit zu werfen.

Zunächst muss noch einmal betont werden, dass es sich bei der Schwachstelle um Hardware und nicht um Software handelt. Das unterscheidet sich ein wenig von dem, was wir gewohnt sind. In der Praxis ist es, um einen Vergleich mit der Welt der Autos anzustellen, so, als ob bei (fast) allen Autos auf der Welt festgestellt würde, dass ein Detail des Motors aufgrund eines Konstruktionsfehlers kaputt gehen kann. In einem solchen Fall wären die Hersteller wahrscheinlich gezwungen, das fehlerhafte Modell vom Markt zu nehmen und den Verbraucher zu entschädigen, oder die Autos für einen kostenlosen Austausch des Teils ins Werk zurückzurufen.
Mit Kernschmelze Dies ist nicht geschehen, vielleicht weil noch immer kein wirkliches Bewusstsein für die Rechte der Verbraucher besteht und vielleicht weil es trotz der durch die Nachrichten ausgelösten Aufregung immer noch zu wenige Menschen gibt, die in der Lage sind, das wahre Ausmaß des Problems zu verstehen.
Auf jeden Fall wiederhole ich das Kernschmelze Betrifft bestimmte Familien von Prozessoren verschiedener Marken, unabhängig vom darauf installierten Betriebssystem!

Die Fehlfunktion

Um zu verstehen, wie es funktioniert Kernschmelze Sie müssen wissen, wie ein Betriebssystem zumindest in seinen wesentlichen Teilen funktioniert.
Zunächst ist es nützlich zu sagen, dass die Hauptaufgabe eines Betriebssystems darin besteht, eine Reihe von Sicherheitsdiensten und -garantien bereitzustellen, damit sich die darauf ausgeführten Programme so verhalten, wie es der Sicherheitsentwickler beabsichtigt.

Der gestalterische Sicherheitsansatz kommt insbesondere bei militärischen Systemen zum Tragen, oder allgemeiner bei Systemen, die Informationen von hohem Wert verarbeiten.

Eines der Hauptmerkmale von Betriebssystemen besteht in der Fähigkeit, die „Trennung des Speichers“ zwischen verschiedenen Prozessen und Benutzern zu gewährleisten, da jeder Benutzer oder Prozess nur auf den für ihn reservierten Speicher zugreifen kann.
Moderne Betriebssysteme haben, um nutzbar zu sein und auch die Funktionen der CPUs der neuen Generation optimal nutzen zu können, einige Funktionen eingeführt, die bestimmte Vorgänge beschleunigen, theoretisch ohne ihre Sicherheit zu beeinträchtigen.

1. Das erste dieser Merkmale besteht in der Möglichkeit, mehrere Prozesse parallel auszuführen oder unterschiedliche Aufgaben oder für unterschiedliche Benutzer oder Programme auszuführen, was ihnen den Eindruck vermittelt, dass sie die einzigen sind, die über das gesamte Potenzial des Computers verfügen können. Hierzu ist der Einsatz besonderer Speicherzuweisungstechniken erforderlich, die unter dem Namen „virtueller Seitenspeicher“ bekannt sind.

2. Um zu verhindern, dass Benutzer oder Prozesse sich gegenseitig stören und Schaden anrichten, indem sie Daten in einen bereits verwendeten Speicherbereich schreiben, möglicherweise vom Betriebssystem selbst, wurde das Konzept der „Schutzdomäne“ eingeführt. In der Praxis weist das Betriebssystem jedem Benutzer oder Prozess eine Ebene zu, mit der die Möglichkeit verbunden ist, einen bestimmten Speicherbereich nutzen zu können. Wenn ein Prozess versucht, auf einen Speicherbereich zuzugreifen, für den er nicht berechtigt ist, wird er normalerweise „abgebrochen“.

3. Das dritte Merkmal, das mit der Architektur der neuen Prozessoren verbunden ist, die normalerweise mit mehreren Recheneinheiten ausgestattet sind, besteht in der Möglichkeit, Anweisungen oder Operationen parallel auszuführen oder in einigen Fällen dieselbe Anweisung mit unterschiedlichen Werten auszuführen, um bestimmte Operationen zu beschleunigen. Dies sind Funktionen, die als „Anweisungspipeline“ und „spekulative Ausführung“ bekannt sind. Darauf basiert das Konzept der „Out-of-Order-Execution“, also der Ausführung von Anweisungen eines Programms, die noch nicht notwendig sind, aber voraussichtlich ausgeführt werden müssen.

4. Um die enorme Rechengeschwindigkeit moderner Prozessoren auszunutzen, wurden schließlich spezielle Speichertypen eingeführt, deren Schreib- und Lesezugriffe in deutlich kürzerer Zeit erfolgen als der in einer normalen Festplatte vorhandene Speicher. Das Vorhandensein dieser sogenannten „Cache“-Speicher, die mit der Analyse der am häufigsten verwendeten Daten verbunden sind, ermöglicht es dem Prozessor, nicht zu oft im Leerlauf zu bleiben, während er auf die Bereitstellung der erforderlichen, auf der Festplatte gefundenen Daten wartet.

Nun, die Sache ist einfach. Wenn es wahr ist, dass die oben genannten Merkmale eingeführt wurden, um die Eigenschaften der neuen Prozessoren auszunutzen, ist es ebenso wahr, dass die Maßnahmen die Komplexität der Systeme und damit die Möglichkeit der Einführung nicht trivialer Schwachstellen erheblich erhöht haben, und dies ist der Fall Kernschmelze.
Nun muss man wissen, dass einer der Benutzer des Computers das Betriebssystem ist, er als „privilegierter Benutzer“ gilt und bestimmte Vorgänge ausführen kann, die einem generischen Benutzer nicht gestattet sind.

Kernschmelze ermöglicht die Überwindung des Konzepts der „Speichertrennung“, indem es einem nicht autorisierten Prozess oder Benutzer ermöglicht, auf die Daten aufmerksam zu werden, die in Speicherbereichen vorhanden sind, die nicht seine eigenen sind, indem eine Angriffsart namens „Seitenkanalangriff“ ausgenutzt wird, insbesondere eine Art Seitenkanalangriff namens „Chache-Seitenkanalangriff“, der darin besteht, den Inhalt des Caches durch Messen der Ladezeiten der Daten durch einen anderen laufenden Prozess abzuleiten.

Kernschmelze Dies gelingt ihm, indem es die oben genannten Eigenschaften moderner 64-Bit-Prozessoren zu seinem Vorteil nutzt, um sein Ziel zu erreichen, nämlich Daten aus dem Speicherbereich zu stehlen, der für die Prozesse des Betriebssystemkerns bestimmt ist.

Angesichts des Zwecks dieses Artikels und der Komplexität des Themas macht es keinen Sinn, die Funktionsweise dieser Art von Angriff weiter zu beschreiben, sondern vielmehr zu versuchen, die Sicherheitsauswirkungen dieses Angriffs in Bezug auf militärische Informationssysteme zu verstehen.
Eine erste Überlegung sollte zum Konzept der Systemverifizierung und -zertifizierung angestellt werden.
Das liegt daran, dass, wie ich hoffe, jetzt klar ist, fast alle Prozessoren in Kombination mit den am häufigsten verwendeten Betriebssystemen dem Angriff ausgesetzt sind KernschmelzeDazu gehören auch die 7-Bit-Betriebssysteme Windows 2008 Client und Windows Server 2 R64, die, wenn Sie sich die Website für zertifizierte Common Criteria-Systeme ansehen, für den Einsatz in den klassifizierten Systemen der meisten Länder der Welt zertifiziert sind.

Kann es sein, dass bei den Tests niemand das unsichere Verhalten der Systeme bemerkt hat?
Ist es vielleicht notwendig, die Art und Weise, wie die Validierungszentren die Tests durchführen, zu überdenken und sich möglicherweise zu sehr darauf zu konzentrieren, die Angaben der Hersteller zu testen, ohne (viel) weiter zu untersuchen?
Dennoch gibt es bereits seit 1995 klare Hinweise der National Security Agency auf mögliche Probleme mit Prozessorarchitekturen.

Eine zweite Überlegung betrifft die Möglichkeit, Sicherheitspatches anzuwenden.
Sobald es bekannt wurde KernschmelzeDie wichtigsten Softwarehersteller haben versucht, die Architekturprobleme der Hardware durch Softwaremodifikationen zu beheben.
Unter anderem hat Microsoft den Patch sofort veröffentlicht, aber mit welchem ​​Ergebnis? Die Hacker-News In einem Artikel veröffentlichte er vor einigen Tagen die Studie des unabhängigen Forschers Ulf Frisk, die zeigte, dass der Patch die Situation nur verschlimmerte und Datendiebstahl jetzt noch schneller vonstatten gehen ließ als ohne den Patch.
Dies ist ein weiterer Punkt, den Sie sorgfältig bedenken sollten: Die Anwendung eines Patches, selbst wenn dies möglich ist (und es ist nicht immer möglich, ohne das System erneut zu zertifizieren!), könnte sogar noch schädlicher sein, als die Dinge so zu belassen, wie sie sind.

Aber wie sollte man sich dann angesichts von Problemen verhalten, die so tief in der Architektur von Systemen liegen?

Welche Gewissheiten, welche Garantien können uns militärische Systeme geben, die möglicherweise Gegenstand ähnlicher Angriffe waren? Kernschmelze Jahrelang?

wir wissen, Kernschmelze Seit Juli 2017 öffentlich bekannt, aber wir wissen nicht, ob jemals eine Organisation diese Schwachstelle kannte und ausnutzte, die möglicherweise in Prozessoren der neuen Generation ab 2010 steckt. Ich habe keine Antwort, sondern nur einen Vorschlag: In der heutigen Welt ist nichts sicherer, vielleicht weil kaum eine Person, selbst vorbereitet, in der Lage ist, die Komplexität der Systeme zu beherrschen.

Da wir es mit der nationalen Sicherheit zu tun haben, wäre es auf jeden Fall vielleicht angebracht, die Strukturen zu stärken, die für die Analyse von Computersystemen und Schwachstellen verantwortlich sind, auch durch den Rückgriff auf Universitäten, anstatt den Aussagen der Hardware- und Softwarehersteller zu vertrauen.

Kann uns künstliche Intelligenz helfen … oder vielleicht, was wahrscheinlicher ist, das Problem noch weiter verkomplizieren?

 
Um mehr zu erfahren:

- https://meltdownattack.com/meltdown.pdf
- https://thehackernews.com/2018/03/microsofts-meltdown-vulnerability.html
- Hinweise zu INTEL-Prozessoren: https://www.tomshw.it/differenze-i-processori-intel-75496
- Hinweise zu ARM-Prozessoren: https://www.ilsoftware.it/articoli.asp?tag=Differenza-tra-processori-ARM...
- Über SPARC-Prozessoren: http://www.pcpedia.it/Il-Processore/ultrasparc.html
- Hinweise zu Raspberry-Prozessoren: https://opensource.com/resources/raspberry-pi
- https://www.commoncriteriaportal.org