Zum Hauptinhalt springen

3. Browser-Bedrohungsmodell

3. Browser-Bedrohungsmodell

Das Web-Sicherheitsmodell [RFC6454] beruht auf dem Konzept der "Ursprünge" (Origins). Kurz gesagt besteht ein Ursprung aus einem Tupel von Protokoll, Host und Port; zum Beispiel ist der Ursprung von https://example.com/ (https, example.com, 443). (Siehe [RFC6454] für die Details). Wenn ein Browser eine Anfrage an einen bestimmten Ursprung sendet, handelt er im Namen des Prinzipals, der die Anfrage initiiert hat (z.B. ein Skript von https://trusted.com/). Die grundlegende Sicherheitsregel des Webs ist die Same-Origin Policy (SOP), die besagt, dass Ressourcen von einem Ursprung nicht für Skripte von einem anderen Ursprung zugänglich sein sollten, es sei denn, der Ursprung der Ressource stimmt einem solchen Zugriff ausdrücklich zu (z.B. über Cross-Origin Resource Sharing (CORS) [fetch]).

WebRTC führt einen neuen Kommunikationskanal für das Web ein, neben HTTP (und WebSockets). Dieser Kanal unterscheidet sich von HTTP in mehreren wichtigen Punkten:

  1. Er erlaubt das Senden beliebiger Daten (über den DataChannel).
  2. Er erlaubt das Senden von Medien (Audio und Video).
  3. Er routet im Allgemeinen über UDP (obwohl TCP ebenfalls unterstützt wird).
  4. Er kann Peer-to-Peer (P2P) sein, was bedeutet, dass Daten direkt zwischen Browsern statt über einen Server gesendet werden.

Diese Unterschiede führen neue Bedrohungen ein, die durch die WebRTC-Architektur gemindert werden müssen.

3.1 Neue Ziele

Da WebRTC das Senden von Daten an beliebige IP-Adressen und Ports erlaubt (vorbehaltlich ICE-Prüfungen [RFC8445]), könnten bösartige Skripte potenziell den Browser des Benutzers verwenden, um Dienste anzugreifen, die nicht aus dem öffentlichen Internet, aber vom Computer des Benutzers aus zugänglich sind (z.B. Intranets, Heimrouter). Dies ist als "Calling Card"-Angriff bekannt.

3.2 Neue Datentypen

WebRTC erlaubt das Senden von Echtzeit-Audio und -Video. Wenn eine bösartige Seite ohne Zustimmung auf Kamera und Mikrofon des Benutzers zugreifen kann, kann sie den Benutzer ausspionieren.

3.3 Denial of Service

Da WebRTC Datenverkehr mit hoher Bandbreite erzeugen kann, könnte es potenziell für Denial-of-Service (DoS)-Angriffe verwendet werden.