За Chrome се разработва API за директни TCP и UDP комуникации

Компания Google пристъпи към реализиране на ново API в Chrome Raw Sockets, позволяващо на уеб приложенията да установяват директни мрежови връзки с използване на протоколите TCP и UDP. През 2015 година консорциумът W3C вече направи опит за стандартизиране на API „TCP and UDP Socket“, но участниците в работната група не постигнаха консенсус и разработката на това API беше спряна.

Необходимостта от добавяне на ново API се обяснява с предоставянето на възможности за взаимодействие с мрежови устройства, които използват собствени протоколи, работещи над TCP и UDP и не поддържат взаимодействие през HTTPS или WebSockets. Подчертава се, че API Raw Sockets ще допълни вече наличните в браузъра нискоуровневи програмни интерфейси WebUSB, WebMIDI и WebBluetooth, позволяващи взаимодействие с локални устройства.

С цел преодоляване на негативния ефект върху сигурността, API Raw Sockets ще допуска мрежови запитвания само инициирани с разрешение на потребителя и ограничени до списъка с разрешени от потребителя хостове. Потребителят ще трябва явно да потвърди първия опит за свързване с нов хост. С помощта на специален флаг потребителят ще може да изключи повторната заявка за потвърждение на операцията при нови свързвания към същия хост. За предотвратяване на DDoS атаки, интензивността на запитванията през Raw Sockets ще бъде лимитирана, а изпращането на запитвания ще бъде възможно единствено след взаимодействие на потребителя със страницата. UDP пакети, получени от хостове, не одобрени от потребителя, ще бъдат игнорирани и няма да достигат до уеб приложението.

Началната реализация не предвижда създаване на слушащи сокети, но в бъдеще не се изключва предоставянето на извиквания за приемане на входящи свързвания от localhost или списък с известни хостове. Също така се споменава необходимостта от защита срещу атаки „DNS rebinding“ (нападателят може на ниво DNS да смени IP адреса на одобрено от потребителя домейн име и да получи достъп до други хостове). Достъпът до домейни, резолвящи в 127.0.0.0/8 и интранет мрежи се планира да бъде блокиран (обажданията към localhost се предлагат да бъдат разрешени само при явно въвеждане на IP адреса в формата за потвърждение).

Сред рисков, които могат да възникнат при реализацията на нов API, е възможното му несъгласие от производителите на други браузъри, което може да доведе до проблеми със съвместимостта. Разработчиците на движките Mozilla Gecko и WebKit все още не са изразили своята позиция относно възможната реализация на API Raw Sockets, но компания Mozilla преди е предложила подобен API. В случай на одобрение на първия етап, API Raw Sockets се планира да бъде активиран в Chrome OS, а след това да бъде предложен на потребителите на Chrome в други системи.

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

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster