WebSockets - Keamanan

Protokol harus dirancang untuk alasan keamanan. WebSocket adalah protokol baru dan tidak semua browser web menerapkannya dengan benar. Misalnya, beberapa dari mereka masih mengizinkan campuran HTTP dan WS, meskipun spesifikasinya menyiratkan sebaliknya. Dalam bab ini, kita akan membahas beberapa serangan keamanan umum yang harus diwaspadai oleh pengguna.

Kegagalan layanan

Serangan Denial of Service (DoS) mencoba membuat mesin atau sumber daya jaringan tidak tersedia bagi pengguna yang memintanya. Misalkan seseorang membuat permintaan dalam jumlah tak terbatas ke server web tanpa atau interval waktu yang kecil. Server tidak dapat menangani setiap koneksi dan akan berhenti merespons atau akan terus merespons terlalu lambat. Ini dapat disebut sebagai serangan Denial of service.

Denial of service sangat membuat frustasi bagi pengguna akhir, yang bahkan tidak dapat memuat halaman web.

Serangan DoS bahkan dapat diterapkan pada komunikasi peer-to-peer, memaksa klien jaringan P2P untuk secara bersamaan terhubung ke server web korban.

Man-in-the-middle

Mari kita pahami ini dengan bantuan sebuah contoh.

Misalkan seseorang A sedang mengobrol dengan temannya Bmelalui klien IM. Beberapa orang ketiga ingin melihat pesan yang Anda tukar. Jadi, dia membuat koneksi independen dengan kedua orang tersebut. Dia juga mengirim pesan ke orangA dan temannya B, sebagai perantara tak terlihat untuk komunikasi Anda. Ini dikenal sebagai serangan man-in-the-middle.

Jenis serangan man-in-the-middle lebih mudah untuk koneksi yang tidak terenkripsi, karena penyusup dapat membaca paket secara langsung. Ketika koneksi dienkripsi, informasi harus didekripsi oleh penyerang, yang mungkin terlalu sulit.

Dari aspek teknis, penyerang mencegat pertukaran pesan kunci publik dan mengirim pesan sambil mengganti kunci yang diminta dengan miliknya sendiri. Jelas, strategi yang solid untuk mempersulit pekerjaan penyerang adalah menggunakan SSH dengan WebSockets.

Sebagian besar saat bertukar data penting, lebih memilih koneksi aman WSS daripada WS yang tidak terenkripsi.

XSS

Skrip lintas situs (XSS) adalah kerentanan yang memungkinkan penyerang memasukkan skrip sisi klien ke halaman web atau aplikasi. Penyerang dapat mengirim kode HTML atau Javascript menggunakan hub aplikasi Anda dan membiarkan kode ini dijalankan di mesin klien.

Mekanisme Pertahanan Asli WebSocket

Secara default, protokol WebSocket dirancang agar aman. Di dunia nyata, pengguna mungkin mengalami berbagai masalah yang mungkin terjadi karena implementasi browser yang buruk. Seiring berjalannya waktu, vendor browser segera memperbaiki masalah apa pun.

Lapisan keamanan ekstra ditambahkan saat koneksi WebSocket aman melalui SSH (atau TLS) digunakan.

Di dunia WebSocket, perhatian utamanya adalah tentang kinerja koneksi yang aman. Meskipun masih ada lapisan TLS tambahan di atasnya, protokol itu sendiri berisi pengoptimalan untuk penggunaan semacam ini, lebih jauh lagi, WSS bekerja lebih mulus melalui proxy.

Masking Klien-ke-Server

Setiap pesan yang dikirimkan antara server WebSocket dan klien WebSocket berisi kunci tertentu, bernama kunci masking, yang memungkinkan perantara yang sesuai dengan WebSocket untuk membuka kedok dan memeriksa pesan. Jika perantara tidak sesuai dengan WebSocket, pesan tidak akan terpengaruh. Browser yang mengimplementasikan protokol WebSocket menangani masking.

Kotak Alat Keamanan

Terakhir, alat yang berguna dapat disajikan untuk menyelidiki aliran informasi antara klien dan server WebSocket Anda, menganalisis data yang dipertukarkan, dan mengidentifikasi kemungkinan risiko.

Alat Pengembang Browser

Chrome, Firefox, dan Opera adalah browser hebat dalam hal dukungan pengembang. Alat bawaan mereka membantu kami menentukan hampir semua aspek interaksi dan sumber daya sisi klien. Ini memainkan peran besar untuk tujuan keamanan.