API untuk komunikasi TCP dan UDP langsung sedang dikembangkan untuk Chrome

Google dimulai untuk menerapkan API baru di Chrome Soket Mentah, yang memungkinkan aplikasi web membuat koneksi jaringan langsung menggunakan protokol TCP dan UDP. Pada tahun 2015, konsorsium W3C sudah berupaya melakukan standarisasi API"Soket TCP dan UDPβ€œ, namun anggota kelompok kerja tidak mencapai konsensus dan pengembangan API ini dihentikan.

Kebutuhan untuk menambahkan API baru dijelaskan dengan menyediakan kemampuan untuk berinteraksi dengan perangkat jaringan yang menggunakan protokol asli yang berjalan di atas TCP dan UDP dan tidak mendukung komunikasi melalui HTTPS atau WebSockets. Perlu dicatat bahwa Raw Sockets API akan melengkapi antarmuka pemrograman tingkat rendah WebUSB, WebMIDI dan WebBluetooth yang sudah tersedia di browser, yang memungkinkan interaksi dengan perangkat lokal.

Untuk menghindari dampak negatif pada keamanan, Raw Sockets API hanya akan mengizinkan panggilan jaringan dimulai dengan persetujuan pengguna dan terbatas pada daftar host yang diizinkan oleh pengguna. Pengguna harus secara eksplisit mengonfirmasi upaya koneksi pertama untuk host baru. Dengan menggunakan tanda khusus, pengguna dapat menonaktifkan tampilan permintaan konfirmasi operasi berulang untuk koneksi berulang ke host yang sama. Untuk mencegah serangan DDoS, intensitas permintaan melalui Raw Sockets akan dibatasi, dan pengiriman permintaan hanya dapat dilakukan setelah pengguna berinteraksi dengan halaman tersebut. Paket UDP yang diterima dari host yang tidak disetujui oleh pengguna akan diabaikan dan tidak akan sampai ke aplikasi web.

Implementasi awal tidak menyediakan pembuatan soket pendengaran, tetapi di masa depan dimungkinkan untuk memberikan panggilan untuk menerima koneksi masuk dari localhost atau daftar host yang dikenal. Disebutkan juga perlunya perlindungan terhadap serangan”Pengikatan ulang DNS"(penyerang dapat mengubah alamat IP untuk nama domain yang disetujui pengguna di tingkat DNS dan mendapatkan akses ke host lain). Direncanakan untuk memblokir akses ke domain yang menyelesaikan ke 127.0.0.0/8 dan jaringan intranet (akses ke localhost diusulkan untuk diizinkan hanya jika alamat IP secara eksplisit dimasukkan dalam formulir konfirmasi).

Di antara risiko yang mungkin timbul saat mengimplementasikan API baru adalah kemungkinan penolakan oleh produsen browser lain, yang dapat menyebabkan masalah kompatibilitas. Pengembang mesin Mozilla Gecko dan WebKit masih melakukannya tidak berhasil posisinya mengenai kemungkinan implementasi Raw Sockets API, tetapi Mozilla sebelumnya telah mengusulkan proyek Firefox OS (B2G) API serupa. Jika disetujui pada tahap pertama, Raw Sockets API rencananya akan diaktifkan di Chrome OS, dan baru kemudian ditawarkan kepada pengguna Chrome di sistem lain.

Pengembang web secara positif menanggapi API baru dan mengungkapkan banyak ide baru tentang penerapannya di area di mana API XMLHttpRequest, WebSocket, dan WebRTC tidak cukup (mulai dari membuat klien browser untuk SSH, RDP, IMAP, SMTP, IRC dan protokol pencetakan hingga mengembangkan sistem P2P terdistribusi dengan DHT (Distributed Hash Table), dukungan IPFS dan interaksi dengan protokol spesifik perangkat IoT).

Sumber: opennet.ru

Tambah komentar