
Schon wieder! Erst vor zwei Wochen haben wir über neue Spectre-Angriffe mit der spekulativen Aufnahmemethode gesprochen. Die wichtigste Neuigkeit der letzten Woche betrifft wieder die Spectre-Familie, und jetzt ist es viel cooler. Forscher der Technischen Universität Graz in Österreich haben einen Weg gefunden, Daten von einem Drittanbieter-Kanal aus der Ferne abzurufen, daher der Name des Angriffs.
Ich möchte sagen, dass für den NetSpectre-Angriff kein Code auf dem angegriffenen System ausgeführt werden muss (im Gegensatz beispielsweise zu einem browserbasierten Angriff auf JavaScript), aber dies ist nicht ganz richtig. Im Kontext von NetSpectre ist der „Code“ die Routinearbeit mit anderen Computern über das Netzwerk, die der Angreifer nicht direkt steuert, sondern beeinflussen kann. Die Möglichkeit, mikroskopische Unterschiede zwischen verschiedenen Prozessorbetriebsarten aus der Ferne zu erkennen, ist beeindruckend. Wie bei anderen Spectre-Studien ist die Arbeit (bisher) theoretisch, und der neue Angriff zeichnet sich durch eine unglaublich langsame Datenextraktionsgeschwindigkeit aus: Einheiten von Bits pro Minute. Eine Übersicht über den neuen Angriff (in menschlicher Sprache) wird
hier veröffentlicht , obwohl es immer noch besser ist, die
ursprüngliche Studie zu lesen.

Vor der Veröffentlichung der NetSpectre-Studie wurde JavaScript-Code, der normalerweise in einem Browser ausgeführt wurde, normalerweise als indikativer Remote-Angriff auf die spekulative Code-Ausführungs-Engine angeboten. Diese Methode bot nach Ansicht der Autoren der neuen Arbeit die Möglichkeit einer ziemlich genauen Messung der Verzögerungen zwischen der Anforderung und dem Empfang von Daten. Da dies im Prinzip bei Angriffen vom Typ Spectre auftritt (und es gibt bereits viele davon), können wir aufgrund der unterschiedlichen Antwortzeit Daten rekonstruieren, auf die die ausführbare Datei keinen Zugriff hat.
NetSpectre erfordert keinen Angreifer, um Code direkt auf dem Zielsystem auszuführen. Stattdessen wird der übliche Datenaustausch über das Netzwerk verwendet, z. B. das Herunterladen von Dateien vom angegriffenen Server und das Übertragen einzelner Netzwerkpakete. Die Forscher erstellten ein künstliches Design von einem anfälligen Server (in einem Beispiel war es ein Computer mit einem Intel Core i5-6200U-Prozessor), in dessen Netzwerksoftware sich zwei Geräte befanden. Gadgets bedeuten einen bestimmten Mechanismus, der bestimmte Eigenschaften implementiert, die wir benötigen, den Softwareteil der Sicherheitsanfälligkeit. Das "Leckage-Gadget" schuf die Bedingungen für eine spekulative Anfrage nach sensiblen Daten, die mehr oder weniger Standard für Spectre-ähnliche Angriffe sind, indem:

Der Begriff für das zweite Gerät ist etwas verwirrend. Natürlich ist das „Übertragungs-Gadget“ keine Sicherheitslücke, die Geheimnisse direkt aus dem Hauptspeicher oder dem CPU-Cache an den Angreifer überträgt, wie dies bei einem einfacheren
Heartbleed- Angriff der
Fall ist (vier Jahre sind vergangen, müssen Sie!). Das „Übertragungs-Gadget“ schafft die Bedingungen, unter denen ein Angreifer die Verzögerung bei der Datenübertragung analysieren kann, aus der die erforderlichen Informationen rekonstruiert werden können.
Forscher haben zwei Datenverlustkanäle von Drittanbietern für einen NetSpectre-Angriff vorgeschlagen. Der erste wiederholt den Mechanismus des ursprünglichen Spectre fast vollständig und verwendet den Prozessor-Cache. Der zweite verwendet den Cache überhaupt nicht: Stattdessen wird der Befehlsberechnungsblock aus dem
AVX2- Satz verwendet. Da diese Geräte durch einen hohen Stromverbrauch gekennzeichnet sind, werden sie im Leerlauf ausgeschaltet. Nach Erhalt der Anweisungen aus dem Set erfolgt deren Aufnahme mit einer leichten Verzögerung, die auch aus der Ferne gemessen werden kann. Diese Methode ist um ein Vielfaches schneller als die „herkömmlichen“ Cache-Manipulationen: Die Datenrekonstruktion über den Cache erfolgte in einem Gigabit-LAN mit einer Geschwindigkeit von 4 Bit pro Minute, und mit Hilfe von AVX2 konnten 8 Bytes pro Minute übertragen werden.
Warum so langsam? Sie können zum Beispiel aus diesem Bild aus der Studie verstehen:
Der ursprüngliche Spectre-Angriff, der direkt auf dem angegriffenen System ausgeführt wird, erfordert das Messen der Verzögerung in der Reaktion des Prozessors auf Anweisungen in der Größenordnung von Millisekunden. Es ist auch ziemlich langsam - „Datendiebstahl“ ist bei Geschwindigkeiten von wenigen Kilobit pro Sekunde möglich. Alles kann die Verzögerung bei der Übertragung von Netzwerkpaketen beeinflussen, sodass NetSpectre mehrmals hintereinander „einfriert“ - dh tatsächlich einen erfolgreichen Angriff ausführt -, um das erforderliche Bit oder Byte mit hoher Zuverlässigkeit aus den gemittelten Werten zu erhalten.
So wird mit
Hunderttausenden und Millionen von Messungen eine angemessene Angriffsgenauigkeit erreicht. In
jedem von ihnen müssen Sie eine komplexe Operation ausführen, die beispielsweise das Leeren des Caches durch Herunterladen einer Datei mit einer Größe von 590 Kilobyte umfasst. Übrigens wurden bei der Datenverarbeitung keine Algorithmen für maschinelles Lernen verwendet. Sie werden offensichtlich dazu beitragen, die Anzahl der Messungen zu verringern, die für eine genaue Datenrekonstruktion erforderlich sind. Wenn sich der Angreifer und das Opfer nicht im selben lokalen Netzwerk befinden, werden solche Algorithmen benötigt, andernfalls wird ein Byte in 160 Millionen Messungen (!) 8 Stunden lang (3 Stunden lang mit der AVX2-Methode) "übertragen".
Die Forscher führten erfolgreich einen Angriff mit Computern und Laptops mit Intel-Prozessoren, Geräten mit ARM Cortex A75-Kernprozessoren und der Google Cloud Platform (zwischen zwei virtuellen Maschinen) durch. Wieder ist der Angriff völlig theoretisch. Für die Implementierung unter realen Bedingungen müssen Sie die entsprechenden "Gadgets" in einer bestimmten Version der Software (z. B. dem Linux-Kernel) finden, die auf einem bestimmten Server installiert ist. Es müssen Bedingungen für die Interaktion mit dem Server bereitgestellt werden, die nicht immer möglich sind. Insbesondere weisen die Forscher direkt darauf hin, dass jeder Schutz vor DDoS-Angriffen einen Angreifer fast sofort verbietet - aufgrund der Anzahl der Anforderungen und der Menge der übertragenen Daten. Sogar das Prozessormodell innerhalb der Aufstellung spielt eine Rolle: Für den in der Arbeit verwendeten Core i5 funktioniert er mit drei Megabyte Cache, für einige andere (mit einer anderen Cache-Größe) jedoch möglicherweise nicht.
Aber immer noch beeindruckend! Dies ist plötzlich eine Art "Laser" -Mikrofon, das Vibrationen von den Fenstern im Raum entfernt. NetSpectre birgt keine zusätzlichen Risiken: Intel kommentierte die Tatsache, dass die bereits bekannten Spectre-Minderungsmethoden auch für die Netzwerkinkarnation funktionieren. Ich werde von der Geschwindigkeit der Entwicklung neuer Angriffsmethoden ausgehen - und ich gehe davon aus, dass die interessantesten Methoden zum
Stehlen von Daten durch ein offenes Fenster noch ausstehen werden. Egal wie viel sie für uns alle viel Geld kosten - im Zusammenhang mit einem erzwungenen Rückgang der Produktivität und dem Bedarf an Kapitalkosten von Anbietern.
Haftungsausschluss: Die in dieser Übersicht geäußerten Meinungen stimmen möglicherweise nicht immer mit der offiziellen Position von Kaspersky Lab überein. Sehr geehrte Redakteure empfehlen generell, Meinungen mit gesunder Skepsis zu behandeln.