API za direktnu TCP i UDP komunikaciju se razvija za Chrome

Google počeo za implementaciju novog API-ja u Chromeu Raw Sockets, koji omogućava web aplikacijama da uspostave direktne mrežne veze koristeći TCP i UDP protokole. 2015. godine, W3C konzorcij je već pokušao standardizirati API"TCP i UDP utičnica“, ali članovi radne grupe nisu postigli konsenzus i razvoj ovog API-ja je zaustavljen.

Potreba za dodavanjem novog API-ja se objašnjava pružanjem mogućnosti interakcije sa mrežnim uređajima koji koriste izvorne protokole koji rade na TCP i UDP-u i ne podržavaju komunikaciju putem HTTPS-a ili WebSockets-a. Napominje se da će Raw Sockets API nadopuniti programska sučelja niskog nivoa WebUSB, WebMIDI i WebBluetooth koji su već dostupni u pretraživaču, koji omogućavaju interakciju s lokalnim uređajima.

Kako bi se izbjegao negativan utjecaj na sigurnost, Raw Sockets API će dozvoliti samo mrežne pozive inicirane uz pristanak korisnika i ograničene na listu hostova koje korisnik dozvoli. Korisnik će morati eksplicitno potvrditi prvi pokušaj povezivanja za novi host. Koristeći posebnu zastavicu, korisnik može onemogućiti izlaz zahtjeva za ponovljenom potvrdom operacija za ponovljene veze na isti host. Kako bi se spriječili DDoS napadi, intenzitet zahtjeva preko Raw Sockets će biti ograničen, a slanje zahtjeva će biti moguće samo nakon što korisnik stupi u interakciju sa stranicom. UDP paketi primljeni od hostova koje korisnik nije odobrio biće zanemareni i neće doći do web aplikacije.

Početna implementacija ne predviđa kreiranje utičnica za slušanje, ali je u budućnosti moguće omogućiti pozive za prihvatanje dolaznih konekcija sa lokalnog hosta ili liste poznatih hostova. Pominje se i potreba zaštite od napada"DNS ponovno povezivanje"(napadač može promijeniti IP adresu za ime domene koje je odobrio korisnik na DNS nivou i dobiti pristup drugim hostovima). Planirano je blokiranje pristupa domenima koji se razlučuju na 127.0.0.0/8 i intranet mrežama (predlaže se da se pristup localhost dozvoli samo ako je IP adresa eksplicitno unesena u obrazac za potvrdu).

Među rizicima koji se mogu pojaviti prilikom implementacije novog API-ja je moguće odbijanje od strane proizvođača drugih pretraživača, što bi moglo dovesti do problema s kompatibilnošću. Programeri Mozilla Gecko i WebKit motora su još uvijek nije uspjelo svoj stav o mogućoj implementaciji Raw Sockets API-ja, ali je Mozilla ranije predložila za Firefox OS (B2G) projekat sličan API. Ukoliko bude odobren u prvoj fazi, planirano je da se Raw Sockets API aktivira na Chrome OS-u, a tek onda ponudi Chrome korisnicima na drugim sistemima.

Web programeri položitelʹno je odgovorio na novi API i izrazio mnoge nove ideje o njegovoj primjeni u područjima gdje XMLHttpRequest, WebSocket i WebRTC API-ji nisu dovoljni (od kreiranja klijenata pretraživača za SSH, RDP, IMAP, SMTP, IRC i protokole za ispis do razvoja distribuiranih P2P sistema sa DHT (Distributed Hash Table), IPFS podrška i interakcija sa specifičnim protokolima IoT uređaja).

izvor: opennet.ru

Dodajte komentar