Khawatir tentang keamanan koneksi HTTPS websitemu?
Tahukah GudPeople tentang BEAST Attack, sebuah teknik lama yang bisa digunakan untuk mencuri data sensitif?
Sekilas Mengenai BEAST Attack
BEAST adalah singkatan dari Browser Exploit Against SSL/TLS, merujuk pada sebuah teknik serangan siber yang didemonstrasikan pada tahun 2011.
Serangan ini menargetkan celah keamanan pada implementasi protokol enkripsi TLS versi 1.0 dan versi sebelumnya (SSLv3) yang saat itu masih banyak digunakan untuk mengamankan koneksi HTTPS.
Berbeda dengan Heartbleed yang membocorkan memori server, tujuan utama dari BEAST Attack adalah untuk mendekripsi (menguraikan) sebagian kecil dari data yang terenkripsi yang sedang ditransmisikan antara browser pengguna dan server website.
Fokus utamanya adalah penggunaan algoritma enkripsi mode Cipher Block Chaining (CBC) dalam protokol TLS 1.0.
BEAST tidak bisa mendekripsi seluruh trafik data secara langsung, tetapi serangan ini cukup berbahaya karena berpotensi menebak dan mencuri potongan data sensitif yang dikirim berulang dalam sebuah sesi.
Contohnya seperti session cookies.
Kalau penyerang berhasil mendapatkan session cookies milikmu, mereka bisa menggunakannya untuk membajak akunmu di website tersebut tanpa perlu tahu password-nya.
Pada saat ditemukan, BEAST menjadi perhatian serius karena TLS 1.0 merupakan standar yang sangat umum digunakan.
Namun, saat ini, BEAST Attack sudah dianggap tidak lagi menjadi ancaman bagi sebagian besar pengguna dan website.
Hal ini karena:
- Browser dan server modern secara default sudah menggunakan protokol TLS 1.2 atau TLS 1.3 yang kebal terhadap serangan ini.
- Dukungan untuk TLS 1.0 dan SSLv3 sudah banyak dinonaktifkan.
Cara Kerja BEAST Attack!
Serangan BEAST memanfaatkan kelemahan spesifik pada cara enkripsi mode CBC (Cipher Block Chaining) digunakan dalam protokol TLS versi 1.0 dan SSLv3.
Agar serangan ini berhasil, peretas harus melakukan beberapa hal ini:
1. Mencegat Koneksi
Peretas perlu berada di posisi Man-in-the-Middle (MitM).
Artinya, mereka harus bisa melihat dan memanipulasi lalu lintas data antara browser dan server tujuan.
Hal ini lebih mungkin terjadi di jaringan yang tidak aman, seperti Wi-Fi publik.
2. Koneksi Harus Menggunakan TLS 1.0 atau SSLv3 dengan Cipher CBC
Serangan ini hanya efektif apabila negosiasi antara browser dan server menghasilkan penggunaan protokol TLS 1.0 atau SSLv3 dan cipher suite menggunakan mode CBC.
3. Menjalankan Kode di Browser Korban
Peretas perlu cara untuk membuat browser korban mengirimkan permintaan yang sudah dimodifikasi ke server.
Hal ini dilakukan dengan menginjeksi kode JavaScript berbahaya ke dalam sesi browse korban.
Misalnya, melalui website lain yang dikunjungi korban atau melalui iklan berbahaya.
Bagaimana Prosesnya?
Kelemahan TLS 1.0 CBC adalah Initialization Vector (IV) untuk setiap blok enkripsi berikutnya bisa ditebak oleh peretas.
Peretas pun memanfaatkan ini untuk menebak isi data terenkripsi:
1. Memilih Target
Peretas menemukan bagian dari aliran data terenkripsi yang ingin mereka ketahui isinya.
Misalnya, session cookie yang dikirim dalam header HTTP.
2. Melakukan Tebakan (Guessing)
Karena peretas tahu IV yang akan digunakan untuk blok target, mereka bisa mulai menebak isi blok sebelum blok target.
Tebakan ini dilakukan byte per byte.
3. Membuat Permintaan Palsu
Dengan menggunakan JavaScript yang sudah diinjeksi ke browser korban, peretas membuat browser korban mengirimkan banyak permintaan HTTPS ke server.
Permintaan ini sudah dimanipulasi: peretas menggabungkan tebakan dengan data ciphertext yang mereka cegat sebelumnya.
4. Menganalisis Respon Server
Server menerima permintaan yang dimanipulasi ini.
Jika tebakan peretas secara kebetulan benar, proses enkripsi/dekripsi di sisi server untuk permintaan ini tidak akan menghasilkan error spesifik.
Namun, kalau tebakan salah, biasanya akan terjadi error. Peretas mengamati hasil ini.
5. Mengungkap Data Sedikit Demi Sedikit
Dengan mengirim banyak tebakan melalui permintaan palsu dan melihat mana yang berhasil/gagal, peretas dapat merekonstruksi isi blok sebelum blok target secara bertahap.
Setelah itu, mereka dapat menggunakan teknik serupa untuk mendekripsi blok target yang berisi data sensitif seperti session cookie.
Cara Mengetahui Website Terkena BEAST Attack
Perlu ditegaskan di awal, mendeteksi serangan BEAST yang sedang berlangsung secara aktif itu hampir tidak mungkin bagi pengguna biasa, bahkan cukup sulit bagi administrator sistem karena sifatnya tersembunyi.
Sebab itu, fokusnya adalah pada mendeteksi apakah sebuah server website rentan terhadap BEAST Attack atau tidak.
Kerentanan ini sangat bergantung pada konfigurasi server tersebut.
Sebuah website atau server dianggap rentan terhadap BEAST jika ia masih mengaktifkan atau mendukung penggunaan protokol enkripsi versi lama, yaitu TLS 1.0 atau SSLv3, terutama bila dikombinasikan dengan cipher suite mode CBC.
Sebaliknya, kalau server sudah dikonfigurasi untuk hanya menggunakan TLS 1.2 dan/atau TLS 1.3, maka server tersebut tidak rentan terhadap serangan BEAST.
Beberapa cara untuk memeriksa apakah sebuah website masih mendukung protokol lama tersebut:
1. Menggunakan Tools SSL/TLS Online
Ini adalah metode yang paling mudah dan efektif bagi siapa saja.
Kamu bisa menggunakan layanan web gratis seperti Qualiys SSL Lab’s SSL Server Test.
Caranya, cukup masukkan nama domain yang ingin diperiksa. Setelah pemindaian selesai, lihat bagian “Configuration” > “Protocols”.
Jika TLS 1.0 atau SSLv3 tertulis “Yes”, maka server tersebut masih rentan terhadap BEAST.
Alat pemindai lain seperti ImmuniWeb SSLScan atau sejenisnya juga memberikan informasi serupa.
2. Memeriksa Informasi Koneksi di Browser
Klik ikon gembok di address bar browser saat mengunjungi situs HTTPS, lalu cari detail koneksi atau sertifikat.
Beberapa browser menampilkan versi TLS yang sedang digunakan untuk koneksi tersebut.
Namun, ini hanya menunjukkan protokol yang dipakai saat itu, bukan daftar lengkap semua protokol yang didukung oleh server.
Jadi, cara ini sebenarnya kurang bisa diandalkan untuk memastikan server tidak rentan.
3. Menggunakan Command-line Tools
Administrator server bisa menggunakan perintah openssl s_client atau alat seperti nmap dengan skrip ssl-enum-ciphers untuk memeriksa protokol dan cipher suite apa saja yang didukung oleh server.
Begini Cara Mengatasi BEAST Attack!
1. Nonaktifkan Dukungan SSLv3, TLS 1.0, dan TLS 1.1 di Server
Karena BEAST Attack mengeksploitasi kelemahan dalam protokol TLS 1.0 dan SSLv3, cara paling utama adalah dengan berhenti menggunakan protokol-protokol usang tersebut.
Konfigurasikan server web agar tidak lagi menawarkan atau menerima koneksi yang menggunakan SSLv3, TLS 1.0, dan juga TLS 1.1.
Atur server agar hanya mendukung protokol modern: TLS 1.2 dan TLS 1.3.
Cara konfigurasinya bervariasi tergantung server web yang kamu gunakan. Biasanya melibatkan pengeditan file konfigurasi utama atau file konfigurasi khusus SSL/TLS.
Cari direktif seperti SSLProtocol (Apache) atau ssl_protocols (Nginx) dan atur nilainya secara eksplisit.
Contoh:
- Apache: SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 atau SSLProtocol -all +TLSv1.2 +TLSv1.3
- Nginx: ssl_protocols TLSv1.2 TLSv1.3;
Setelah mengubah konfigurasi, jangan lupa untuk me-restart layanan server web agar perubahan diterapkan.
Selalu merujuk ke panduan resmi server webmu untuk panduan konfigurasi yang akurat.
2. Gunakan Cipher Suite yang Kuat
Selain menonaktifkan protokol lama, pastikan juga servermu dikonfigurasi untuk menggunakan cipher suite terbaru yang kuat, terutama mode enkripsi AEAD (Authenticated Encryption with Associated Data) seperti AES-GCM.
Cipher suite ini tidak rentan terhadap serangan seperti BEAST.
Hindari cipher yang lemah atau usang, seperti RC4 yang dulu sempat dipakai sebagai mitigasi BEAST tapi kini juga tidak aman.
3. Verifikasi Konfigurasi
Setelah melakukan perubahan, gunakan Qualys SSL Labs SSL Server Test atau alat pemindai keamanan lainnya untuk memverifikasi server sudah tidak lagi mendukung protokol lama dan menggunakan konfigurasi yang aman.
4. Selalu Perbarui Browser
Pastikan kamu menggunakan versi terbaru dari browser web pilihanmu.
Browser terbaru sudah dilengkapi dengan berbagai mekanisme keamanan, termasuk mitigasi terhadap serangan seperti BEAST dan penonaktifan protokol lama secara default.
Kesimpulan
BEAST Attack adalah bahaya yang mengintai pada protokol enkripsi versi lama seperti TLS 1.0, yang pada 2011 digunakan penyerang untuk mendekripsi data sensitif seperti session cookie melalui serangan man-in-the-middle.
Cara paling efektif untuk mencegah BEAST dan berbagai ancaman serupa adalah dengan menonaktifkan dukungan untuk protokol usang (SSLv3, TLS 1.0, TLS 1.1) di konfigurasi server.
Yuk, periksa kembali konfigurasi servermu dan pastikan hanya protokol terbaru yang aktif untuk menjaga keamanan data!