Un API pour des communications TCP et UDP directes est en cours de développement pour Chrome.

La société Google a commencé la mise en œuvre d'une nouvelle API dans Chrome Raw Sockets, permettant aux applications web d'établir des connexions réseau directes en utilisant les protocoles TCP et UDP. En 2015, le consortium W3C avait déjà tenté de standardiser l'API «TCP and UDP Socket», mais les membres du groupe de travail n'avaient pas réussi à parvenir à un consensus et le développement de cette API avait été arrêté.

La nécessité d'ajouter une nouvelle API s'explique par le besoin d'interagir avec des appareils réseau utilisant des protocoles propriétaires fonctionnant au-dessus de TCP et UDP, et ne supportant pas les interactions via HTTPS ou WebSockets. Il est noté que l'API Raw Sockets complétera les interfaces de programmation à bas niveau déjà présentes dans le navigateur, telles que WebUSB, WebMIDI et WebBluetooth, permettant d'interagir avec des appareils locaux.

Pour éviter tout impact négatif sur la sécurité, l'API Raw Sockets autorisera uniquement les requêtes réseau initiées avec le consentement de l'utilisateur et limitées à une liste d'hôtes autorisés par l'utilisateur. L'utilisateur devra confirmer explicitement la première tentative de connexion à un nouvel hôte. Grâce à un indicateur spécial, l'utilisateur pourra désactiver l'affichage de requêtes répétées de confirmation lors de connections ultérieures au même hôte. Afin de prévenir les attaques DDoS, l'intensité des requêtes via Raw Sockets sera limitée, et l'envoi de requêtes ne sera possible qu'après une interaction de l'utilisateur avec la page. Les paquets UDP reçus d'hôtes non approuvés par l'utilisateur seront ignorés et ne parviendront pas à l'application web.

La mise en œuvre initiale ne prévoit pas la création de sockets d'écoute, mais il n'est pas exclu qu'à l'avenir des appels pour recevoir des connexions entrantes depuis localhost ou une liste d'hôtes connus soient fournis. Il est également mentionné la nécessité de protection contre les attaques «DNS rebinding» (un attaquant peut changer l'adresse IP d'un nom de domaine approuvé par l'utilisateur au niveau DNS et accéder à d'autres hôtes). L'accès aux domaines résolvant en 127.0.0.0/8 et réseaux intranet est prévu d'être bloqué (les requêtes à localhost devraient être autorisées uniquement avec saisie explicite de l'adresse IP dans le formulaire de confirmation).

Parmi les risques qui pourraient survenir lors de la mise en œuvre d'une nouvelle API, on note son éventuel rejet par les fabricants d'autres navigateurs, ce qui pourrait entraîner des problèmes de compatibilité. Les développeurs des moteurs Mozilla Gecko et WebKit n'ont pas encore formé leur position sur la possible mise en œuvre de l'API Raw Sockets, mais la société Mozilla avait précédemment proposé pour le projet Firefox OS (B2G) une API similaire. En cas d'approbation de l'API Raw Sockets à la première étape, il est prévu de l'activer sur Chrome OS, puis de la proposer aux utilisateurs de Chrome sur d'autres systèmes.

Les développeurs web se sont exprimés positivement à propos de la nouvelle API et ont exprimé de nombreuses idées nouvelles sur son utilisation dans des domaines où les API XMLHttpRequest, WebSocket et WebRTC sont insuffisantes (de la création de clients de navigateur pour SSH, RDP, IMAP, SMTP, IRC et des protocoles d'impression au développement de systèmes répartis P2P avec DHT (Distributed Hash Table), le soutien à l'IPFS et l'interaction avec des protocoles spécifiques aux appareils IoT).

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster