Google per l'implementazione di un nuovo API in Chrome , consentendo alle web app di stabilire connessioni di rete dirette utilizzando i protocolli TCP e UDP. Nel 2015, il consorzio W3C aveva già tentato di standardizzare l'API «», ma i partecipanti al gruppo di lavoro non hanno raggiunto un consenso e lo sviluppo di questa API è stato interrotto.
La necessità di aggiungere un nuovo API è giustificata dalla possibilità di interagire con dispositivi di rete che utilizzano protocolli proprietari che operano sopra TCP e UDP e non supportano interazioni tramite HTTPS o WebSockets. Si segnala che l'API Raw Sockets completerà le interfacce di programmazione a basso livello già presenti nel browser come WebUSB, WebMIDI e WebBluetooth, che consentono l'interazione con i dispositivi locali.
Per escludere impatti negativi sulla sicurezza, l'API Raw Sockets consentirà solo le richieste di rete avviate con il consenso dell'utente e limitate a un elenco di host autorizzati. L'utente dovrà confermare esplicitamente il primo tentativo di connessione a un nuovo host. Con un'apposita opzione, l'utente potrà disattivare la richiesta di conferma per connessioni ripetute allo stesso host. Per prevenire attacchi DDoS, l'intensità delle richieste tramite Raw Sockets sarà limitata e l'invio delle richieste sarà possibile solo dopo che l'utente interagirà con la pagina. I pacchetti UDP ricevuti da host non autorizzati verranno ignorati e non raggiungeranno l'app web.
La prima implementazione non prevede la creazione di socket in ascolto, ma in futuro potrebbero essere forniti invocazioni per accettare connessioni in entrata da localhost o da un elenco di host noti. Si menziona anche la necessità di protezione contro gli attacchi “» (l'attaccante può cambiare l'indirizzo IP per un nome di dominio approvato a livello DNS e accedere ad altri host). L'accesso ai domini che risolvono in 127.0.0.0/8 e alle intranet è previsto per essere bloccato (le richieste a localhost dovrebbero essere consentite solo con l'immissione esplicita dell'indirizzo IP nel modulo di conferma).
Tra i rischi che possono sorgere con l'implementazione di una nuova API, si segnala il suo possibile rifiuto da parte dei produttori di altri browser, il che potrebbe portare a problemi di compatibilità. Gli sviluppatori dei motori Mozilla Gecko e WebKit finora la loro posizione sulla possibile implementazione dell'API Raw Sockets, ma Mozilla in precedenza aveva già proposto . Nel caso venga approvata nella prima fase, l'API Raw Sockets è prevista per essere attivata in Chrome OS e successivamente offerta agli utenti di Chrome su altri sistemi.
Gli sviluppatori web hanno commentato il nuovo API e hanno condiviso molte idee innovative riguardo al suo utilizzo in ambiti dove l'API XMLHttpRequest, WebSocket e WebRTC non sono sufficienti (dalla creazione di client browser per SSH, RDP, IMAP, SMTP, IRC e protocolli di stampa fino allo sviluppo di sistemi P2P distribuiti con DHT (Distributed Hash Table), supporto per IPFS e interazione con protocolli specifici per dispositivi IoT).
Fonte: opennet.ru
