Per Chrome si sta sviluppando un'API per la comunicazione TCP e UDP diretta

Azienda Google ha iniziato l'implementazione in Chrome di una nuova API Raw Sockets, che consente alle applicazioni web di stabilire connessioni di rete dirette utilizzando i protocolli TCP e UDP. Nel 2015, il consorzio W3C ha già tentato di standardizzare l'API «TCP and UDP Socket», ma i partecipanti al gruppo di lavoro non hanno raggiunto un consenso e lo sviluppo di questa API è stato interrotto.

La necessità di aggiungere una nuova API è giustificata dalla possibilità di interagire con dispositivi di rete che utilizzano protocolli proprietari, operanti sopra TCP e UDP, e che non supportano l'interazione tramite HTTPS o WebSockets. Si osserva che l'API Raw Sockets completerà le interfacce programmatiche di basso livello già esistenti nel browser come WebUSB, WebMIDI e WebBluetooth, permettendo l'interazione con dispositivi locali.

Per escludere effetti negativi sulla sicurezza, l'API Raw Sockets consentirà richieste di rete solo se inziate con il consenso dell'utente e limitate a un elenco di host autorizzati dall'utente. L'utente dovrà confermare esplicitamente il primo tentativo di connessione per un nuovo host. Tramite un'apposita flag, l'utente potrà disattivare la visualizzazione di richieste di conferma ripetute per connessioni successive allo stesso host. Per prevenire attacchi DDoS, l'intensità delle richieste tramite Raw Sockets sarà limitata, e l'invio di richieste sarà possibile solo dopo interazione dell'utente con la pagina. I pacchetti UDP ricevuti da host non approvati dall'utente verranno ignorati e non raggiungeranno l'applicazione web.

L'implementazione iniziale non prevede la creazione di socket in ascolto, ma in futuro non si esclude la fornitura di chiamate per accettare connessioni in entrata da localhost o da un elenco di host noti. Si menziona anche la necessità di protezione contro gli attacchi «DNS rebinding» (un attaccante può cambiare a livello DNS l'indirizzo IP per un nome di dominio approvato dall'utente e accedere ad altri host). Si prevede di bloccare l'accesso ai domini che si traducono in 127.0.0.0/8 e alle intranet (si propone di consentire le richieste a localhost solo con inserimento esplicito dell'indirizzo IP nella forma di conferma).

Tra i rischi che possono sorgere durante l'implementazione del nuovo API, si segnala il possibile rifiuto da parte dei produttori di altri browser, il che potrebbe generare problemi di compatibilità. Gli sviluppatori dei motori Mozilla Gecko e WebKit non hanno ancora formulato una posizione riguardo all'eventuale implementazione dell'API Raw Sockets, ma la Mozilla aveva già proposto in precedenza un'API simile. Se l'API Raw Sockets verrà approvata nella fase iniziale, si prevede di attivarla su Chrome OS, per poi proporla agli utenti di Chrome in altri sistemi.

Gli sviluppatori web hanno espresso un parere positivo riguardo al nuovo API e hanno avanzato molte idee innovative per il suo utilizzo in ambiti in cui le API XMLHttpRequest, WebSocket e WebRTC non sono sufficienti (dalla creazione di client browser per SSH, RDP, IMAP, SMTP, IRC e protocolli di stampa allo sviluppo di sistemi P2P distribuiti con DHT (Distributed Hash Table), supporto IPFS e interazione con protocolli specifici per dispositivi IoT).

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster