Un API pentru comunicații directe TCP și UDP este în curs de dezvoltare pentru Chrome

Google a început pentru a implementa un nou API în Chrome Socluri brute, care permite aplicațiilor web să stabilească conexiuni directe la rețea folosind protocoalele TCP și UDP. În 2015, consorțiul W3C a încercat deja să standardizeze API-ul "Socket TCP și UDP„, dar membrii grupului de lucru nu au ajuns la un consens și dezvoltarea acestui API a fost oprită.

Necesitatea de a adăuga un nou API se explică prin oferirea capacității de a interacționa cu dispozitivele de rețea care utilizează protocoale native care rulează peste TCP și UDP și nu acceptă comunicarea prin HTTPS sau WebSockets. Se observă că API-ul Raw Sockets va completa interfețele de programare de nivel scăzut WebUSB, WebMIDI și WebBluetooth deja disponibile în browser, care permit interacțiunea cu dispozitivele locale.

Pentru a evita impactul negativ asupra securității, API-ul Raw Sockets va permite numai apeluri de rețea inițiate cu acordul utilizatorului și limitate la lista de gazde permise de utilizator. Utilizatorul va trebui să confirme în mod explicit prima încercare de conectare pentru noua gazdă. Folosind un steag special, utilizatorul poate dezactiva afișarea solicitărilor repetate de confirmare a operațiunii pentru conexiuni repetate la aceeași gazdă. Pentru a preveni atacurile DDoS, intensitatea solicitărilor prin intermediul Raw Sockets va fi limitată, iar trimiterea solicitărilor va fi posibilă numai după interacțiunea utilizatorului cu pagina. Pachetele UDP primite de la gazde neaprobate de utilizator vor fi ignorate și nu vor ajunge la aplicația web.

Implementarea inițială nu prevede crearea de prize de ascultare, dar în viitor este posibil să se furnizeze apeluri pentru a accepta conexiuni de intrare de la localhost sau o listă de gazde cunoscute. De asemenea, este menționată necesitatea de a proteja împotriva atacurilor”Relegare DNS„(un atacator poate schimba adresa IP pentru un nume de domeniu aprobat de utilizator la nivel DNS și poate obține acces la alte gazde). Este planificată blocarea accesului la domeniile care se rezolvă la 127.0.0.0/8 și la rețelele intranet (se propune ca accesul la localhost să fie permis numai dacă adresa IP este introdusă în mod explicit în formularul de confirmare).

Printre riscurile care pot apărea la implementarea unui nou API se numără posibila respingere a acestuia de către producătorii altor browsere, ceea ce ar putea duce la probleme de compatibilitate. Dezvoltatorii motoarelor Mozilla Gecko și WebKit sunt încă nu a ieșit poziția sa cu privire la posibila implementare a API-ului Raw Sockets, dar Mozilla propusese anterior pentru proiectul Firefox OS (B2G). API similar. Dacă este aprobat în prima etapă, API-ul Raw Sockets este planificat să fie activat pe sistemul de operare Chrome și abia apoi oferit utilizatorilor Chrome pe alte sisteme.

Dezvoltatori web pozitiv a răspuns la noul API și a exprimat multe idei noi despre aplicarea acestuia în domenii în care API-urile XMLHttpRequest, WebSocket și WebRTC nu sunt suficiente (de la crearea de clienți de browser pentru SSH, RDP, IMAP, SMTP, IRC și protocoale de imprimare până la dezvoltarea de sisteme P2P distribuite cu DHT (Distributed Hash Table), suport IPFS și interacțiune cu protocoale specifice dispozitivelor IoT).

Sursa: opennet.ru

Adauga un comentariu