
GudPeople mungkin pernah dengar istilah Heartbleed bug beberapa tahun lalu.
Meskipun kejadian besarnya terjadi pada tahun 2014, Heartbleed tetap menjadi salah satu celah keamanan paling terkenal dan berakibat signifikan dalam sejarah internet.
Jadi, apa itu Heartbleed bug?
Sekilas Mengenai Heartbleed Bug
Heartbleed adalah nama untuk sebuah kesalahan (bug) serius nan ditemukan di dalam OpenSSL, sebuat software yang banyak digunakan oleh server di seluruh bumi untuk mengaktifkan enkripsi SSL/TLS.
Letak masalahnya ada pada fitur OpenSSL nan disebut Heartbeat Extension.
Bug ini memudahkan peretas untuk mengelabui server nan rentan agar mengirimkan kembali sebagian mini info dari memorinya.
Nah, bagian memori nan dikirim ini bisa saja berisi info sensitif, seperti:
- Nama pengguna (username) dan kata sandi (password) pengguna;
- Kunci pribadi (private key) dari sertifikat SSL server;
- Email, pesan instan, dan info upaya rahasia lainnya.
Yang lebih mengerikan, serangan ini tidak meninggalkan jejak nan mudah dideteksi di log server.
Karena OpenSSL dipakai oleh sekitar dua pertiga server web bumi saat itu, akibat Heartbleed menyebabkan kepanikan dunia di bumi maya pada 2014.
Cara Kerja Heartbleed Bug
Nah, untuk memahami gimana Heartbleed bekerja, kita perlu sedikit mengenal fitur Heartbeat Extension.
Tujuan awal fitur ini sebenarnya baik, ialah untuk menguji apakah hubungan antara browser dan server tetap aktif tanpa kudu melakukan proses negosiasi ulang.
Analoginya seperti mengecek debar jantung (heartbeat) untuk memastikan pasien tetap hidup.
Normalnya, proses Heartbeat melangkah seperti ini:
- Komputer browser mengirim pesan mini ke server nan berisi info acak, misalnya, kata “TEST”, dan info mengenai panjang info tersebut, misalnya, 4 karakter.
- Server menerima pesan ini, membaca info panjangnya, lampau menyalin info “TEST” itu dan mengirimkannya kembali ke browser. Ini menandakan hubungan tetap oke.
Nah, celah keamanan Heartbleed muncul lantaran kesalahan penerapan fitur ini di jenis OpenSSL nan rentan.
Kesalahannya adalah server tidak melakukan validasi alias pengecekan ulang apakah panjang info nan diberitahukan oleh browser di request betul-betul sesuai dengan panjang info nan dikirim.
Bagaimana celah ini dimanfaatkan oleh peretas?
- Peretas mengirimkan Heartbeat Request nan sudah dimodifikasi. Misalnya, peretas hanya mengirim info sepanjang 1 byte (satu karakter), tetapi di dalam request-nya dia mengklaim bahwa panjang datanya adalah 65.535 byte.
- Server nan menjalankan jenis OpenSSL rentan menerima request ini. Server membaca bahwa dia kudu mengirim kembali info sepanjang 65.535 byte.
- Server kemudian melakukan apa nan diminta:
- Menyalin 1 byte info nan betul-betul diterima dari penyerang.
- Karena diminta mengirim 65.535 byte, server bakal terus membaca dan menyalin 65.534 byte info berikutnya nan ada di dalam memorinya, tepat setelah 1 byte tadi.
- Server mengirimkan seluruh info sepanjang 65.535 byte ini (1 byte dari peretas + 65.534 byte dari memorinya sendiri) kembali ke peretas.
Data tambahan sebanyak 65.534 byte inilah nan menjadi masalah besar.
Data ini adalah potongan mentah dari memori aktif server pada saat itu.
Isinya bisa apa saja, termasuk info password pengguna nan baru saja login, private key sertifikat SSL server, cookie sesi, alias info rahasia lainnya nan kebetulan sedang ada di memori tersebut.
Peretas bisa mengulangi proses ini acapkali untuk mengumpulkan lebih banyak info dari memori server.
Pada intinya, Heartbleed mengeksploitasi kelalaian pengesahan ukuran info pada fitur Heartbeat.
Akhirnya, memudahkan peretas membaca sebagian isi memori server nan semestinya tidak boleh diakses.
Bagaimana Cara Mengetahui Website Terkena Heartbleed Bug?
1. Menggunakan Alat Pemindai Keamanan Online
Setelah bug ini diumumkan, banyak tool online cuma-cuma bermunculan.
Pengguna bisa memasukkan alamat website, dan tool tersebut bakal mencoba mengirimkan Heartbeat request nan dimodifikasi untuk memandang apakah server membocorkan info memori alias tidak.
Sekarang, beberapa tool pemindaian keamanan SSL seperti Qualys SSL Labs ada nan tetap mencantumkan status Heartbleed dalam laporannya.
Kegunaan utama tool spesifik Heartbleed saat ini lebih terbatas pada pengetesan sistem internal alias legacy nan terlewat dari pembaruan.
2. Memeriksa Versi OpenSSL Langsung di Server (untuk Administrator)
Ini adalah metode paling akurat, tapi memerlukan akses ke server itu sendiri.
Administrator sistem bisa login ke server dan menjalankan perintah openssl version -a untuk memandang jenis OpenSSL nan terpasang.
- Versi OpenSSL nan Rentan: Versi 1.0.1 hingga 1.0.1f.
- Versi OpenSSL nan Aman: Versi 1.0.1g dan semua jenis setelahnya (termasuk seri 1.0.2, 1.1.1, 3.0, dan seterusnya).
Jika Anda pengelola server, pastikan servermu menggunakan jenis OpenSSL nan sudah diperbarui dan tidak lagi termasuk rentang jenis nan rentan.
3. Menggunakan Alat Keamanan Jaringan
Administrator jaringan bisa menggunakan perangkat seperti Nmap alias exploit framework untuk menguji kerentanan server secara aktif.
Namun, langkah ini biasanya dilakukan saat audit keamanan alias pengetesan penetrasi (penetration testing).
Begini Cara Mengatasi Heartbleed Bug!
Solusi paling mendasar untuk Heartbleed Bug adalah memperbarui jenis pustaka OpenSSL nan rentan ke jenis nan sudah diperbaiki.
Mengingat bug ini ditemukan pada 2014, tindakan ini semestinya sudah dilakukan bertahun-tahun nan lampau oleh para pengurus sistem.
Namun, jika kita memandang kembali proses penanganan pada saat itu, alias dalam skenario rupanya Anda menemukan legacy nan rupanya tetap rentan, ini langkah-langkah nan perlu diambil:
1. Perbarui (Update/Patch) Pustaka OpenSSL
Administrator kudu segera mengidentifikasi server mana saja nan menggunakan OpenSSL jenis rentan dan memperbaruinya ke jenis nan sudah aman.
Proses pembaruan tergantung sistem operasi server nan digunakan.
Misalnya, menggunakan apt-get pembaruan && apt-get upgrade di Debian/Ubuntu, alias yum update di CentOS/RHEL.
2. Buat Pasangan Kunci Baru dan Ganti Sertifikat SSL
Karena ada akibat besar bahwa kunci pribadi (private key) dari sertifikat SSL server telah bocor ke penyerang sebelum proses update OpenSSL dilakukan, langkah ini wajib hukumnya.
Administrator perlu:
- Membuat pasangan kunci kriptografi baru, ialah private key dan public key.
- Mengajukan permintaan publikasi ulang (reissue) sertifikat SSL ke CA menggunakan public key nan baru.
- Menginstal sertifikat SSL baru beserta public key barunya di server.
- Mencabut (revoke) sertifikat SSL lama melalui CA agar tidak bisa disalahgunakan lagi.
3. Reset Password Pengguna
Karena username dan password pengguna berpotensi ikut bocor dari memori server, sangat disarankan untuk meminta alias memaksa semua pengguna untuk mengganti password akun mereka setelah server dipastikan aman.
4. Batalkan (Invalidate) Sesi Pengguna nan Aktif:
Cookie sesi alias token autentikasi nan digunakan pengguna untuk tetap login juga bisa saja terekspos.
Sebab itu, untuk mencegah session hijacking, semua sesi aktif pengguna sebaiknya dibatalkan oleh sistem.
Cara ini bakal memaksa semua pengguna untuk login kembali menggunakan password baru.
5. Audit dan Perbarui Perangkat Lunak Lain
OpenSSL tidak hanya digunakan oleh server web.
Periksa juga perangkat lunak lain di infrastrukturmu nan berjuntai pada OpenSSL, seperti server email, VPN, load balancer, firewall, dll.
Pastikan semuanya juga diperbarui ke jenis nan aman.
Kesimpulan
Heartbleed bug adalah contoh sungguh berbahayanya celah keamanan pada software seperti OpenSSL, nan pada masanya mencuri info sensitif dari memori server.
Meskipun bug ini sudah lama diperbaiki melalui pembaruan OpenSSL dan langkah-langkah mitigasi lainnya, kejadian ini memberikan pelajaran berbobot untuk melakukan pembaruan software secara rutin dan tepat waktu.
Mari jadikan keamanan sebagai prioritas dengan selalu menjaga sistem kita tetap up-to-date untuk melindungi diri dari ancaman serupa di masa depan!
1 tahun yang lalu
English (US) ·
Indonesian (ID) ·