Chrome'i jaoks töötatakse välja API otsese TCP- ja UDP-suhtluse jaoks

Google alanud uue API juurutamiseni Chrome'is Toores pistikupesad, mis võimaldab veebirakendustel luua otseseid võrguühendusi TCP ja UDP protokollide abil. 2015. aastal üritas W3C konsortsium juba API-t standardiseerida.TCP ja UDP sokkel", kuid töörühma liikmed ei jõudnud üksmeelele ja selle API arendamine peatati.

Uue API lisamise vajadust selgitab võime suhelda võrguseadmetega, mis kasutavad oma protokolle TCP ja UDP peal ning ei toeta HTTPS-i või WebSocketsi kaudu suhtlemist. Märgitakse, et Raw Socketsi API täiendab brauseris juba olemasolevaid madala taseme WebUSB, WebMIDI ja WebBluetoothi ​​tarkvaraliideseid, võimaldades suhtlemist kohalike seadmetega.

Turvalisuse negatiivse mõju vältimiseks lubab Raw Sockets API võrgupäringuid ainult kasutaja nõusolekul ja ainult kasutaja lubatud hostide loendis. Kasutaja peab uue hosti esimese ühenduse loomise katse selgesõnaliselt kinnitama. Spetsiaalse lipu abil saab kasutaja keelata korduvate kinnituspäringute saatmise sama hostiga korduvate ühenduste korral. DDoS-rünnakute vältimiseks piiratakse Raw Socketsi kaudu edastatavate päringute intensiivsust ja päringute saatmine on võimalik alles pärast seda, kui kasutaja on lehega suhtlenud. Kasutaja poolt heakskiitmata hostidelt saadud UDP-pakette ignoreeritakse ja need ei jõua veebirakendusse.

Esialgne teostus ei näe ette kuulamispesade loomist, kuid tulevikus pole välistatud, et pakutakse kõnesid sissetulevate ühenduste vastuvõtmiseks localhostist või teadaolevate hostide loendist. Vajadus kaitsta rünnakute eest "DNS-i uuesti sidumine» (ründaja saab muuta kasutaja poolt heakskiidetud domeeninime IP-aadressi DNS-i tasandil ja saada juurdepääsu teistele hostidele). Juurdepääs domeenidele, mille resolutsioon on 127.0.0.0/8, ja intranetivõrgule plaanitakse blokeerida (kohaliku hosti päringuid kavatsetakse lubada ainult IP-aadressi selgesõnalise sisestamisega kinnitusvormi).

Uue API rakendamisel tekkida võivate riskide hulgas on selle võimalik tagasilükkamine teiste brauseritootjate poolt, mis võib kaasa tuua ühilduvusprobleeme. Mozilla Gecko ja WebKiti mootorite arendajad pole veel... ei õnnestunud oma seisukoha Raw Sockets API võimaliku rakendamise kohta, kuid Mozilla on seda varem Firefox OS (B2G) projekti jaoks välja pakkunud sarnane APIKui see esimeses etapis heaks kiidetakse, plaanitakse Raw Sockets API aktiveerida Chrome OS-is ja seejärel pakkuda seda Chrome'i kasutajatele teistes süsteemides.

Veebiarendajad positiivselt reageeris uuele API-le ja pakkus välja palju uusi ideid selle rakendamiseks valdkondades, kus XMLHttpRequest, WebSocket ja WebRTC API-d on ebapiisavad (alates brauseriklientide loomisest SSH, RDP, IMAP, SMTP, IRC ja printimisprotokollide jaoks kuni hajutatud P2P-süsteemide arendamiseni DHT (Distributed Hash Table), IPFS-toe ja suhtlusega konkreetsete IoT-seadmete protokollidega).

Allikas: opennet.ru