Dla przeglądarki Chrome opracowywany jest interfejs API do bezpośredniej komunikacji TCP i UDP

Google zaczęła się wdrożyć nowe API w przeglądarce Chrome Surowe gniazda, który umożliwia aplikacjom internetowym nawiązywanie bezpośrednich połączeń sieciowych przy użyciu protokołów TCP i UDP. W 2015 roku konsorcjum W3C podjęło już próbę ujednolicenia API”Gniazdo TCP i UDP„, ale członkowie grupy roboczej nie osiągnęli konsensusu i rozwój tego API został wstrzymany.

Konieczność dodania nowego API tłumaczy się możliwością interakcji z urządzeniami sieciowymi, które korzystają z natywnych protokołów działających na TCP i UDP i nie obsługują komunikacji poprzez HTTPS lub WebSockets. Należy zauważyć, że Raw Sockets API będzie uzupełnieniem dostępnych już w przeglądarce interfejsów programistycznych niskiego poziomu WebUSB, WebMIDI i WebBluetooth, które umożliwiają interakcję z urządzeniami lokalnymi.

Aby uniknąć negatywnego wpływu na bezpieczeństwo, interfejs API Raw Sockets zezwala wyłącznie na połączenia sieciowe inicjowane za zgodą użytkownika i ograniczone do listy hostów dozwolonych przez użytkownika. Użytkownik będzie musiał wyraźnie potwierdzić pierwszą próbę połączenia z nowym hostem. Za pomocą specjalnej flagi użytkownik może wyłączyć wyświetlanie powtarzających się żądań potwierdzenia operacji w przypadku powtarzających się połączeń z tym samym hostem. Aby zapobiec atakom DDoS, intensywność żądań za pośrednictwem Raw Sockets będzie ograniczona, a wysyłanie żądań będzie możliwe dopiero po interakcji użytkownika ze stroną. Pakiety UDP otrzymane od hostów niezatwierdzonych przez użytkownika będą ignorowane i nie dotrą do aplikacji internetowej.

Początkowa implementacja nie przewiduje tworzenia gniazd nasłuchowych, ale w przyszłości możliwe jest udostępnianie wywołań akceptowających połączenia przychodzące z hosta lokalnego lub listy znanych hostów. Wspomniano także o konieczności ochrony przed atakami”Ponowne wiązanie DNS„(osoba atakująca może zmienić adres IP nazwy domeny zatwierdzonej przez użytkownika na poziomie DNS i uzyskać dostęp do innych hostów). Planowane jest zablokowanie dostępu do domen o adresie 127.0.0.0/8 i sieci intranetowych (proponuje się, aby dostęp do localhost był dozwolony tylko w przypadku wyraźnego wpisania adresu IP w formularzu potwierdzenia).

Wśród zagrożeń, które mogą pojawić się przy wdrażaniu nowego API, jest jego możliwe odrzucenie przez producentów innych przeglądarek, co może prowadzić do problemów ze zgodnością. Twórcy silników Mozilla Gecko i WebKit nadal pracują nie wyszło swoje stanowisko w sprawie ewentualnej implementacji API Raw Sockets, ale Mozilla zaproponowała już wcześniej projekt Firefox OS (B2G) podobne API. Jeśli zostanie zatwierdzony na pierwszym etapie, planuje się aktywację interfejsu Raw Sockets API w systemie operacyjnym Chrome, a dopiero potem udostępnienie go użytkownikom Chrome w innych systemach.

autorzy strony pozytywnie zareagował na nowe API i wyraził wiele nowych pomysłów na temat jego zastosowania w obszarach, w których API XMLHttpRequest, WebSocket i WebRTC nie wystarczą (od tworzenia klientów przeglądarki dla protokołów SSH, RDP, IMAP, SMTP, IRC i drukowania, po tworzenie rozproszonych systemów P2P z DHT (Distributed Hash Table), obsługa IPFS i interakcja z określonymi protokołami urządzeń IoT).

Źródło: opennet.ru

Dodaj komentarz