Masuk

Ingat Saya

Heartbleed Attack

heartbleed

Heartbleed adalah bug yang memanfaatkan kelemahan pada OpenSSL. Dinamakan Heartbleed karena bug ini memanfaatkan fasilitas Heartbeat yang ada di OpenSSL. SSL itu adalah standar keamanan yang akan mengenkripsi teks (seperti username dan password) yang Anda kirim via browser. Contohnya ketika Anda buka www.facebook.com dan memasukkan username dan password, semua teks itu akan diacak dulu. Jadi, jika ada hacker yang mencoba melakukan sabotase terhadap koneksi dari komputer Anda ke server Facebook, mereka hanya akan mendapatkan teks yang diacak dan tidak terbaca.

A. Ilustrasi

OpenSSL adalah salah satu aplikasi SSL tersebut. Dinamakan “open” karena memang bersifat open source. Siapa saja bisa menyumbang fitur tambahan di OpenSSL ini dan karena open source, OpenSSL banyak digunakan di web server yang membutuhkan proses login. Heartbeat adalah salah satu fitur OpenSSL yang diperkenalkan tahun 2012. Tujuan Heartbeat adalah mengecek apakah komputer Anda masih terhubung ke sebuah server. Router yang menjadi perantara antara komputer Anda dengan server di internet memutuskan koneksi jika terjadi idle (keadaan di mana client tidak melakukan apapun atau tidak melakukan pengiriman data dengan waktu cukup lama).
Dengan Heartbeat, komputer Anda bisa mengetahui apakah masih terhubung dengan server yang dituju. Prinsip kerjanya kurang lebih seperti ilustrasi berikut. Komputer Anda akan mengirimkan pesan berisi sebuah magic word dan jumlah karakter kata tersebut. Selanjutnya server harus membalas pesan tersebut dengan menyebutkan magic word tersebut.

Check Idle

Fasilitas Heartbeat ini memiliki kelemahan karena terlalu percaya dengan komputer pengirim. Seperti ilustrasi di bawah, komputer hacker cuma mengirimkan sebuah kata yang pendek (seperti melati) namun meminta respon sebanyak 100 karakter. Server ternyata tidak mengecek kalau melati hanya memiliki 6 karakter. Server langsung “memuntahkan” semua karakter yang tersimpan di memori RAM-nya untuk memenuhi permintaan 100 karakter tersebut. Dan 100 karakter hanyalah ilustrasi. Sang hacker bisa meminta sampai 64.000 karakter. Atas nama kecepatan, server secara terus-menerus akan menyimpan berbagai data di memorinya. Seperti contoh di atas, memori server bisa menyimpan data nama, alamat email, tanggal lahir, password, sampai nomor kredit Anda.

Try to exploit heartbeat

Pembacaan memori sistem ini akan mengungkap kunci-kunci rahasia (secret keys) yang berfungsi untuk:
• Mengidentifikasi penyedia layanan
• Mengenkripsi lalu lintas data, nama dan password pengguna, juga konten aktual
Pada gilirannya, para penyerang (attacker) bisa:
• Mencuri dengar lalu lintas komunikasi
• Mencuri data secara langsung dari server dan user
• Serta menyamar sebagai penyedia layanan maupun pengguna
Yang lebih berbahaya, private key pun bisa disimpan di memori. Private key adalah kunci rahasia yang digunakan server untuk membuka teks yang diacak oleh OpenSSL tersebut. Private key ini seharusnya hanya diketahui oleh sistem, jika diketahui hacker, berarti semua data yang diacak tersebut bisa dibuka sang hacker dengan mudah. Bug Heartbleed ini sebenarnya tanggung jawab penyedia situs. Mereka harus mengganti OpenSSL ke versi terbaru, sekaligus membuat private key baru.
Untungnya, sang penemu Heartbleed telah menginformasikan bug ini ke OpenSSL Foundation sebelum mengumumkannya ke publik. Alhasil, banyak situs yang telah menanggulangi bug ini sebelum berita resminya beredar, seperti Facebook, Google, dan beberapa situs besar lain. Namun, karena OpenSSL digunakan di sepertiga situs di internet (atau sekitar 500 juta situs), masih banyak yang harus diperbaiki. Dan yang membuat Heartbleed berbahaya adalah tidak ada jejak sedikitpun yang menunjukkan apakah situs tersebut pernah dijebol menggunakan Heartbleed atau tidak. Eksperimen heartbeat ditambahkan oleh Robin Seggelmen, seorang programmer asal Jerman, pada tahun 2011, dan dirilis ke publik pada tahun 2012 namun ia menyangkal kelemahan itu dilakukan secara sengaja. Kode itu pun lolos dari validasi yang dilakukan Dr Stephen Henson yang merupakan salah satu anggota inti OpenSSL Foundation.
Bug ini ditemukan pada tanggal 7 April 2014 oleh Neel Mehta, salah satu anggota Google Security. Atas jasanya tersebut, dia mendapatkan uang sebesar US$ 15 ribu dari Internet Bug Bounty. Namun oleh Neel, uang itu langsung disumbangkan kepada yayasan The Freedom of Press Foundation yang bergerak di bidang keamanan komunikasi digital.
Selama versi rentan OpenSSL masih dipergunakan, ia tetap bisa disalahgunakan. Saat ini, Fixed OpenSSL telah dirilis dan diterapkan. Para penyedia layanan sistem operasi (OS), sistem distribusi dan peralatan multifungsi, pengembang dan penerbit perangkat lunak independen, semua harus mengadopsi perbaikan keamanan tersebut dan meng- informasikannya pada klien mereka.
Di dalam setiap perangkat lunak selalu ada bug yang umumnya bisa diatasi dengan pemutakhiran versi yang lebih baru. Dalam kasus ini, bug yang ada telah mengekspos sejumlah besar private keys dan data rahasisa individu atau kelompok. Dengan mempertimbangkan cukup lamanya kehadiran bug ini, kemudahan eksploitasi, dan nihilnya jejak penyerangan, bug ini harus ditangani dengan serius. Status beberapa versi OpenSSL:

No. Versi Status Heartbleed
1. OpenSSL 1.0.1 Rentan
2. OpenSSL 1.0.1g Aman
3. OpenSSL 1.0.0 Aman
4. OpenSSL 0.9.8 Aman

Nah, untuk testing heartbleed, kita dapat menggunakan tools NMAP dan Metasploit. Untuk tutorial eksploit Heartbleed akan saya posting pada artikel selanjutnya.

Semnagat Mencari Ilmu !! 😀

rudypardosi
Dengan