3. Modèle de menace du navigateur
3. Modèle de menace du navigateur
Le modèle de sécurité Web [RFC6454] repose sur le concept d'"origines" (origins). En bref, une origine consiste en un tuple de protocole, d'hôte et de port ; par exemple, l'origine de https://example.com/ est (https, example.com, 443). (Voir [RFC6454] pour les détails). Lorsqu'un navigateur envoie une requête à une origine donnée, il agit au nom du principal qui a initié la requête (par exemple, un script de https://trusted.com/). La règle de sécurité fondamentale du Web est la politique de même origine (Same-Origin Policy, SOP), qui stipule que les ressources d'une origine ne devraient pas être accessibles aux scripts d'une autre origine, à moins que l'origine de la ressource n'autorise explicitement un tel accès (par exemple, via Cross-Origin Resource Sharing (CORS) [fetch]).
WebRTC introduit un nouveau canal de communication pour le Web, aux côtés de HTTP (et des WebSockets). Ce canal diffère de HTTP de plusieurs manières importantes :
- Il permet d'envoyer des données arbitraires (via le DataChannel).
- Il permet d'envoyer des médias (audio et vidéo).
- Il route généralement via UDP (bien que TCP soit également pris en charge).
- Il peut être pair-à-pair (P2P), ce qui signifie que les données vont directement entre les navigateurs plutôt que via un serveur.
Ces différences introduisent de nouvelles menaces qui doivent être atténuées par l'architecture WebRTC.
3.1 Nouvelles cibles
Étant donné que WebRTC permet d'envoyer des données à des adresses IP et des ports arbitraires (sous réserve des vérifications ICE [RFC8445]), des scripts malveillants pourraient potentiellement utiliser le navigateur de l'utilisateur pour attaquer des services qui ne sont pas accessibles depuis l'Internet public mais qui sont accessibles depuis la machine de l'utilisateur (par exemple, intranets, routeurs domestiques). C'est ce qu'on appelle l'attaque "carte d'appel" (calling card).
3.2 Nouveaux types de données
WebRTC permet d'envoyer de l'audio et de la vidéo en temps réel. Si un site malveillant peut accéder à la caméra et au microphone de l'utilisateur sans consentement, il peut espionner l'utilisateur.
3.3 Déni de service
Étant donné que WebRTC peut générer un trafic à large bande passante, il pourrait potentiellement être utilisé pour des attaques par déni de service (DoS).