- Un VPN est une technologie qui crée un tunnel pour le trafic réseau entre l’appareil d’un utilisateur et un serveur situé sur un autre réseau. Le réseau virtuel ainsi créé fonctionne comme un réseau physique, sans être limité par la localisation géographique.
- Le client VPN crée une interface réseau virtuelle, chiffre/déchiffre le trafic, puis l’envoie vers l’interface réseau physique.
- Les VPN sont conçus pour être aussi simples que possible pour l’utilisateur, et n’exigent généralement pas grand-chose de plus qu’une connexion et un clic sur un bouton.
- Comme un VPN transporte un trafic réseau de bas niveau via Internet, il augmente en réalité la surface d’attaque de l’hôte. Il encapsule le trafic LAN sur Internet et crée ainsi un réseau local (LAN) sur Internet.
- Les VPN atténuent cette surface d’attaque LAN étendue à l’aide de contrôles compensatoires, comme le chiffrement des paquets. En revanche, ils ne protègent pas l’utilisateur contre les attaques réseau locales sur le LAN physique.
DHCP et l’option DHCP 121
- DHCP est un protocole qui attribue dynamiquement des adresses IP et fournit des options permettant d’ajuster à distance la configuration des appareils.
- L’option DHCP 121 permet aux administrateurs d’ajouter des routes statiques à la table de routage du client.
- Une caractéristique intéressante de l’option DHCP 121 est que le serveur DHCP ne peut pas spécifier sur quelle interface réseau installer les routes. À la place, le client DHCP choisit implicitement l’interface réseau utilisée pour communiquer avec le serveur DHCP lorsqu’il installe les règles de routage liées à cette option.
Conditions et déroulement de l’attaque Decloaking
- L’hôte ciblé doit accepter un bail DHCP provenant d’un serveur DHCP contrôlé par l’attaquant.
- Le client DHCP de l’hôte ciblé doit implémenter l’option DHCP 121.
- L’attaquant exécute un serveur DHCP sur le même réseau que l’utilisateur du VPN et se définit comme passerelle dans la configuration DHCP.
- Il configure ensuite des routes dans la table de routage de l’utilisateur du VPN à l’aide de l’option DHCP 121.
- Grâce à ce routage, le trafic réseau est envoyé via l’interface réseau qui communique avec le serveur DHCP, et non via l’interface virtuelle du VPN.
- Le trafic est donc transmis en dehors du tunnel chiffré du VPN, tandis que le canal de contrôle du VPN reste intact, ce qui fait que le VPN se considère toujours comme connecté.
Systèmes affectés
- La plupart des systèmes d’exploitation, dont Windows, Linux, iOS et macOS, sont affectés s’ils implémentent le client DHCP conformément à la RFC et prennent en charge les routes de l’option DHCP 121. (Android n’est pas affecté, car il ne prend pas en charge l’option DHCP 121)
- Les VPN qui reposent uniquement sur des règles de routage pour protéger le trafic de l’hôte sont vulnérables.
- Si vous hébergez votre propre serveur VPN, vous pouvez être vulnérable si la configuration du client VPN n’est pas durcie.
- L’impact est indépendant du protocole VPN sous-jacent (
WireGuard, OpenVPN, IPsec, etc.), car l’attaque reconfigure la pile réseau de l’OS sur laquelle le VPN s’appuie.
Mesures d’atténuation et limites
- L’utilisation des network namespaces de Linux permet de résoudre complètement ce problème, mais cette approche est généralement peu implémentée.
- Certains fournisseurs de VPN ont été observés en train de bloquer le trafic entrant/sortant sur l’interface physique via des règles de pare-feu, mais il ne s’agit que d’une atténuation partielle.
- Ignorer l’option DHCP 121 est aussi une mesure d’atténuation possible, mais cela peut interrompre la connectivité réseau.
- Utiliser un hotspot ou une VM peut aider, car cela complique l’obtention d’un accès au réseau local pour l’attaquant.
- Si une confidentialité absolue du trafic est requise, la meilleure défense reste d’éviter les réseaux non fiables.
L’avis de GN⁺
- Les VPN n’ont pas été conçus pour atténuer les attaques LAN sur le réseau physique. Les affirmations marketing de certains fournisseurs laissant entendre qu’un VPN protège les clients sur des réseaux non fiables peuvent donc être trompeuses. Les fournisseurs de VPN devraient documenter publiquement les correctifs ou mesures d’atténuation liés à TunnelVision et en informer leurs utilisateurs.
- Les VPN d’entreprise sont souvent utilisés dans des cafés, hôtels, aéroports et autres lieux similaires. Les administrateurs réseau devraient donc informer les employés des risques liés au travail dans ces environnements et leur recommander de les éviter autant que possible. Ils devraient également mettre en œuvre des protocoles chiffrés comme HTTPS sur les ressources internes afin d’éviter les fuites de données provoquées par des utilisateurs se connectant via VPN depuis des réseaux non fiables.
- Comme la majorité du trafic Internet est protégée par HTTPS, l’échec du VPN n’exposera probablement pas la plupart des données utilisateur à un attaquant présent sur le réseau local. En revanche, les flux sensibles nécessitent une vigilance particulière.
- Les mainteneurs d’OS, à l’exception de Linux, devraient vérifier s’il est possible d’ajouter ou d’améliorer des fonctionnalités liées aux network namespaces.
- Cette technique ne viole pas les propriétés de sécurité de la technologie VPN elle-même, mais elle contredit les garanties avancées par les fournisseurs de VPN, ce qui justifie de la considérer comme une vulnérabilité. Les chercheurs estiment que cette technique est possible depuis 2002 et ont décidé de publier leurs travaux afin d’alerter largement les parties concernées.
1 commentaires
Avis Hacker News
Résumé :