Para Chrome se está desarrollando una API para comunicaciones TCP y UDP directas.

La empresa Google comenzó a implementar una nueva API en Chrome Raw Sockets, que permite a las aplicaciones web establecer conexiones de red directas utilizando protocolos TCP y UDP. En 2015, el consorcio W3C ya había realizado un intento de estandarizar la API de "TCP and UDP Socket", pero los miembros del grupo de trabajo no llegaron a un consenso y el desarrollo de esta API se detuvo.

La necesidad de agregar una nueva API se explica por la posibilidad de interactuar con dispositivos de red que utilizan sus propios protocolos que funcionan sobre TCP y UDP, y que no admiten la interacción a través de HTTPS o WebSockets. Se observa que la API Raw Sockets complementará las interfaces de programación de bajo nivel ya existentes en el navegador, como WebUSB, WebMIDI y WebBluetooth, que permiten interactuar con dispositivos locales.

Para evitar un impacto negativo en la seguridad, la API Raw Sockets solo permitirá solicitudes de red iniciadas con el consentimiento del usuario y limitadas a una lista de hosts autorizados por el usuario. El usuario deberá confirmar explícitamente el primer intento de conexión a un nuevo host. A través de una bandera especial, el usuario podrá desactivar la aparición de solicitudes de confirmación para conexiones repetidas al mismo host. Para prevenir ataques DDoS, la intensidad de las solicitudes a través de Raw Sockets estará limitada, y el envío de solicitudes solo será posible después de que el usuario interactúe con la página. Los paquetes UDP recibidos de hosts no aprobados por el usuario serán ignorados y no llegarán a la aplicación web.

La implementación inicial no prevé la creación de sockets de escucha, pero en el futuro no se descarta la posibilidad de proporcionar llamadas para aceptar conexiones entrantes desde localhost o una lista de hosts conocidos. También se menciona la necesidad de protección contra ataques de "DNS rebinding" (un atacante puede cambiar la dirección IP de un nombre de dominio aprobado por el usuario a nivel de DNS y acceder a otros hosts). Se planea bloquear el acceso a dominios que se resuelven en 127.0.0.0/8 y a las redes intranet (se sugiere permitir accesos a localhost solo tras ingresar explícitamente la dirección IP en el formulario de confirmación).

Entre los riesgos que pueden surgir al implementar una nueva API se menciona su posible rechazo por parte de fabricantes de otros navegadores, lo que podría causar problemas de compatibilidad. Los desarrolladores de los motores Mozilla Gecko y WebKit aún no han definido su posición sobre la posible implementación de la API Raw Sockets, pero anteriormente la compañía Mozilla ya había propuesto una API similar. En caso de aprobación en la primera fase, se planea activar la API Raw Sockets en Chrome OS, y luego ofrecerla a los usuarios de Chrome en otros sistemas.

Los desarrolladores web se han mostrado positivos respecto a la nueva API y han expresado muchas ideas nuevas sobre su aplicación en áreas donde las APIs XMLHttpRequest, WebSocket y WebRTC son insuficientes (desde la creación de clientes de navegador para SSH, RDP, IMAP, SMTP, IRC y protocolos de impresión hasta el desarrollo de sistemas P2P distribuidos con DHT (Tabla Hash Distribuida), soporte para IPFS y la interacción con protocolos específicos de dispositivos IoT).

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster