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

Компания Google приступила к реализация в Chrome на нов API 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 пакетите, получени от хостове, не одобрени от потребителя, ще бъдат игнорирани и няма да достигнат до уеб приложението.

Началната реализация не предвижда създаване на слушащи сокети, но в бъдеще не се изключва предоставянето на извиквания за приемане на входящи връзки с локалния хост или списък от известни хостове. Споменава се и необходимостта от защита срещу атаки «DNS rebinding» (атакуващият може на ниво DNS да смени IP адреса на одобреното от потребителя доменно име и да получи достъп до други хостове). Достъпът до домейни, които се резолвят в 127.0.0.0/8 и интранет мрежи планирано ще бъде блокиран (обращенията до локалния хост се предлагат да бъдат разрешавани само при явно въвеждане на 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 (Разпределена хеш таблица), поддръжка на IPFS и взаимодействие със специфични протоколи на IoT устройства).

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

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