Neuer Browser-Angriff ermöglicht das Verfolgen von Benutzern mit deaktiviertem JavaScript im Internet

Cyber Security News

Forscher haben einen neuen Seitenkanal entdeckt, der zuverlässig ausgenutzt werden kann, um Informationen aus Webbrowsern auszuspähen, die dann genutzt werden können, um Benutzer zu verfolgen, selbst wenn JavaScript vollständig deaktiviert ist.

“Dies ist ein Seitenkanal-Angriff, der kein JavaScript zur Ausführung benötigt”, so die Forscher. “Das bedeutet, dass Skriptblocker ihn nicht stoppen können. Die Angriffe funktionieren selbst dann, wenn Sie alle lustigen Teile des Web-Browsing-Erlebnisses herausnehmen. Das macht es sehr schwierig, sie zu verhindern, ohne tiefe Teile des Betriebssystems zu modifizieren.”

Durch die Vermeidung von JavaScript sind die Seitenkanalangriffe auch architektonisch agnostisch, was zu mikroarchitektonischen Website-Fingerprinting-Angriffen führt, die über Hardware-Plattformen hinweg funktionieren, einschließlich Intel Core, AMD Ryzen, Samsung Exynos 2100 und Apple M1-CPUs – was es zum ersten bekannten Seitenkanalangriff auf die neuen ARM-basierten Chipsätze des iPhone-Herstellers macht.

Die Ergebnisse, die von einer Gruppe von Wissenschaftlern der Ben-Gurion Univ. of the Negev, der University of Michigan und der University of Adelaide stammen, werden auf dem USENIX Security Symposium im August vorgestellt.

Seitenkanalangriffe stützen sich typischerweise auf indirekte Daten wie Timing, Geräusche, Stromverbrauch, elektromagnetische Emissionen, Vibrationen und Cache-Verhalten, um auf geheime Daten eines Systems zu schließen. Speziell mikroarchitektonische Seitenkanäle nutzen die gemeinsame Nutzung der Komponenten eines Prozessors durch Code, der in verschiedenen Schutzdomänen ausgeführt wird, um geheime Informationen wie kryptografische Schlüssel auszuspähen.

Darüber hinaus wurden in Studien bereits vollautomatische Angriffe wie “Rowhammer.js” demonstriert, die sich auf nichts anderes als eine Website mit bösartigem JavaScript stützen, um Fehler auf entfernter Hardware auszulösen und so uneingeschränkten Zugriff auf Systeme von Website-Besuchern zu erlangen.

Während diese undichten Seitenkanäle durch Domain-Isolationstechniken effektiv gestopft werden können, haben Browser-Hersteller Abwehrmechanismen eingebaut, die Schutz vor Timing-Angriffen und Fingerprinting bieten, indem sie die Genauigkeit der Zeitmessfunktionen reduzieren, abgesehen von der Unterstützung für die vollständige Deaktivierung von JavaScript mit Add-ons wie NoScript.

[Blocked Image: https://thehackernews.com/images/-ckIBCt8kHMg/YEsBKUKTlUI/AAAAAAAACBE/6lr_MsJozL4bitNVyaqlevJ8lE_hn9C8gCLcBGAsYHQ/s0/browser-online-tracking-privacy.jpg][Blocked Image: https://thehackernews.com/images/-9GVXI9UadLE/YEsBIXzyD8I/AAAAAAAACBA/hoqvcqtFJm4bjQUDVTPMuIi38AAHBqg9ACLcBGAsYHQ/s0/browser-online-tracking-privacy.jpg]

Die neueste Forschung, die diese Woche veröffentlicht wurde, zielt jedoch darauf ab, solche browserbasierten Abschwächungen zu umgehen, indem ein Seitenkanalangriff namens “CSS Prime+Probe” implementiert wird, der ausschließlich mit HTML und CSS konstruiert wurde, so dass der Angriff sogar in gehärteten Browsern wie Tor, Chrome Zero und DeterFox funktioniert, die JavaScript vollständig deaktiviert haben oder die Auflösung der Timer-API begrenzen.

“Ein gemeinsamer Trend bei diesen Ansätzen ist, dass sie symptomatisch sind und die eigentliche Ursache des Lecks, nämlich die gemeinsame Nutzung von Ressourcen der Mikroarchitektur, nicht angehen”, so die Forscher. “Stattdessen versuchen die meisten Ansätze, ein Leck zu verhindern, indem sie das Verhalten des Browsers ändern und dabei unterschiedliche Gleichgewichte zwischen Sicherheit und Benutzerfreundlichkeit herstellen.”

Zunächst eine kleine Einführung: Im Gegensatz zu Flush+Reload-Angriffen, bei denen ein Spion eine Cache-Flush-Anweisung (z. B., clflush in x86), um bestimmte Cache-Zeilen zu flushen und festzustellen, ob das Opfer auf diese Daten zugegriffen hat, indem es erneut auf dieselbe Speicherzeile zugreift und den Zugriff auf einen Hit (Daten sind wieder im Cache) oder Miss (kein Zugriff durch das Opfer) zeitlich abstimmt, Prime+Probe erfordert, dass der Angreifer den gesamten gemeinsam genutzten Cache füllt, um die Daten des Opfers aus dem Cache zu verdrängen, und dann seine eigenen Zugriffe zeitlich abstimmt, nachdem er den Cache gefüllt hat – das Vorhandensein eines Cache-Misses zeigt an, dass das Opfer auf die entsprechende Cache-Zeile zugegriffen hat, wodurch die Daten des Spions entfernt wurden.

Die CSS-Prime+Probe-Technik beruht also darauf, eine Webseite zu rendern, die eine lange HTML-String-Variable enthält, die den gesamten Cache abdeckt (z. B. ein <div> Element mit einem Klassennamen, der zwei Millionen Zeichen enthält), und dann eine Suche nach einer kurzen, nicht existierenden Teilzeichenkette im Text durchzuführen, was wiederum die Suche dazu zwingt, den gesamten String zu scannen. Im letzten Schritt wird die Zeit zur Durchführung dieser Suchoperation an einen vom Angreifer kontrollierten Server gesendet.

“Der Angreifer fügt zunächst ein Element aus einer vom Angreifer kontrollierten Domain in den CSS ein und erzwingt so die DNS-Auflösung”, erklären die Forscher. “Der bösartige DNS-Server protokolliert die Zeit der eingehenden DNS-Anfrage. Der Angreifer entwirft dann eine HTML-Seite, die eine String-Suche aus dem CSS hervorruft und so effektiv den Cache sondiert. Auf diese Stringsuche folgt eine Anfrage für ein CSS-Element, die eine DNS-Auflösung vom bösartigen Server erfordert. Schließlich entspricht die Zeitdifferenz zwischen aufeinanderfolgenden DNS-Anfragen der Zeit, die für die String-Suche benötigt wird, die […] ein Proxy für die Cache-Konkurrenz ist.”

Um die Effektivität der Methoden mittels Website-Fingerprinting-Angriffen zu evaluieren, nutzten die Forscher unter anderem den oben erwähnten Seitenkanal, um Spuren der Cache-Nutzung beim Laden verschiedener Websites zu sammeln – darunter auch Alexa Top 100-Websites – und mit den “Memorygrams” ein tiefes neuronales Netzwerkmodell zu trainieren, um einen bestimmten Satz von Websites zu identifizieren, die von einer Zielperson besucht wurden.

Während JavaScript-basierte Cache-Besetzungsangriffe im Vergleich zu CSS Prime+Probe eine höhere Genauigkeit von über 90 % über alle Plattformen hinweg bieten, stellt die Studie fest, dass die von letzterem erreichte Genauigkeit hoch genug ist, um Daten zu verraten, die es böswilligen Parteien ermöglichen könnten, Benutzer zu identifizieren und zu verfolgen.

“Wie können also sicherheitsbewusste Benutzer auf das Web zugreifen?”, schlussfolgerten die Forscher. “Ein komplizierter Faktor bei diesem Konzept ist die Tatsache, dass der Webbrowser über den Cache hinaus weitere gemeinsam genutzte Ressourcen nutzt, etwa den DNS-Resolver des Betriebssystems, die GPU und die Netzwerkschnittstelle. Cache-Partitionierung scheint ein vielversprechender Ansatz zu sein, entweder durch räumliche Isolierung auf Basis der Cache-Färbung oder durch OS-basierte zeitliche Isolierung.”

Haben Sie diesen Artikel interessant gefunden? Folgen Sie THN auf Facebook, Twitter und LinkedIn, um weitere exklusive Inhalte zu lesen, die wir veröffentlichen.

Einige Teile dieses Artikels stammen aus:
thehackernews.com