Per Chrome è in fase di sviluppo un'API per le comunicazioni dirette TCP e UDP

Google iniziato per implementare una nuova API in Chrome Zoccoli grezzi, che consente alle applicazioni web di stabilire connessioni di rete dirette utilizzando i protocolli TCP e UDP. Già nel 2015 il consorzio W3C ha tentato di standardizzare le API"Presa TCP e UDP“, ma i membri del gruppo di lavoro non hanno raggiunto un consenso e lo sviluppo di questa API è stato interrotto.

La necessità di aggiungere una nuova API viene spiegata fornendo la possibilità di interagire con dispositivi di rete che utilizzano protocolli nativi eseguiti su TCP e UDP e non supportano la comunicazione tramite HTTPS o WebSocket. Si segnala che le API Raw Sockets completeranno le interfacce di programmazione di basso livello WebUSB, WebMIDI e WebBluetooth già disponibili nel browser, che consentono l'interazione con i dispositivi locali.

Per evitare un impatto negativo sulla sicurezza, l'API Raw Sockets consentirà solo le chiamate di rete avviate con il consenso dell'utente e limitate all'elenco di host consentiti dall'utente. L'utente dovrà confermare esplicitamente il primo tentativo di connessione per il nuovo host. Utilizzando un apposito flag l'utente può disabilitare la visualizzazione delle richieste di conferma di operazioni ripetute 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 l'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 sarà possibile prevedere chiamate per accettare connessioni in entrata da localhost o da una lista di host conosciuti. Viene menzionata anche la necessità di proteggersi dagli attacchi”Riassociazione DNS"(un utente malintenzionato può modificare l'indirizzo IP di un nome di dominio approvato dall'utente a livello DNS e ottenere l'accesso ad altri host). È previsto il blocco dell'accesso ai domini che risolvono a 127.0.0.0/8 e alle reti intranet (si propone che l'accesso a localhost sia consentito solo se l'indirizzo IP viene esplicitamente inserito nel modulo di conferma).

Tra i rischi che possono sorgere quando si implementa una nuova API c'è il suo possibile rifiuto da parte dei produttori di altri browser, che potrebbe portare a problemi di compatibilità. Gli sviluppatori dei motori Mozilla Gecko e WebKit sono fermi non ha funzionato la sua posizione sulla possibile implementazione delle API Raw Sockets, ma Mozilla aveva precedentemente proposto per il progetto Firefox OS (B2G) API simili. Se approvata nella prima fase, l'API Raw Sockets verrà attivata su Chrome OS e solo successivamente offerta agli utenti Chrome su altri sistemi.

Sviluppatori web positivamente ha risposto alla nuova API e ha espresso molte nuove idee sul suo utilizzo in aree 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 di dispositivi IoT).

Fonte: opennet.ru

Aggiungi un commento