Une API pour les communications directes TCP et UDP est en cours de développement pour Chrome

Google a commencé pour implémenter une nouvelle API dans Chrome Supports crus, qui permet aux applications Web d'établir des connexions réseau directes à l'aide des protocoles TCP et UDP. En 2015, le consortium W3C tentait déjà de standardiser l'API"Sockets TCP et UDP», mais les membres du groupe de travail ne sont pas parvenus à un consensus et le développement de cette API a été arrêté.

La nécessité d'ajouter une nouvelle API s'explique par la possibilité d'interagir avec des périphériques réseau qui utilisent des protocoles natifs fonctionnant sur TCP et UDP et ne prenant pas en charge la communication via HTTPS ou WebSockets. Il est à noter que l'API Raw Sockets viendra compléter les interfaces de programmation de bas niveau WebUSB, WebMIDI et WebBluetooth déjà disponibles dans le navigateur, qui permettent une interaction avec les appareils locaux.

Pour éviter tout impact négatif sur la sécurité, l'API Raw Sockets autorisera uniquement les appels réseau initiés avec le consentement de l'utilisateur et limités à la liste des hôtes autorisés par l'utilisateur. L'utilisateur devra confirmer explicitement la première tentative de connexion pour le nouvel hôte. À l'aide d'un indicateur spécial, l'utilisateur peut désactiver la sortie de demandes de confirmation d'opération répétées pour des connexions répétées au même hôte. Pour 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 que l'utilisateur ait interagi avec la page. Les paquets UDP reçus d'hôtes non approuvés par l'utilisateur seront ignorés et n'atteindront pas l'application Web.

L'implémentation initiale ne prévoit pas la création de sockets d'écoute, mais à l'avenir, il sera possible de proposer des appels pour accepter les connexions entrantes provenant de localhost ou d'une liste d'hôtes connus. La nécessité de se protéger contre les attaques est également évoquée. »Reliaison DNS"(un attaquant peut modifier l'adresse IP d'un nom de domaine approuvé par l'utilisateur au niveau DNS et accéder à d'autres hôtes). Il est prévu de bloquer l'accès aux domaines résolus en 127.0.0.0/8 et aux réseaux intranet (il est proposé d'autoriser l'accès à localhost uniquement si l'adresse IP est explicitement renseignée dans le formulaire de confirmation).

Parmi les risques qui peuvent survenir lors de la mise en œuvre d'une nouvelle API, il y a 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 sont toujours ça n'a pas marché sa position sur l'éventuelle implémentation de l'API Raw Sockets, mais Mozilla l'avait précédemment proposé pour le projet Firefox OS (B2G) API similaire. Si elle est approuvée dans un premier temps, l'API Raw Sockets devrait être activée sur Chrome OS, puis proposée aux utilisateurs de Chrome sur d'autres systèmes.

développeurs web positivement a répondu à la nouvelle API et a exprimé de nombreuses nouvelles idées sur son application dans des domaines où les API XMLHttpRequest, WebSocket et WebRTC ne suffisent pas (de la création de clients de navigateur pour SSH, RDP, IMAP, SMTP, IRC et protocoles d'impression au développement de systèmes P2P distribués avec DHT (Distributed Hash Table), support IPFS et interaction avec des protocoles spécifiques des appareils IoT).

Source: opennet.ru

Ajouter un commentaire