En API til direkte TCP- og UDP-kommunikation er ved at blive udviklet til Chrome

Google startede at implementere en ny API i Chrome Rå stikkontakter, som tillader webapplikationer at etablere direkte netværksforbindelser ved hjælp af TCP- og UDP-protokollerne. I 2015 forsøgte W3C-konsortiet allerede at standardisere API "TCP og UDP Socket“, men arbejdsgruppemedlemmerne nåede ikke til enighed, og udviklingen af ​​denne API blev stoppet.

Behovet for at tilføje en ny API forklares ved at give mulighed for at interagere med netværksenheder, der bruger native protokoller, der kører oven på TCP og UDP og ikke understøtter kommunikation via HTTPS eller WebSockets. Det bemærkes, at Raw Sockets API vil komplementere programmeringsgrænseflader på lavt niveau WebUSB, WebMIDI og WebBluetooth, der allerede er tilgængelige i browseren, som tillader interaktion med lokale enheder.

For at undgå negativ indvirkning på sikkerheden vil Raw Sockets API kun tillade netværksopkald, der er initieret med brugerens samtykke og begrænset til listen over værter, der er tilladt af brugeren. Brugeren skal udtrykkeligt bekræfte det første forbindelsesforsøg for den nye vært. Ved hjælp af et specielt flag kan brugeren deaktivere visningen af ​​anmodninger om gentagne operationsbekræftelser for gentagne forbindelser til den samme vært. For at forhindre DDoS-angreb vil intensiteten af ​​anmodninger via Raw Sockets være begrænset, og det vil kun være muligt at sende anmodninger efter brugerinteraktion med siden. UDP-pakker modtaget fra værter, der ikke er godkendt af brugeren, vil blive ignoreret og vil ikke nå webapplikationen.

Den indledende implementering giver ikke mulighed for oprettelse af lyttestik, men i fremtiden er det muligt at give opkald til at acceptere indgående forbindelser fra lokal vært eller en liste over kendte værter. Også nævnt er behovet for at beskytte mod angreb "DNS-genbinding"(en angriber kan ændre IP-adressen for et brugergodkendt domænenavn på DNS-niveau og få adgang til andre værter). Det er planlagt at blokere adgangen til domæner, der løser til 127.0.0.0/8 og intranetnetværk (adgang til localhost foreslås kun tilladt, hvis IP-adressen udtrykkeligt er indtastet i bekræftelsesformularen).

Blandt de risici, der kan opstå ved implementering af en ny API, er dens mulige afvisning af producenter af andre browsere, hvilket kan føre til kompatibilitetsproblemer. Udviklerne af Mozilla Gecko- og WebKit-motorerne er stadig lykkedes ikke sin holdning til den mulige implementering af Raw Sockets API, men Mozilla havde tidligere foreslået til Firefox OS (B2G) projektet lignende API. Hvis Raw Sockets API er godkendt i første fase, er det planlagt at blive aktiveret på Chrome OS og først derefter tilbudt Chrome-brugere på andre systemer.

Webudviklere positivt reagerede på den nye API og udtrykte mange nye ideer om dens anvendelse på områder, hvor XMLHttpRequest, WebSocket og WebRTC API'erne ikke er nok (fra oprettelse af browserklienter til SSH, RDP, IMAP, SMTP, IRC og udskrivningsprotokoller til udvikling af distribuerede P2P-systemer med DHT (Distributed Hash Table), IPFS-understøttelse og interaktion med specifikke protokoller for IoT-enheder).

Kilde: opennet.ru

Tilføj en kommentar