Pentru Chrome se dezvoltă o API pentru comunicări directe TCP și UDP

Compania Google a început implementarea unei noi API în Chrome Raw Sockets, care permite aplicațiilor web să stabilească conexiuni de rețea directe folosind protocoale TCP și UDP. În 2015, consorțiul W3C a încercat deja să standardizeze API-ul „TCP and UDP Socket“, dar participanții grupului de lucru nu au ajuns la un consens și dezvoltarea acestui API a fost oprită.

Necesitatea adăugării unui nou API este explicată prin oferirea posibilității de interacțiune cu dispozitivele de rețea care utilizează protocoale proprii, care funcționează deasupra TCP și UDP, și nu suportă interacțiunea prin HTTPS sau WebSockets. Se menționează că API-ul Raw Sockets va completa interfețele de programare de nivel scăzut deja existente în browser, cum ar fi WebUSB, WebMIDI și WebBluetooth, care permit interacțiunea cu dispozitivele locale.

Pentru a evita impactul negativ asupra securității, API-ul Raw Sockets va permite apeluri de rețea doar inițiate cu consimțământul utilizatorului și limitate la o listă de gazde aprobate de utilizator. Utilizatorul va trebui să confere în mod explicit prima încercare de conectare pentru o nouă gazdă. Prin intermediul unei etichete speciale, utilizatorul va putea dezactiva afișarea cererilor repetate de confirmare a operațiunii la reconexiuni către aceeași gazdă. Pentru a preveni atacurile DDoS, intensitatea apelurilor prin Raw Sockets va fi limitată, iar trimiterea cererilor va fi posibilă doar după interacțiunea utilizatorului cu pagina. Pachetele UDP primite de la gazde nesancționate de utilizator vor fi ignorate și nu vor ajunge la aplicația web.

Implementarea inițială nu preconizează crearea de socket-uri de ascultare, dar în viitor nu se exclude furnizarea de apeluri pentru acceptarea conexiunilor de intrare de la localhost sau de la un lista de gazde cunoscute. De asemenea, se menționează necesitatea protecției împotriva atacurilor „relegarea DNS” (atacatorul poate schimba la nivel DNS adresa IP pentru un nume de domeniu aprobat de utilizator și poate accesa alte gazde). Accesul la domeniile care se rezolvă în 127.0.0.0/8 și rețelele intranet este planificat să fie blocat (accesul la localhost se propune a fi permis doar prin introducerea explicită a adresei IP în formularul de confirmare).

Printre riscurile care pot apărea la implementarea unei noi API se numără posibila neacceptare de către producătorii altor browsere, ceea ce poate cauza probleme de compatibilitate. Dezvoltatorii motoarelor Mozilla Gecko și WebKit deocamdată nu au adoptat nicio poziție referitoare la posibilitatea implementării API Raw Sockets, însă compania Mozilla a propus anterior o API similară. În cazul în care API Raw Sockets este aprobat în prima etapă, se preconizează activarea acestuia în Chrome OS, iar ulterior va fi disponibil și utilizatorilor Chrome pe alte sisteme.

Dezvoltatorii web s-au pronunțat pozitiv despre noul API și au venit cu multe idei noi despre aplicarea acestuia în domenii în care API-urile XMLHttpRequest, WebSocket și WebRTC sunt insuficiente (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 pentru IPFS și interacțiune cu protocoalele specifice dispozitivelor IoT).

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster