Для Chrome развіваецца API для прамых TCP і UDP камунікацый

Кампанія Google прыступіла да рэалізацыі ў Chrome новага API Сырыя разеткі, які дазваляе web-прыкладанням усталёўваць прамыя сеткавыя злучэнні з выкарыстаннем пратаколаў TCP і UDP. У 2015 годзе кансорцыумам W3C ужо была зроблена спроба стандартызацыі API.TCP і UDP Socket«, Але ўдзельнікі працоўнай групы не дасягнулі кансэнсусу і распрацоўка дадзенага API была спынена.

Неабходнасць дадання новага API тлумачыцца прадастаўленнем магчымасці ўзаемадзеяння з сеткавымі прыладамі, якія выкарыстоўваюць уласныя пратаколы, якія працуюць па-над TCP і UDP, і не падтрымліваюць узаемадзеянне праз HTTPS ці WebSockets. Адзначаецца, што API Raw Sockets дапоўніць ужо наяўныя ў браўзэры нізкаўзроўневыя праграмныя інтэрфейсы WebUSB, WebMIDI і WebBluetooth, якія дазваляюць узаемадзейнічаць з лакальнымі прыладамі.

Для выключэння негатыўнага ўплыву на бяспеку API Raw Sockets будзе дапускаць сеткавыя звароты толькі ініцыяваныя са згоды карыстальніка і абмежаваныя спісам дазволеных карыстальнікам хастоў. Карыстальнік павінен будзе відавочна пацвярджаць першую спробу злучэння для новага хаста. Пры дапамозе спецыяльнага флага карыстальнік зможа адключыць вывад паўторных запытаў пацвярджэння аперацыі пры паўторных злучэннях да таго ж хасту. Для прадухілення DDoS-атакаў інтэнсіўнасць зваротаў праз Raw Sockets будзе лімітаваная, а адпраўка запытаў магчыма толькі пасля ўзаемадзеяння карыстальніка са старонкай. UDP-пакеты, атрыманыя з хастоў, не ухваленых карыстачом, будуць ігнаравацца і не даходзіць да web-прыкладанні.

Пачатковая рэалізацыя не прадугледжвае стварэння слухаючых сокетаў, але ў будучыні не выключаецца прадастаўленне выклікаў для прыёму ўваходзячых злучэнняў з localhost або спісу вядомых хастоў. Таксама згадваецца неабходнасць абароны ад нападаў.DNS rebinding» (наступны можа на ўзроўні DNS змяніць IP-адрас для ўхваленага карыстачом даменнага імя і атрымаць доступ да іншых хастаў). Доступ да даменаў, якія рэзалююцца ў 127.0.0.0/8 і інтранэт сеткі плануецца блакаваць (звароты да localhost прапануецца дазволіць толькі пры відавочным уводзе IP-адрасы ў форме пацверджання).

Сярод рызык, якія могуць узнікнуць пры рэалізацыі новага API, адзначаецца яго магчымае непрыманне вытворцамі іншых браўзэраў, што можа прывесці да праблем з сумяшчальнасцю. Распрацоўнікі рухавічкоў Mozilla Gecko і WebKit пакуль не выпрацавалі сваю пазіцыю з нагоды магчымай рэалізацыі API Raw Sockets, але кампанія Mozilla раней для праекту Firefox OS (B2G) ужо прапаноўвала падобны API. У выпадку зацвярджэння на першым этапе API Raw Sockets плануецца актываваць у Chrome OS, а ўжо потым прапанаваць карыстальнікам Chrome у іншых сістэмах.

Web-распрацоўшчыкі станоўча адклікаліся аб новым API і выказалі шмат новых ідэй аб яго ўжыванні ў абласцях, у якіх API XMLHttpRequest, WebSocket і WebRTC недастаткова (ад стварэння браузерных кліентаў для SSH, RDP, IMAP, SMTP, IRC і пратаколаў вываду на друк да распрацоўкі размеркаваных P2P-сістэм з DHT (Distributed Hash Table), падтрымкі IPFS і ўзаемадзеянні са спецыфічнымі пратаколамі IoT-прылад).

Крыніца: opennet.ru

Дадаць каментар