Was ist ein XS-Leak oder Cross-Site-Leak?

Ein XS-Leak oder Cross-Site-Leak definiert eine Klasse von Schwachstellen, die aus in Web-Plattformen implementierten Seitenkanälen resultiert.

Grund-Prinzip von XS-Leaks

Das Prinzip von XS-Leaks besteht darin, solche im Web verfügbaren Seitenkanäle zu nutzen, um sensible Informationen über Benutzer preiszugeben, wie z. B. ihre Daten in anderen Webanwendungen, Details über ihre lokale Umgebung oder interne Netzwerke, mit denen sie verbunden sind.

Wie funktionieren XS-Leaks?

XS-Leaks nutzen das Kernprinzip des Webs, die sogenannte Kompositionsfähigkeit, aus, die es Websites ermöglicht, miteinander zu interagieren. Dabei missbrauchen Cross-Site-Leaks legitime Mechanismen, um Informationen über einen Benutzer abzuleiten.

Eine Möglichkeit, XS-Leaks zu betrachten, besteht darin, ihre Ähnlichkeit mit der Technik der Cross-Site Request Forgery (CSRF 3) zu verdeutlichen. Hierbei besteht der Hauptunterschied darin, dass XS-Leaks nicht etwa anderen Websites erlaubt, Aktionen im Namen eines Benutzers durchzuführen, sondern dazu verwendet werden kann, Informationen über einen Benutzer abzuleiten. Somit geht es also um das Ausspähen sensibler Benutzerinformationen. Das Wissen XS-Leak-Schwachstellen steigert folglich die IT-Sicherheit insgesamt.

Welche Risiken bestehen durch Cross-Site-Attacken?

Webbrowser bieten eine Vielzahl von Funktionen zur Unterstützung von Interaktionen. Über solche Browser-Funktionen fließen alle relevanten Daten zwischen verschiedenen Webanwendungen, also zwischen Nutzer und einer Anwendung.

Diese Daten, die  mit Hilfe dieser Funktionen bereitgestellt werden, ermöglichen es beispielsweise einer Website, Subressourcen zu laden, zu navigieren oder Nachrichten an eine andere Anwendung zu senden.

Die Wirksamkeit der Same-Origin-Policy unterwandern

Während solche Verhaltensweisen in der Regel durch in die Webplattform eingebaute Sicherheitsmechanismen (z. B. die Same-Origin-Policy) eingeschränkt werden, nutzen XS-Leaks kleine Informationen aus, die während der Interaktion zwischen Websites offengelegt werden. Dazu zählen auch Meta-Daten die während dieser Kommunikation ausgetauscht werden.

Indirekter Zugriff auf schützenswerte Ressourcen

Auch wenn Websites nicht direkt auf Daten anderer Websites zugreifen dürfen, können sie aber Ressourcen von ihnen laden und die Nebeneffekte beobachten.

Zum Beispiel ist es evil.com verboten, explizit eine Antwort von bank.com zu lesen, aber evil.com kann versuchen, ein Skript von bank.com zu laden und feststellen, ob es erfolgreich geladen wurde oder nicht.

XS-Leak-Beispiele

Die für ein XS-Leak verwendeten Informationen haben in der Regel eine binäre Form (also o und 1 oder TRUE und FALSE) und werden als „Orakel“ bezeichnet. Ein potentieller Angreifer gewinnt durchaus schützenswerte Informationen oder zumindest für einen Angriff direkt nutzbare Informationen, beispielsweise:

  • Erscheint das Wort „geheim“ im Datenfluss des Benutzers zu einer anderen Webanwendung?

Diese Frage könnte gleichbedeutend mit der Frage sein:

  • Liefert die Abfrage ?query=secret einen HTTP 200 Statuscode?

HTTP Statuscodes & Secrets

Da es möglich ist, den HTTP 200-Statuscode mit Fehlerereignissen zu ermitteln, hat dies denselben Effekt wie die Frage:

  • Löst das Laden einer Ressource von ?query=secret in der Anwendung das Ereignis onload aus?

Die obige Abfrage könnte von einem Angreifer für viele verschiedene Schlüsselwörter wiederholt werden, so dass die Antworten dazu verwendet werden könnten, sensible Informationen über die Daten des Benutzers abzuleiten.

Browser bieten eine Vielzahl verschiedener APIs, die zwar gut gemeint sind, aber dennoch kleine Mengen an herkunftsübergreifenden Informationen preisgeben können.

Gründe und Ursachen von XS-Leaks

Die Ursache für die meisten XS-Leaks liegt im Design des Webs begründet, deshalb ist es unverzichtbar dass Du über solides Wissen dieser Technologien verfügst.

Oftmals sind Anwendungen für seitenübergreifende Informationslecks anfällig, ohne dass sie etwas falsch gemacht haben. Es ist schwierig, die Ursache von XS-Leaks auf der Browserebene zu beheben, da dies in vielen Fällen bestehende Websites zerstören würde.

Aus diesem Grund implementieren die Browser jetzt verschiedene Verteidigungsmechanismen, um diese Schwierigkeiten zu überwinden. Viele dieser Abwehrmechanismen erfordern, dass sich Websites und Apps, die über URLS auf schützenswerte Ressourcen zugreifen, für ein restriktiveres Sicherheitsmodell entscheiden. Dies geschieht in der Regel durch die Verwendung bestimmter HTTP-Header (z. B. Cross-Origin-Opener-Policy: same-origin), die oft kombiniert werden müssen, um das gewünschte Ergebnis zu erzielen.

Wir können verschiedene Quellen von XS-Leaks unterscheiden, wie z.B.:

  • Browser-APIs (z. B. Frame-Counting und Timing-Attacken)
  • Details und Fehler in der Browser-Implementierung (z. B. Connection Pooling und typeMustMatch)
  • Hardware-Fehler (z. B. spekulative Ausführungsangriffe)

Verteidigungsstrategien gegen XS-Leaks

  1. Isolierung durch Browsereinstellungen: Sicherheitsheader wie Cross-Origin-Opener-Policy (COOP) und Cross-Origin-Embedder-Policy (COEP) ermöglichen es, den Informationsaustausch zwischen verschiedenen Ursprüngen zu kontrollieren und zu minimieren.
  2. Content Security Policy (CSP): Eine gezielte Konfiguration von CSP kann dazu beitragen, unerwünschte Inhalte zu blockieren und damit XS-Leaks zu verhindern.
  3. Ressourcen-Restriktionen: Minimieren Sie die Verfügbarkeit bestimmter Ressourcen (z. B. durch serverseitige Authentifizierung), um sensible Daten besser zu schützen.

Beispiele für XS-Leaks im Detail

  1. Frame-Counting: Angreifer nutzen Unterschiede in der Anzahl geladener Frames, um Rückschlüsse auf Benutzeraktivitäten zu ziehen.
  2. Timing-Angriffe: Indem sie Ladezeiten messen, können Angreifer feststellen, ob eine spezifische Ressource auf einer anderen Domain existiert.
  3. CSS-basierte Leaks: Stilprüfungen mit CSS-Eigenschaften wie :visited können indirekt Informationen über besuchte Seiten liefern.

Warum sind XS-Leaks schwer zu verhindern?

XS-Leaks entstehen oft aufgrund von grundlegenden Web-Standards, die für die Interoperabilität von Diensten notwendig sind. Änderungen an diesen Standards würden zahlreiche bestehende Webanwendungen gefährden. Daher setzen Sicherheitsmaßnahmen auf den Browser und spezifische Schutzkonfigurationen, die von Entwicklern aktiviert werden müssen.

Rock the Prototype Podcast

Der Rock the Prototype Podcast und der Rock the Prototype YouTube-Kanal sind die perfekte Anlaufstelle für alle, die tiefer in die Welt der Softwareentwicklung, des Prototypings und IT-Technologie eintauchen wollen.

🎧 Listen on Spotify: 👉 Spotify Podcast: spoti.fi/3NJwdLJ

🍎 Enjoy on Apple Podcasts: 👉 Apple Podcasts: apple.co/3CpdfTs

Im Podcast erwarten dich spannende Diskussionen und wertvolle Insights zu aktuellen Trends, Tools und Best Practices – ideal, um unterwegs am Ball zu bleiben und frische Perspektiven für eigene Projekte zu gewinnen. Auf dem YouTube-Kanal findest du praxisnahe Tutorials und Schritt-für-Schritt-Anleitungen, die technische Konzepte anschaulich erklären und dir helfen, direkt in die Umsetzung zu gehen.

Rock the Prototype YouTube Channel

🚀 Rock the Prototype ist 👉 Dein Format rund um spannende Themen wie Softwareentwicklung, Prototyping, Softwarearchitektur, Cloud, DevOps & vieles mehr.

📺 👋 Rock the Prototype YouTube Channel 👈  👀 

✅ Softwareentwicklung & Prototyping

Programmieren lernen

✅ Software Architektur verstehen

✅ Agile Teamwork

✅ Prototypen gemeinsam erproben

THINK PROTOTYPING – PROTOTYPE DESIGN – PROGRAMMIEREN & DURCHSTARTEN – JETZT MITMACHEN!

Warum es sich lohnt, regelmäßig vorbeizuschauen?

Beide Formate ergänzen sich perfekt: Im Podcast kannst du ganz entspannt Neues lernen und inspirierende Denkanstöße bekommen, während du auf YouTube das Gelernte direkt in Aktion siehst und wertvolle Tipps zur praktischen Anwendung erhältst.

Egal, ob du gerade erst mit der Softwareentwicklung anfängst, Dich für Prototyping, UX Design oder IT Security begeisterst. Wir bieten Dir neue Technologie Trends die wirklich relevant sind – und mit dem Rock the Prototype Format findest du immer relevante Inhalte, um dein Wissen zu erweitern und deine Skills auf das nächste Level zu heben!