En API for direkte TCP- og UDP-kommunikasjon er under utvikling for Chrome

Google startet til implementeringen av det nye API-et i Chrome Rå stikkontakter, som lar webapplikasjoner opprette direkte nettverkstilkoblinger ved hjelp av TCP- og UDP-protokollene. I 2015 forsøkte W3C-konsortiet allerede å standardisere API-et.TCP- og UDP-socket", men arbeidsgruppemedlemmene kom ikke til enighet, og utviklingen av dette API-et ble stoppet.

Behovet for å legge til et nytt API forklares med muligheten til å samhandle med nettverksenheter som bruker sine egne protokoller som kjører oppå TCP og UDP, og som ikke støtter samhandling via HTTPS eller WebSockets. Det bemerkes at Raw Sockets API vil utfylle lavnivå-programvaregrensesnittene WebUSB, WebMIDI og WebBluetooth som allerede er tilgjengelige i nettleseren, og tillate samhandling med lokale enheter.

For å forhindre negativ innvirkning på sikkerheten, vil Raw Sockets API kun tillate nettverksforespørsler initiert med brukerens samtykke og begrenset til listen over verter som er tillatt av brukeren. Brukeren må eksplisitt bekrefte det første tilkoblingsforsøket for en ny vert. Ved å bruke et spesielt flagg vil brukeren kunne deaktivere utdataene av gjentatte forespørsler om bekreftelse av operasjonen under gjentatte tilkoblinger til samme vert. For å forhindre DDoS-angrep vil intensiteten av forespørsler gjennom Raw Sockets være begrenset, og sending av forespørsler er bare mulig etter at brukeren har samhandlet med siden. UDP-pakker mottatt fra verter som ikke er godkjent av brukeren, vil bli ignorert og vil ikke nå webapplikasjonen.

Den første implementeringen sørger ikke for opprettelse av lyttesokler, men det er ikke utelukket at det i fremtiden vil bli gitt anrop for å godta innkommende tilkoblinger fra localhost eller en liste over kjente verter. Behovet for å beskytte mot angrep "DNS rebinding» (en angriper kan endre IP-adressen for et brukergodkjent domenenavn på DNS-nivå og få tilgang til andre verter). Tilgang til domener som løses til 127.0.0.0/8 og intranettverket er planlagt blokkert (forespørsler til localhost er foreslått kun tillatt ved å eksplisitt angi IP-adressen i bekreftelsesskjemaet).

Blant risikoene som kan oppstå ved implementering av det nye API-et er en mulig avvisning fra andre nettleserprodusenter, noe som kan føre til kompatibilitetsproblemer. Utviklerne av Mozilla Gecko- og WebKit-motorene er ennå ikke fungerte ikke sin posisjon til den mulige implementeringen av Raw Sockets API, men Mozilla har tidligere foreslått det for Firefox OS (B2G)-prosjektet lignende APIHvis det godkjennes i første fase, er det planlagt at Raw Sockets API skal aktiveres i Chrome OS, og deretter tilbys Chrome-brukere på andre systemer.

Nettutviklere positivt reagerte på det nye API-et og la frem mange nye ideer for bruk i områder der XMLHttpRequest-, WebSocket- og WebRTC-API-ene ikke er tilstrekkelige (fra å lage nettleserklienter for SSH-, RDP-, IMAP-, SMTP-, IRC- og utskriftsprotokoller til å utvikle distribuerte P2P-systemer med DHT (Distributed Hash Table), IPFS-støtte og interaksjon med spesifikke IoT-enhetsprotokoller).

Kilde: opennet.ru