Faqihah Husnul Faqihah Husnul Khatimah adalah SEO Writer dengan pengalaman 2+ tahun menciptakan konten informatif dan persuasif untuk berbagai industri, termasuk teknologi. Bersama GudangSSL, berkomitmen untuk membantu Anda menemukan sertifikat SSL terbaik dan terpercaya.

Heartbleed Bug: Arti, Cara Kerja, dan Cara Mengatasinya!

3 min read

GudPeople mungkin pernah dengar istilah Heartbleed bug beberapa tahun lalu.

Meskipun insiden besarnya terjadi pada tahun 2014, Heartbleed tetap menjadi salah satu celah keamanan paling terkenal dan berdampak signifikan dalam sejarah internet.

Jadi, apa itu Heartbleed bug?

Sekilas Mengenai Heartbleed Bug

Heartbleed adalah nama untuk sebuah kesalahan (bug) serius yang ditemukan di dalam OpenSSL, sebuat software yang banyak digunakan oleh server di seluruh dunia untuk mengaktifkan enkripsi SSL/TLS.

Letak masalahnya ada pada fitur OpenSSL yang disebut Heartbeat Extension

Bug ini memudahkan peretas untuk mengelabui server yang rentan agar mengirimkan kembali sebagian kecil data dari memorinya. 

Nah, bagian memori yang dikirim ini bisa saja berisi informasi sensitif, seperti:

  • Nama pengguna (username) dan kata sandi (password) pengguna;
  • Kunci pribadi (private key) dari sertifikat SSL server;
  • Email, pesan instan, dan data bisnis rahasia lainnya.

Yang lebih mengerikan, serangan ini tidak meninggalkan jejak yang mudah dideteksi di log server.

Karena OpenSSL dipakai oleh sekitar dua pertiga server web dunia saat itu, dampak Heartbleed menyebabkan kepanikan global di dunia maya pada 2014.

Cara Kerja Heartbleed Bug

Nah, untuk memahami bagaimana Heartbleed bekerja, kita perlu sedikit mengenal fitur Heartbeat Extension

Tujuan awal fitur ini sebenarnya baik, yakni untuk menguji apakah koneksi antara browser dan server masih aktif tanpa harus melakukan proses negosiasi ulang.

Analoginya seperti mengecek detak jantung (heartbeat) untuk memastikan pasien masih hidup.

Normalnya, proses Heartbeat berjalan seperti ini:

  1. Komputer browser mengirim pesan kecil ke server yang berisi data acak, misalnya, kata “TEST”, dan informasi mengenai panjang data tersebut, misalnya, 4 karakter.
  2. Server menerima pesan ini, membaca informasi panjangnya, lalu menyalin data “TEST” itu dan mengirimkannya kembali ke browser. Ini menandakan koneksi masih oke.

Nah, celah keamanan Heartbleed muncul karena kesalahan implementasi fitur ini di versi OpenSSL yang rentan. 

Kesalahannya adalah server tidak melakukan validasi atau pengecekan ulang apakah panjang data yang diberitahukan oleh browser di request benar-benar sesuai dengan panjang data yang dikirim.

Bagaimana celah ini dimanfaatkan oleh peretas?

  1. Peretas mengirimkan Heartbeat Request yang sudah dimodifikasi. Misalnya, peretas hanya mengirim data sepanjang 1 byte (satu karakter), tetapi di dalam request-nya ia mengklaim bahwa panjang datanya adalah 65.535 byte.
  2. Server yang menjalankan versi OpenSSL rentan menerima request ini. Server membaca bahwa ia harus mengirim kembali data sepanjang 65.535 byte.
  3. Server kemudian melakukan apa yang diminta:
    • Menyalin 1 byte data yang benar-benar diterima dari penyerang.
    • Karena diminta mengirim 65.535 byte, server akan terus membaca dan menyalin 65.534 byte data berikutnya yang ada di dalam memorinya, tepat setelah 1 byte tadi.
    • Server mengirimkan seluruh data 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 yang menjadi masalah besar. 

Data ini adalah potongan mentah dari memori aktif server pada saat itu. 

Isinya bisa apa saja, termasuk informasi password pengguna yang baru saja login, private key sertifikat SSL server, cookie sesi, atau data rahasia lainnya yang kebetulan sedang ada di memori tersebut. 

Peretas bisa mengulangi proses ini berkali-kali untuk mengumpulkan lebih banyak data dari memori server.

Pada intinya, Heartbleed mengeksploitasi kelalaian validasi ukuran data pada fitur Heartbeat

Akhirnya, memudahkan peretas membaca sebagian isi memori server yang seharusnya tidak boleh diakses.

Bagaimana Cara Mengetahui Website Terkena Heartbleed Bug?

1. Menggunakan Alat Pemindai Keamanan Online

Setelah bug ini diumumkan, banyak tool online gratis bermunculan. 

Pengguna bisa memasukkan alamat website, dan tool tersebut akan mencoba mengirimkan Heartbeat request yang dimodifikasi untuk melihat apakah server membocorkan data memori atau tidak.

Sekarang, beberapa tool pemindaian keamanan SSL seperti Qualys SSL Labs ada yang masih mencantumkan status Heartbleed dalam laporannya. 

Kegunaan utama tool spesifik Heartbleed saat ini lebih terbatas pada pengujian sistem internal atau legacy yang 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 melihat versi OpenSSL yang terpasang.

  • Versi OpenSSL yang Rentan: Versi 1.0.1 hingga 1.0.1f.
  • Versi OpenSSL yang Aman: Versi 1.0.1g dan semua versi setelahnya (termasuk seri 1.0.2, 1.1.1, 3.0, dan seterusnya).

Jika kamu pengelola server, pastikan servermu menggunakan versi OpenSSL yang sudah diperbarui dan tidak lagi termasuk rentang versi yang rentan. 

3. Menggunakan Alat Keamanan Jaringan

Administrator jaringan bisa menggunakan alat seperti Nmap atau exploit framework untuk menguji kerentanan server secara aktif. 

Namun, cara ini biasanya dilakukan saat audit keamanan atau pengujian penetrasi (penetration testing).

Begini Cara Mengatasi Heartbleed Bug!

Solusi paling mendasar untuk Heartbleed Bug adalah memperbarui versi pustaka OpenSSL yang rentan ke versi yang sudah diperbaiki

Mengingat bug ini ditemukan pada 2014, tindakan ini seharusnya sudah dilakukan bertahun-tahun yang lalu oleh para administrator sistem.

Namun, kalau kita melihat kembali proses penanganan pada saat itu, atau dalam skenario ternyata kamu menemukan legacy yang ternyata masih rentan, ini langkah-langkah yang perlu diambil:

1. Perbarui (Update/Patch) Pustaka OpenSSL

Administrator harus segera mengidentifikasi server mana saja yang menggunakan OpenSSL versi rentan dan memperbaruinya ke versi yang sudah aman. 

Proses pembaruan tergantung sistem operasi server yang digunakan.

Misalnya, menggunakan apt-get update && apt-get upgrade di Debian/Ubuntu, atau yum update di CentOS/RHEL.

2. Buat Pasangan Kunci Baru dan Ganti Sertifikat SSL

Karena ada risiko 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, yakni private key dan public key.
  • Mengajukan permintaan penerbitan ulang (reissue) sertifikat SSL ke CA menggunakan public key yang 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 atau memaksa semua pengguna untuk mengganti password akun mereka setelah server dipastikan aman.

4. Batalkan (Invalidate) Sesi Pengguna yang Aktif:

Cookie sesi atau token autentikasi yang 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 akan 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 yang bergantung pada OpenSSL, seperti server email, VPN, load balancer, firewall, dll.

Pastikan semuanya juga diperbarui ke versi yang aman.

Kesimpulan

Heartbleed bug adalah contoh betapa berbahayanya celah keamanan pada software seperti OpenSSL, yang pada masanya mencuri data sensitif dari memori server. 

Meskipun bug ini sudah lama diperbaiki melalui pembaruan OpenSSL dan langkah-langkah mitigasi lainnya, insiden ini memberikan pelajaran berharga 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!

Faqihah Husnul Faqihah Husnul Khatimah adalah SEO Writer dengan pengalaman 2+ tahun menciptakan konten informatif dan persuasif untuk berbagai industri, termasuk teknologi. Bersama GudangSSL, berkomitmen untuk membantu Anda menemukan sertifikat SSL terbaik dan terpercaya.

Positive SSL: Arti, Keunggulan, dan Cara Order!

Ingin website kamu terlihat lebih aman dan profesional di mata pengunjung?  Salah satu cara termudah dan paling terjangkau adalah dengan memasang sertifikat SSL, dan...
Faqihah Husnul
2 min read

POODLE Attack: Arti, Cara Kerja, dan Tips Mengatasinya!

Setelah dunia siber sempat dihebohkan oleh Heartbleed, tidak lama kemudian pada tahun 2014 muncul lagi sebuah kerentanan keamanan bernama POODLE.  Nama ini adalah akronim...
Faqihah Husnul
3 min read

BEAST Attack: Arti, Cara Kerja, dan Tips Mengatasinya!

Khawatir tentang keamanan koneksi HTTPS websitemu?  Tahukah GudPeople tentang BEAST Attack, sebuah teknik lama yang bisa digunakan untuk mencuri data sensitif? Sekilas Mengenai BEAST...
Faqihah Husnul
4 min read