Isang API para sa direktang TCP at UDP na mga komunikasyon ay binuo para sa Chrome

Google nagsimula upang magpatupad ng bagong API sa Chrome Mga Raw Socket, na nagpapahintulot sa mga web application na magtatag ng mga direktang koneksyon sa network gamit ang TCP at UDP na mga protocol. Noong 2015, sinubukan na ng W3C consortium na i-standardize ang API "TCP at UDP Socketβ€œ, ngunit ang mga miyembro ng working group ay hindi naabot ang isang pinagkasunduan at ang pagbuo ng API na ito ay nahinto.

Ang pangangailangang magdagdag ng bagong API ay ipinaliwanag sa pamamagitan ng pagbibigay ng kakayahang makipag-ugnayan sa mga device sa network na gumagamit ng mga native na protocol na tumatakbo sa itaas ng TCP at UDP at hindi sumusuporta sa komunikasyon sa pamamagitan ng HTTPS o WebSockets. Napansin na ang Raw Sockets API ay makadagdag sa mababang antas ng mga interface ng programming na WebUSB, WebMIDI at WebBluetooth na magagamit na sa browser, na nagpapahintulot sa pakikipag-ugnayan sa mga lokal na device.

Upang maiwasan ang negatibong epekto sa seguridad, papayagan lamang ng Raw Sockets API ang mga tawag sa network na pinasimulan nang may pahintulot ng user at limitado sa listahan ng mga host na pinapayagan ng user. Kailangang tahasang kumpirmahin ng user ang unang pagtatangka sa koneksyon para sa bagong host. Gamit ang isang espesyal na bandila, maaaring hindi paganahin ng user ang pagpapakita ng paulit-ulit na mga kahilingan sa pagkumpirma ng operasyon para sa paulit-ulit na koneksyon sa parehong host. Upang maiwasan ang mga pag-atake ng DDoS, ang intensity ng mga kahilingan sa pamamagitan ng Raw Sockets ay magiging limitado, at ang pagpapadala ng mga kahilingan ay magiging posible lamang pagkatapos ng pakikipag-ugnayan ng user sa page. Ang mga UDP packet na natanggap mula sa mga host na hindi naaprubahan ng user ay hindi papansinin at hindi makakarating sa web application.

Ang paunang pagpapatupad ay hindi nagbibigay para sa paglikha ng mga socket sa pakikinig, ngunit sa hinaharap posible na magbigay ng mga tawag upang tanggapin ang mga papasok na koneksyon mula sa localhost o isang listahan ng mga kilalang host. Binanggit din ang pangangailangang protektahan laban sa mga pag-atake "Rebinding ng DNS"(Maaaring baguhin ng isang attacker ang IP address para sa isang domain name na inaprubahan ng user sa antas ng DNS at makakuha ng access sa ibang mga host). Ito ay binalak na harangan ang pag-access sa mga domain na nagre-resolve sa 127.0.0.0/8 at mga intranet network (ang access sa localhost ay iminungkahi na payagan lamang kung ang IP address ay tahasang ipinasok sa form ng pagkumpirma).

Kabilang sa mga panganib na maaaring lumabas kapag nagpapatupad ng bagong API ay ang posibleng pagtanggi nito ng mga manufacturer ng iba pang browser, na maaaring humantong sa mga problema sa compatibility. Ang mga developer ng Mozilla Gecko at WebKit engine ay nananatili pa rin hindi natuloy ang posisyon nito sa posibleng pagpapatupad ng Raw Sockets API, ngunit dati nang nagmungkahi si Mozilla para sa proyekto ng Firefox OS (B2G) katulad na API. Kung naaprubahan sa unang yugto, ang Raw Sockets API ay binalak na i-activate sa Chrome OS, at pagkatapos ay iaalok lamang sa mga user ng Chrome sa iba pang mga system.

Mga web developer positibo tumugon sa bagong API at nagpahayag ng maraming bagong ideya tungkol sa aplikasyon nito sa mga lugar kung saan hindi sapat ang XMLHttpRequest, WebSocket at WebRTC API (mula sa paglikha ng mga browser client para sa SSH, RDP, IMAP, SMTP, IRC at mga protocol sa pag-print hanggang sa pagbuo ng mga distributed P2P system na may DHT (Distributed Hash Table), suporta sa IPFS at pakikipag-ugnayan sa mga partikular na protocol ng IoT device).

Pinagmulan: opennet.ru

Magdagdag ng komento