A közvetlen TCP- és UDP-kommunikációra szolgáló API fejlesztés alatt áll a Chrome-hoz

Google elindult új API bevezetéséhez a Chrome-ban Nyers aljzatok, amely lehetővé teszi a webes alkalmazások számára, hogy közvetlen hálózati kapcsolatokat létesítsenek a TCP és UDP protokollok használatával. 2015-ben a W3C konzorcium már megkísérelte szabványosítani az API-t.TCP és UDP Socket“, de a munkacsoport tagjai nem jutottak konszenzusra, és ennek az API-nak a fejlesztését leállították.

Az új API hozzáadásának szükségességét az magyarázza, hogy interakciót biztosít olyan hálózati eszközökkel, amelyek natív protokollokat használnak a TCP-n és UDP-n, és nem támogatják a HTTPS-en vagy WebSocket-en keresztüli kommunikációt. Megjegyzendő, hogy a Raw Sockets API kiegészíti majd a böngészőben már elérhető alacsony szintű WebUSB, WebMIDI és WebBluetooth programozási felületeket, amelyek lehetővé teszik a helyi eszközökkel való interakciót.

A biztonságra gyakorolt ​​negatív hatások elkerülése érdekében a Raw Sockets API csak a felhasználó beleegyezésével kezdeményezett hálózati hívásokat engedélyezi, és a felhasználó által engedélyezett gazdagépek listájára korlátozódik. A felhasználónak kifejezetten meg kell erősítenie az első csatlakozási kísérletet az új gazdagéphez. Egy speciális jelző segítségével a felhasználó letilthatja az ismétlődő művelet-megerősítő kérések megjelenítését az ugyanazon gazdagéphez való ismételt csatlakozások esetén. A DDoS támadások megelőzése érdekében a Raw Socketen keresztül érkező kérések intenzitása korlátozott lesz, és kérések küldése csak az oldallal való felhasználói interakció után lesz lehetséges. A felhasználó által nem jóváhagyott gazdagéptől kapott UDP-csomagokat figyelmen kívül hagyja, és nem éri el a webalkalmazást.

A kezdeti megvalósítás nem rendelkezik lehallgató socketek létrehozásáról, de a jövőben lehetőség van hívások biztosítására a localhosttól bejövő kapcsolatok fogadására vagy az ismert gazdagépek listájára. Megemlítik a támadások elleni védekezés szükségességét is"DNS újrakötés"(a támadó megváltoztathatja a felhasználó által jóváhagyott tartománynév IP-címét DNS-szinten, és hozzáférhet más gazdagépekhez). A tervek szerint blokkolják a hozzáférést a 127.0.0.0/8-ra feloldó tartományokhoz és az intranetes hálózatokhoz (a localhosthoz való hozzáférést a javaslat szerint csak akkor engedélyezik, ha az IP-cím kifejezetten szerepel a megerősítő űrlapon).

Az új API bevezetésekor felmerülő kockázatok közé tartozik, hogy más böngészők gyártói esetleg elutasítják azt, ami kompatibilitási problémákhoz vezethet. A Mozilla Gecko és a WebKit motorok fejlesztői még mindig nem sikerült álláspontját a Raw Sockets API lehetséges megvalósításáról, de a Mozilla korábban javasolta a Firefox OS (B2G) projektet hasonló API. Ha az első szakaszban jóváhagyják, a Raw Sockets API-t a tervek szerint aktiválni fogják a Chrome OS rendszeren, és csak ezután kínálják fel a Chrome felhasználóinak más rendszereken.

Webfejlesztők pozitívan reagált az új API-ra, és sok új ötletet fogalmazott meg alkalmazásáról azokon a területeken, ahol az XMLHttpRequest, WebSocket és WebRTC API nem elegendő (az SSH, RDP, IMAP, SMTP, IRC és nyomtatási protokollok böngészőklienseinek létrehozásától az elosztott P2P rendszerek fejlesztéséig DHT (Distributed Hash Table), IPFS-támogatás és interakció az IoT-eszközök meghatározott protokolljaival).

Forrás: opennet.ru

Hozzászólás