Entdeckung einer neuen Spectre-Angriffsoption mit der Möglichkeit, Daten über das Netzwerk remote zu empfangen

Anfang dieses Jahres wurden bereits die Angriffsarten Spectre und Meltdown gezeigt. Sie ermöglichen es Ihnen, das Opfer mit minimalem Ressourcenverbrauch anzugreifen. Ein speziell entwickeltes JavaScript kann verwendet werden, um einen Spectre-Angriff auszuführen. Cloud-Dienste sind, soweit man verstehen kann, sicher - beide Arten von Angriffen gelten nur für das Eindringen diskreter Netzwerkressourcen.

Jetzt gibt es Informationen über eine neue Art von Angriff. Es wurde von Forschern der Technischen Universität Graz zur Verfügung gestellt, die nach Karl und Franz benannt sind. Der Cybersicherheitsspezialist Daniel Grass, der den ursprünglichen Meltdown-Angriff entdeckte, war ebenfalls an der Aufdeckung einer neuen Art von Angriff beteiligt. Das neue Produkt heißt NetSpectre. Die Besonderheit besteht darin, dass ein Angreifer Speicherdaten aus der Ferne lesen kann, ohne Code auf dem System des Opfers auszuführen.

Es ist erwähnenswert, dass alle Spectre-Angriffsoptionen auf denselben Prinzipien basieren. Jeder Prozessor zeichnet sich durch architektonisches und mikroarchitektonisches Verhalten aus. Sie können variieren, aber nicht dramatisch. Im ersten Fall wartet beispielsweise ein Programm, das einen Wert aus einem bestimmten Speicherbereich lädt, bis die Adresse bekannt wird, bevor der Download gestartet wird. Im zweiten Fall kann der Prozessor versuchen, die Adresse zu erraten, um den Wert aus dem Speicher zu empfangen, noch bevor die genaue Adresse bekannt wird.

Wenn der Prozessor einen Fehler macht, wird der Download auf eine neue Weise ausgeführt, diesmal mit der richtigen Adresse. Der "erratene" Wert wird ignoriert und das architektonisch definierte Verhalten bleibt erhalten. Der Fehler wirkt sich jedoch auf andere Elemente aus, insbesondere auf den Inhalt des Caches. Solche Verstöße können durch Malware erkannt und identifiziert werden. Diese Methode zum Abrufen von Daten wird als Drittanbieter-Kanal bezeichnet. Oder besser gesagt - als Angriff auf Kanäle von Drittanbietern (oder Seitenkanälen).

Dies ist überhaupt keine neue Art von Angriff, sie sind seit den 80er Jahren des letzten Jahrhunderts über sie bekannt, aber sie wurden nach der Berichterstattung durch Paul Kocher im 96. Jahr weit verbreitet. NetSpectre baut auf diesen bekannten Angriffsprinzipien auf, aber Entwickler haben etwas Eigenes mitgebracht. Mit dem Angriff können Sie insbesondere einen Datenverlust aus dem Speicher auslösen, indem Sie Netzwerkpakete bearbeiten, die über das Netzwerk gesendet werden.

Um die verbleibenden Daten des Prozessors zu ermitteln, schlagen die Experten, die über den Angriff gesprochen haben, vor, vorhandene Codefragmente in Anwendungen oder im Kernel zu verwenden, die aktiviert werden, wenn bestimmte Arten von Netzwerkanforderungen auftreten. Um beispielsweise Daten zu extrahieren, die sich im Cache niedergelassen haben, schlagen die Forscher vor, die Evict + Reload-Methode zu ändern. Es basiert auf der Erstellung von Bedingungen zum Verdrängen von Daten aus dem Cache sowie auf der Verarbeitung von Anforderungen, deren Ausführungszeit es uns ermöglicht, die Verfügbarkeit von Daten im Prozessor-Cache zu beurteilen.

Ein Angriff kann ohne seine geringe Leistung als sehr gefährlich angesehen werden. Unter optimalen Bedingungen kann die neue Methode 15 bis 60 Bit pro Stunde bestimmen. Ein Tag - nicht mehr als 45-180 Bytes. Optimale Bedingungen sind jedoch sehr selten, so dass unter normalen Bedingungen die Angriffsgeschwindigkeit minimal ist - nur 1-3 Bytes in 3-8 Stunden Angriff. Um in diesem Fall ein Bit zu überprüfen, sind ungefähr 20 Millionen Überprüfungen erforderlich.

Experten zufolge werden im Laufe der Zeit neue Methoden vorgeschlagen, um die Wirksamkeit des Angriffs zu erhöhen. Das Extrahieren beispielsweise eines AES-Schlüssels dauert jedoch ganze Tage. Ein solcher Angriff wird durch Verteidigungsmethoden blockiert, die gegen die erste Version der Spectre-Sicherheitsanfälligkeit (CVE-2017-5753) wirksam sind.



Um die Angriffsleistung unter realen, aber nicht optimalen Bedingungen auf bis zu 60 Bit pro Stunde zu steigern, schlagen die Forscher vor , Geräte mit AVX2-Anweisungen als zusätzlichen Kanal für Informationslecks zu verwenden. Diese Methode nutzt die Funktionen zum Übertragen des AVX2-Geräts in den Energiesparmodus. Bei inaktiver Verwendung von AVX2 steht ein Energiesparmodus zur Verfügung, in dem die AVX2-Einheit weiter betrieben wird, wenngleich die Leistung abnimmt. Wenn AVX2 1 ms lang inaktiv ist, schaltet der Prozessor es aus, was zu einer Verzögerung beim nächsten Vorgang führt.

Angreifer können die Tatsache der spekulativen Codeausführung anhand des Verschwindens der Verzögerung zum Aufwecken des obigen Blocks bestimmen. Auf diese Weise können Sie die Anzahl der Überprüfungen reduzieren, um jedes Informationsbit zu bestimmen.

Um diese Arbeit auszuführen, können Sie ein spezielles Dienstprogramm verwenden. Experten zufolge können die oben genannten Codefragmente in beliebigen Netzwerkanwendungen enthalten sein. Einschließlich - des Codes von http-Servern, SSH und anderen Netzwerkpaket-Handlern. Unter bestimmten Umständen können Sie vollen Zugriff auf den Inhalt des gesamten Systemspeichers erhalten.

Source: https://habr.com/ru/post/de418465/


All Articles