Uma API para comunicações diretas TCP e UDP está sendo desenvolvida para o Chrome

Google iniciado implementar uma nova API no Chrome Tomadas cruas, que permite que aplicativos da web estabeleçam conexões diretas de rede usando os protocolos TCP e UDP. Em 2015, o consórcio W3C já tentou padronizar a API "Soquete TCP e UDP“, mas os membros do grupo de trabalho não chegaram a um consenso e o desenvolvimento desta API foi interrompido.

A necessidade de adicionar uma nova API é explicada pelo fornecimento da capacidade de interagir com dispositivos de rede que usam protocolos nativos executados em TCP e UDP e não suportam comunicação via HTTPS ou WebSockets. Ressalta-se que a API Raw Sockets complementará as interfaces de programação de baixo nível WebUSB, WebMIDI e WebBluetooth já disponíveis no navegador, que permitem a interação com dispositivos locais.

Para evitar impacto negativo na segurança, a API Raw Sockets só permitirá chamadas de rede iniciadas com o consentimento do usuário e limitadas à lista de hosts permitidos pelo usuário. O usuário terá que confirmar explicitamente a primeira tentativa de conexão para o novo host. Usando um sinalizador especial, o usuário pode desabilitar a exibição de solicitações repetidas de confirmação de operação para conexões repetidas com o mesmo host. Para evitar ataques DDoS, a intensidade de solicitações via Raw Sockets será limitada, e o envio de solicitações só será possível após a interação do usuário com a página. Pacotes UDP recebidos de hosts não aprovados pelo usuário serão ignorados e não chegarão à aplicação web.

A implementação inicial não prevê a criação de soquetes de escuta, mas no futuro será possível fornecer chamadas para aceitar conexões de entrada de localhost ou de uma lista de hosts conhecidos. Também é mencionada a necessidade de proteção contra ataques”Religação de DNS"(um invasor pode alterar o endereço IP de um nome de domínio aprovado pelo usuário no nível DNS e obter acesso a outros hosts). Está planejado bloquear o acesso a domínios que resolvem para 127.0.0.0/8 e redes intranet (propõe-se que o acesso ao host local seja permitido apenas se o endereço IP for explicitamente inserido no formulário de confirmação).

Entre os riscos que podem surgir ao implementar uma nova API está a sua possível rejeição por fabricantes de outros navegadores, o que pode gerar problemas de compatibilidade. Os desenvolvedores dos motores Mozilla Gecko e WebKit ainda estão não deu certo sua posição sobre a possível implementação da API Raw Sockets, mas a Mozilla já havia proposto para o projeto Firefox OS (B2G) API semelhante. Se aprovada na primeira etapa, a API Raw Sockets está prevista para ser ativada no Chrome OS, e só então oferecida aos usuários do Chrome em outros sistemas.

Desenvolvedores web positivamente respondeu à nova API e expressou muitas ideias novas sobre sua aplicação em áreas onde as APIs XMLHttpRequest, WebSocket e WebRTC não são suficientes (desde a criação de clientes de navegador para SSH, RDP, IMAP, SMTP, IRC e protocolos de impressão até o desenvolvimento de sistemas P2P distribuídos com DHT (Distributed Hash Table), suporte IPFS e interação com protocolos específicos de dispositivos IoT).

Fonte: opennet.ru

Adicionar um comentário