Za Chrome se razvija API za izravnu TCP i UDP komunikaciju

Google započeo za implementaciju novog API-ja u Chrome Sirove utičnice, koji omogućuje web aplikacijama uspostavljanje izravnih mrežnih veza pomoću TCP i UDP protokola. 2015. konzorcij W3C već je pokušao standardizirati API "TCP i UDP utičnica“, no članovi radne skupine nisu postigli konsenzus i razvoj ovog API-ja je zaustavljen.

Potreba za dodavanjem novog API-ja objašnjena je pružanjem mogućnosti interakcije s mrežnim uređajima koji koriste izvorne protokole koji rade povrh TCP-a i UDP-a i ne podržavaju komunikaciju putem HTTPS-a ili WebSockets-a. Napominje se da će Raw Sockets API nadopuniti programska sučelja niske razine WebUSB, WebMIDI i WebBluetooth koja su već dostupna u pregledniku, a koja omogućuju interakciju s lokalnim uređajima.

Kako bi se izbjegao negativan utjecaj na sigurnost, Raw Sockets API će dopustiti samo mrežne pozive pokrenute uz korisnikov pristanak i ograničene na popis hostova koje korisnik dopušta. Korisnik će morati eksplicitno potvrditi prvi pokušaj povezivanja za novi host. Koristeći posebnu zastavu, korisnik može onemogućiti prikaz ponovljenih zahtjeva za potvrdom operacije za ponovljene veze na isti host. Kako bi se spriječili DDoS napadi, intenzitet zahtjeva putem Raw Socketa bit će ograničen, a slanje zahtjeva bit će moguće tek nakon interakcije korisnika sa stranicom. UDP paketi primljeni od hostova koje korisnik nije odobrio bit će zanemareni i neće doći do web aplikacije.

Početna implementacija ne predviđa stvaranje slušajućih utičnica, ali u budućnosti je moguće omogućiti pozive za prihvaćanje dolaznih veza s lokalnog hosta ili popisa poznatih hostova. Također se spominje potreba zaštite od napada "Ponovno povezivanje DNS-a"(napadač može promijeniti IP adresu za naziv domene koji je odobrio korisnik na razini DNS-a i dobiti pristup drugim hostovima). Predviđeno je blokiranje pristupa domenama koje rješavaju 127.0.0.0/8 i intranet mrežama (predlaže se dopustiti pristup localhostu samo ako je IP adresa eksplicitno upisana u obrazac za potvrdu).

Među rizicima koji se mogu pojaviti prilikom implementacije novog API-ja je njegovo moguće odbijanje od strane proizvođača drugih preglednika, što bi moglo dovesti do problema s kompatibilnošću. Programeri motora Mozilla Gecko i WebKit i dalje su nije išlo svoje stajalište o mogućoj implementaciji API-ja Raw Sockets, ali Mozilla je prethodno predložila projekt Firefox OS (B2G) sličan API. Ako bude odobren u prvoj fazi, Raw Sockets API planira se aktivirati na Chrome OS-u, a tek potom ponuditi korisnicima Chromea na drugim sustavima.

Web programeri pozitivno odgovorili su na novi API i izrazili mnoge nove ideje o njegovoj primjeni u područjima gdje API-ji XMLHttpRequest, WebSocket i WebRTC nisu dovoljni (od stvaranja klijenata preglednika za SSH, RDP, IMAP, SMTP, IRC i protokole ispisa do razvoja distribuiranih P2P sustava s DHT (Distributed Hash Table), IPFS podrška i interakcija s određenim protokolima IoT uređaja).

Izvor: opennet.ru

Dodajte komentar