Cybersicherheit

Cloudflare bewertet Spectre-Angriffe aus der Ferne auf Workers neu und entdeckt Datenleck mit 12 Bit pro Sekunde

Eine interne Neubewertung zeigte, dass ein Spectre-Angriff aus der Ferne in der Produktionsumgebung Daten zwischen zwei Worker-Isolierungen mit bis zu 12 Bit pro Sekunde und einer Genauigkeit von über 99 % durchsickern lassen konnte. Cloudflare zufolge wurde der Angriff bereits durch Verbesserungen an DyPrIs sowie durch die Integration der V8 Sandbox und der auf Memory Protection Keys basierenden In-Process-Isolierung behoben.

2026-08-19
6 Min. Lesezeit
11 Aufrufe
فريق تحرير certi.news
Cloudflare bewertet Spectre-Angriffe aus der Ferne auf Workers neu und entdeckt Datenleck mit 12 Bit pro Sekunde

Cloudflare hat die Ergebnisse einer Neubewertung von Spectre-Angriffen aus der Ferne auf der Cloudflare-Workers-Plattform veröffentlicht, die im Jahr 2024 und zu Beginn des Jahres 2025 durchgeführt wurde. Das Forschungsteam konnte einen in der Produktionsumgebung funktionsfähigen Proof of Concept entwickeln und Daten von einem Opfer-Worker an einen von den Forschern kontrollierten Angreifer-Worker mit bis zu 12 Bit pro Sekunde und einer Genauigkeit von über 99 % durchsickern lassen.

Das Unternehmen bestätigt, dass der demonstrierte Angriff im Produktionssystem durch Maßnahmen des Teams für die Cloudflare Workers Runtime behoben wurde und dass es keine Hinweise auf eine aktive Ausnutzung in den vergangenen drei Jahren gefunden hat. Die Ergebnisse wurden in einem gemeinsam von Albert Pedersen, Haocheng Xiao, Sam Ainsworth, Nigel Topham und Martin Schwarzl verfassten Paper veröffentlicht.

Warum ist diese Forschung wichtig?

Workers führt nicht vertrauenswürdiges JavaScript am Netzwerkrand aus, wobei Zehntausende von Mandanten einen einzigen Betriebssystemprozess über V8-Isolierungen gemeinsam nutzen können. Jeder Worker verfügt über einen eigenen JavaScript-Heap, was die Startzeit und die Effizienz beim Hosten einer großen Zahl von Mandanten verbessert, zugleich aber bedeutet, dass eine Schwachstelle für beliebige Lesezugriffe innerhalb des Prozesses die Tür für Datenlecks zwischen Mandanten öffnen könnte.

Spectre-Angriffe nutzen die spekulative Ausführung in Prozessoren aus. Wenn der Prozessor das Ergebnis eines Softwarezweigs vorhersagt und Anweisungen ausführt, bevor er das Ergebnis bestätigt hat, können die Ergebnisse später verworfen werden. Dennoch bleiben feine Spuren im mikroarchitektonischen Zustand des Prozessors zurück, unter anderem im Cache. Ein Angreifer kann Unterschiede bei den Speicherzugriffszeiten ausnutzen, um Bits aus Daten abzuleiten, die er eigentlich nicht lesen dürfte.

Cloudflare hatte 2021 eine Produktionsabwehr namens Dynamic Process Isolation oder DyPrIs eingeführt, um Skripte, die bösartig erscheinen, in getrennten Prozessen zu isolieren. Die Neubewertung entdeckte jedoch eine Einschränkung im Ausführungsmechanismus, die es dem Angriff ermöglichte, lange genug wirksam zu bleiben, um die Isolierung zu überwinden.

Wie überwand der Angriff die Einschränkungen von Workers?

Die Plattform beschränkt lokale Timer und erlaubt weder gemeinsam genutzten Speicher noch Multithreading. Daher stehen herkömmliche Messmethoden auf Basis von SharedArrayBuffer nicht zur Verfügung. Stattdessen verwendeten die Forscher einen entfernten Timer über eine WebSocket-Verbindung und nutzten die Signalverstärkung, die durch Cache-Ereignisse mithilfe der tree-based-PLRU-Ersetzungsrichtlinie im L1-Cache entstand.

Das Team entwickelte außerdem zwei Arten von Spectre-Gadgets. Das erste wurde verwendet, um komprimierte Heap-Zeiger zu leaken, darunter die Basisadresse des Heaps der Isolierung. Das zweite beruhte auf einer spekulativen Typverwechslung, um auf einen 64 Bit breiten rohen Zeiger zuzugreifen. Dadurch konnte das Leck in einen Lesezugriff von einer von der Angreiferseite ausgewählten Adresse umgewandelt werden. Zum Zeitpunkt der Forschung war die V8 Sandbox in Workers noch nicht implementiert, und TypedArray gehörte zu den Objekten, die einen rohen Zeiger auf ihren Backing Store enthielten.

Um reproduzierbare Messungen zu gewährleisten, erstellten die Forscher große Objektmengen, die die Cache-Kapazität überstiegen, und wählten in jeder Runde zufällige Positionen aus, anstatt für jede Cache-Zeile nach einem präzisen Eviction Set zu suchen. Zudem wurden Durable Objects verwendet, um einen langfristig laufenden Ausführungskontext aufrechtzuerhalten, während WebSocket-Nachrichten das Zurücksetzen der Grenzen für Verarbeitungszeit und Anfragen ermöglichten. Durch regelmäßige Pausen zwischen den Ausführungsbatches konnte die Isolierung fünf Stunden bis mehr als 20 Stunden aktiv gehalten werden.

Um die Nähe zwischen Angreifer und Opfer herzustellen, rief der Angreifer-Worker den Opfer-Worker über fetch auf, wodurch beide in den meisten Fällen im selben Prozess auf demselben Edge-Server ausgeführt wurden. Diese Methode ermöglichte zudem, Phasen geringerer Auslastung in den Edge-Rechenzentren auszunutzen, um die Stabilität der Messungen zu erhöhen.

Was hat sich praktisch an den Abwehrmaßnahmen von Cloudflare geändert?

Cloudflare führte mehrere Änderungen ein, anstatt sich auf eine einzelne Maßnahme zu verlassen. Die V8 Sandbox ist nun Bestandteil der Schutzschichten und soll das Vorhandensein roher 64-Bit-Zeiger in großen Teilen des JavaScript-Heaps reduzieren. Dadurch werden einige der in der Forschung verwendeten spekulativen Verwechslungs-Gadgets schwieriger wiederzuverwenden. Dies stellt jedoch keine vollständige Abhilfe gegen Spectre-Angriffe dar, da weitere Gadgets oder andere Formen entstehen können, die Zugriffe außerhalb von Speichergrenzen ermöglichen.

Im September 2025 veröffentlichte das Unternehmen eine auf Memory Protection Keys oder MPK basierende In-Process-Isolierung. Diese Technik unterteilt den Speicher in Schutzbereiche und schaltet deren Zugriffsrechte mit geringem Aufwand um, sodass der Heap jeder Isolierung hinter einer hardwareerzwungenen Barriere liegt. Dadurch wird das direkte Lesen zwischen den Isolierungs-Heaps verhindert, auf dem der Angriff beruhte. Alle Spectre-Risiken werden dadurch jedoch nicht beseitigt: Die Zahl der Schutzbereiche ist begrenzt, und das System erfordert eine präzise Verwaltung des Zustands der Schutzschlüssel.

Cloudflare verbesserte außerdem den DyPrIs-Mechanismus, um langfristige Ausführungsprozesse und I/O-intensive Lasten zu berücksichtigen. Es reicht nicht aus, auf das Ende eines Aufrufs zu warten, um das Skript zu isolieren, wenn eine WebSocket-Verbindung oder ein Durable Object den Aufruf stundenlang offenhalten kann. Das Unternehmen untersucht außerdem, ob die entfernte Timing-Charakteristik in die Erkennungssignale aufgenommen werden sollte, insbesondere bei wiederholten timerähnlichen Vorgängen um rechenintensive Abschnitte, anstatt den begleitenden Netzwerkverkehr als gewöhnliches Rauschen zu betrachten.

Grenzen des Ergebnisses

Der Test wurde gegen von Cloudflare und den Forschern kontrollierte Workers durchgeführt und ist kein Beleg für den Einbruch in reale Mandanten. Außerdem wurde die höhere Leckrate laut Erläuterung des Unternehmens auf Kosten der Genauigkeit erzielt, und in den vergangenen drei Jahren wurden keine Hinweise auf eine tatsächliche Ausnutzung festgestellt. Die Ergebnisse zeigen daher eine praktisch umsetzbare Angriffsfähigkeit im früheren Isolierungsmodell sowie die Bedeutung einer Kombination aus Prozessisolierung, hardwareerzwungenem Speicherschutz und kontinuierlicher verhaltensbasierter Erkennung.

Nachrichtenquelle
Cloudflare Blog
Originalquelle öffnen ↗
ف
Autor

فريق تحرير certi.news

Aus derselben Kategorie

Das könnte Sie interessieren

Alle Nachrichten anzeigen