NetSpectre liest RAM via Netzwerk aus

NetSpectre greift ohne ausführbaren Schadcode an – zwar fließen nur wenige Bytes pro Stunde, aber ungeschützte Server und Storage-Systeme sind angreifbar.

In Pocket speichern vorlesen Druckansicht 120 Kommentare lesen
Spectre
Lesezeit: 3 Min.

Das Forscherteam der TU Graz, das zu den Entdeckern der Spectre-Lücken in Prozessoren von Intel, AMD, ARM und IBM gehört, legt nach: NetSpectre nutzt im Prinzip die Methoden von Spectre V1, allerdings über Netzwerkverbindungen sowie ohne Schadcode auf das Zielsystem zu bringen. NetSpectre missbraucht normale Netzwerk-Funktionen in Betriebssystemen, Treibern oder in Server-Software als sogenannte Gadgets.

Zwei Faktoren schränken die Gefährlichkeit von NetSpectre ein: Einerseits schützen die bereits bekannten Maßnahmen und Patches gegen Spectre V1 (Bounds Check Bypass) auch gegen NetSpectre und andererseits liefert NetSpectre selbst über schnelle lokale Gigabit-Ethernet-Netze nur wenige Bytes pro Stunde.

CPU-SicherheitslĂĽcken Spectre-NG

Nach Meltdown und Spectre sind Forscher auf acht weitere Sicherheitslücken in (Intel-) Prozessoren gestoßen – Spectre Next Generation (Spectre-NG). Vier davon werden als hochriskant eingestuft, eine davon hat sogar weitaus höheres Bedrohungspotenzial als die bisher bekannten Spectre-Lücken.

NetSpectre-Angriffe könnten allerdings theoretisch sehr lange unbemerkt laufen als Advanced Persistent Threats (APT) und somit dann doch kritische Informationen liefern. Im Prinzip erreicht NetSpectre jede beliebige RAM-Adresse, also auch Passwörter, geheime Schlüssel und Zertifikate. Die Angriffstechnik ist allerdings kompliziert, das Paper von Michael Schwarz, Martin Schwarzl, Moritz Lipp und Daniel Gruss umfasst fast 14 Seiten.

Nach bisherigen Vorstellungen erforderten Spectre-Angriffe das Ausführen von bösartigem Code auf dem Zielsystem. Damit erschienen viele Geräte als sicher, etwa weil dort niemand eigenen Code ausführen darf – und wenn ein Angreifer das doch schafft, ist das System ohnehin geknackt. Diese optimistische Einschätzung haben die Forscher mit ihrer Arbeit zertrümmert. Denn Schwarz et al zeigen, dass man Spectre übers Netz etwa gegen Router oder Server einsetzen kann, um geheime Informationen zu stehlen. Dabei wird wohlgemerkt kein Code in das Zielsystem eingeschleust und ausgeführt.

Die Basis der Angriffe ist nach wie vor das von Spectre aufgedeckte Grundproblem moderner Prozessoren: Sicherheit wird zugunsten von Performance geopfert. Konkret führen moderne Prozessoren "auf Verdacht" schon mal Code aus, von dem noch gar nicht feststeht, ob er wirklich ausgeführt werden soll. Für diese spekulative Ausführung gelten nicht die herkömmlichen Sicherheitsregeln, die etwa den Zugriff auf geschützten Speicher verhindern.

Für NetSpectre nutzen die Forscher auf dem System bereits vorhandenen Code, um Informationen übers Netz hinweg abzugreifen. Sie sprechen dabei von einem Leak-Gadget, also einem Code-Schnippsel, der Informationen über eine eigentlich nicht zugängliche Speicherstelle extrahiert, sowie von einem Transmit-Gadget, das diese Information über das Netz verschickt.

Beide Code-Schnipsel aktiviert der Angreifer, indem er ĂĽbers Netz Pakete an das Zielsystem schickt. Genauer beschreiben Schwarz et al das in Kapitel 3 des Papers NetSpectre: Read Arbitrary Memory over Network.

Die CPU-SicherheitslĂĽcken Meltdown und Spectre
(Google-)Name Kurzbezeichnung CVE-Nummer
Spectre V1 Bounds Check Bypass CVE-2017-5753
Spectre V1.1 Bounds Check Bypass Store CVE-2018-3693
Spectre V1.2 Read-only Protection Bypass k.A.
Spectre V2 Branch Target Injection (BTI) CVE-2017-5715
Meltdown (GPZ V3) Rogue Data Cache Load CVE-2017-5754
Spectre-NG:
Spectre V3a Rogue System Register Read (RSRE) CVE-2018-3640
Spectre V4 Speculative Store Bypass (SSB) CVE-2018-3639
k.A. Lazy FP State Restore CVE-2018-3665
Spectre-Varianten via Return Stack Buffer (RSB)
"Spectre v5" ret2spec k.A.
k.A. SpectreRSB k.A.
zu fĂĽnf weiteren Spectre-NG-LĂĽcken fehlen noch Informationen
GPZ steht fĂĽr Google Project Zero, Spectre V1 und V2 werden auch GPZ V1 und GPZ V2 genannt

(ciw)