Compania Google implementarea unei noi API în Chrome , 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 „“, 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 „” (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ă nicio poziție referitoare la posibilitatea implementării API Raw Sockets, însă compania Mozilla a propus anterior . Î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 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
