UPNP s’interprète comme suit : pour un ordinateur privé, la fonction UPnP de BitComet peut faire en sorte que le module NAT de la passerelle ou du routeur effectue un mappage automatique des ports, et mappe le port que BitComet écoute de la passerelle ou du routeur vers l’ordinateur intranet. Le module de pare-feu réseau de la passerelle ou du routeur commence à ouvrir ce port vers d’autres ordinateurs sur Internet. La technologie de traversée NAT permet aux applications web de détecter si elles se trouvent derrière un appareil NAT compatible UPnP. Ces programmes obtiennent ensuite une adresse IP globale routable partagée et configurent le mappage des ports pour transférer les paquets des ports externes NAT vers les ports internes utilisés par l’application – le tout automatiquement, sans que les utilisateurs aient besoin de mapper manuellement les ports ou de faire quoi que ce soit d’autre. La technologie de traversée NAT permet aux dispositifs réseau ou aux applications pair-à-pair de communiquer avec l’extérieur via des passerelles NAT en ouvrant et fermant dynamiquement les ports de communication avec des services externes. En d’autres termes, cela peut se résumer ainsi : l’efficacité de conversion d’un NAT simple n’est pas élevée, et si la technologie UPNP est lancée, l’efficacité de la conversion des données NAT peut être améliorée. Ça a l’air d’une bonne chose. Mais quoi???
L’UPNP présente de sérieuses lacunes : Voici un extrait :
Le premier défaut est que l’utilisation des tampons n’est pas vérifiée et restreinte. Les attaquants externes peuvent obtenir des privilèges de contrôle sur l’ensemble du système grâce à cela ! Puisque la fonction UPnp doit utiliser les ports de l’ordinateur pour fonctionner, un attaquant qui prend le contrôle peut également utiliser ces ports pour atteindre son objectif. Les conséquences de ce défaut sont très graves, quelle que soit la version du système Windows, tant qu’UPnP fonctionne, il y a ce danger ! Mais strictement parlant, ce n’est pas entièrement un problème lié à la technologie UPnP elle-même, mais plutôt un oubli de programmation. Le second défaut concerne le mécanisme de fonctionnement de l’UPnP. Le défaut existe lors de la phase de « découverte du dispositif » lorsque UPnP fonctionne. La découverte d’un appareil peut se diviser en deux situations : si un ordinateur compatible UPnP démarre avec succès et se connecte au réseau, il enverra immédiatement une « diffusion » au réseau, informant l’appareil UPnP sur le réseau qu’il est prêt, et au niveau de la programmation, le contenu diffusé est une instruction M-SEARCH (message). La diffusion sera « entendue » par tous les appareils à la « portée sonore ». Et de rétroalimenter ses informations pertinentes à l’ordinateur pour des contrôles ultérieurs. De même, si un appareil est simplement connecté au réseau, il enverra également une « notification » au réseau indiquant qu’il est prêt à accepter le contrôle depuis le réseau, ce qui est une indication NOTIFY au niveau de la programmation. Elle sera également acceptée par tous les ordinateurs dans la plage de « portée sonore ». L’ordinateur « détectera » que l’appareil s’est « rapporté à lui-même ». En fait, les instructions NOTIFY ne sont pas seulement envoyées aux ordinateurs, mais peuvent aussi être entendues par d’autres dispositifs réseau. C’est dans la diffusion et l’écoute mentionnées ci-dessus qu’il y a un problème ! Si un hacker envoie une instruction NOTIFY au système d’un utilisateur, celui-ci reçoit cette instruction NOTIFY et se connecte à un serveur spécifique selon ses instructions, puis demande un service de téléchargement au serveur correspondant – téléchargez le contenu du service à exécuter. Le serveur répondra bien sûr à cette demande. Le système de service UPnP expliquera la description de l’appareil, demandera l’envoi de plus de fichiers, et le serveur devra répondre à ces demandes. De cette façon, un cycle « requête-réponse » se forme, qui occupe une grande quantité de ressources système et ralentit voire arrête la vitesse du service UPnP. Donc, cette faille rendra possible une attaque de « déni de service » !
En fait, en d’autres termes, la fonction UPNP consomme constamment ses propres ressources réseau pendant la phase d’utilisation, et lorsque les ressources réseau de l’appareil sont épuisées, il y aura un phénomène d’animation suspendue. Regardez simplement les informations ci-dessus. |