Tanggal 7 April 2014, diumumkan bahwa versi OpenSSL 1.01
sampai versi 1.0.1f terdapat bug kritis saat implementasi ekstensi Heartbeat
dari TLS. Bug ini dikenal dengan nama Bug Heartbleed. Dan referensi resmi
terhadap ini adalah CVE-2014-0160. Namun penting untuk dicatat bahwa OpenSSL
versi 1.0.1g, 1.0.0, dan 0.9.8 tidak terpengaruh dengan bug heartbleed.
Pengertian HeartBleed
Sebelumnya perlu diketahui heartbleed bukanlah virus.
Heartbleed adalah celah keamanan pada salah satu ekstensi OpenSSl yang disebut
heartbeat. Celah keamanan memumngkinkan attacker(hacker/cracker)
untuk membaca memori dari server yang diproteksi oleh OpenSSL. Deangan celah
keamanan tersebut para attacker dapat mencuri data penting yang disimpan
deserver seperti password, username, dan informasi penting lainnya.
SSL adalah standar keamanan yang akan mengenkripsi teks
(seperti username dan password) yang user kirim via browser.
OpenSSL adalah salah satu teknik SSL tersebut. Dinamakan “open” karena memang bersifat open source.
OpenSSL adalah salah satu teknik SSL tersebut. Dinamakan “open” karena memang bersifat open source.
Heartbeat adalah salah satu fitur OpenSSL yang
diperkenalkan tahun 2012. Tujuan heartbeat adalah mengecek apakah komputer user
masih terhubung ke sebuah server.
Bagaimana Heartbeat dapat menjadi celah
Seperti yang sebelumnya disebutkan heartbeat adalah salah
satu fitur OpenSSL yang berfungsi
mengecek apakah computer user masih terhungung ke server atau tidak.Heartbeat
ini berfungsi seperti saat router yang menjadi perantara antara komputer user
dengan server di internet memutuskan hubungan jika terjadi idle yang terlalu
lama. Dengan heartbeat, komputer user bisa mengetahui apakah masih terhubung
dengan server yang dituju.
Prinsip kerjanya kurang lebih seperti ini, komputer user akan mengirimkan pesan berisi sebuah magic word dan jumlah karakter kata tersebut. Nanti server akan membalas pesan tersebut dengan menyebutkan magic word tersebut.
Fasilitas heartbeat tersebut memiliki kelemahan karena terlalu percaya dengan komputer pengirim. komputer attacker 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 attacker bisa meminta sampai 64.000 karakter.
Prinsip kerjanya kurang lebih seperti ini, komputer user akan mengirimkan pesan berisi sebuah magic word dan jumlah karakter kata tersebut. Nanti server akan membalas pesan tersebut dengan menyebutkan magic word tersebut.
Fasilitas heartbeat tersebut memiliki kelemahan karena terlalu percaya dengan komputer pengirim. komputer attacker 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 attacker bisa meminta sampai 64.000 karakter.
Awal
kemunculan dan Penyebaran heartbleed
Neel Mehta adalah orang yang menemukan pertama kali
heartbleed ,dia 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.
Seperti yang dijelaskan pada pengertian heartbleed merupakan
bug pada ekstensi Heartbeat, maka heartbleed akan muncul ketika heartbeat
diimplementasikan di OpenSSL. Ekstensi Heartbeat dibuat oleh Dr. Robin
Seggelmann pada tahun 2011. Ekstensi ini kemudian direview oleh Dr. Stephen N.
Henson (salah satu dari empat core developer OpenSSL) yang ternyata gagal
menyadari adanya bug di ekstensi tersebut. Heartbeat pun akhirnya dijadikan sebagai
ekstensi OpenSSL yang aktif secara default dan mulai diadopsi oleh banyak
pengelola website sejak dirilisnya OpenSSL versi 1.0.1 pada 14 Maret 2012.
Setidaknya 2/3 website di dunia menggunakan proteksi
OpenSSL, sehingga sebanyak itu pula penyebarannya. Website besar seperti
Google, Gmail, Facebook, Dropbox, Yahoo, Flickr, Instagram, Pinterest, dan
berbagai website populer terkena heartbleed.
Cara
mengetahui website yang terkena Heartbleed
Dari sisi pengguna
User dapat mengetahui website yang terkena heartbleed,
menggunakan Heartbleed Test dari Filippo ataupun dari McAfee. Dengan cara memasukkan URL website
yang dicurigai. jika hasilnya vulnerable maka website tersebut masih belum
kebal terhadap Heartbleed. user juga bisa menggunakan addon browser untuk
semakin memudahkan melihat apakah website yang user kunjungi sudah kebal
terhadap Heartbleed atau belum.
Dari sisi pengelola website
Untuk para pengelola website dapat melakukan pengecekkan
versi OpenSSL di server yang gunakan. Jika versi OpenSSL di server adalah 1.0.1 hingga 1.0.1f, maka server tersebut
belum kebal terhadap Heartbleed.
Cara
mengatasi heartbleed
Bagi pengguna
Bagi pengguna setelah mengecek bahwa website tersebut
terkena heartbleed, dapat menghubungi pengelola website tersebut. User dapat
menanyakan kapan akan ditutup bug tersebut. Atau jika pengelola tersebut belum
mengetahuinya , user dapat mengingatkan agar pengelola segera menambal bug
tersebut.
Ada baiknya gunakan password yang berbeda disetiap website
yang tidak kebal pada heartbleed , hal ini mengurangi resiko kehilangan data
yang lebih besar.
Untuk semakin mengamankan akun , ada baiknya Two-Factor
Authentication jika memang fitur tersebut tersedia. Saat ini berbagai situs
besar dan populer sudah menerapkan teknologi ini. Dengan begini attacker tidak
akan bisa bebas keluar masuk ke akun kamu meskipun dia sudah mengantongi
username dan passwordnya.
Bagi Pengelola Situs
Langkah-langkah penanganan Heartbleed untuk SSL
Certificates dari Symantec, RapidSSL, dan Thawte:
Langkah ke 1: Untuk
menentukan apakah Anda termasuk yang rentan terkena bug Heartbleed, masukkan
nama domain Anda pada https://www.ssllabs.com/ssltest/index.html. Apabila
website Anda hasilnya bersih seperti gambar dibawah ini, maka Anda tidak
memerlukan tindakan apapun.
Namun, jika website Anda ditemukan rentan terkena bug
Heartbleed, Anda harus segera melakukan langkah ke 2 di bawah ini.
Langkah ke 2: Install
update versi terbaru dari OpenSSL pada Server Anda. Anda dapat menemukan versi
ini disini: https://rhn.redhat.com/errata/RHSA-2014-0376.html. Anda juga dapat
mengetahui saran keamanan untuk OpenSSL dari URL berikut: https://www.openssl.org/news/secadv_20140407.txt.
Langkah ke 3: Buat
Certificate Signing Request (CSR) dan Private Key terbaru dari OpenSSL Anda.
File CSR yang baru kemudian digunakan untuk menerbitkan ulang Sertifikat SSL
Anda (Reissue the certificate) sekaligus Anda gunakan dengan Private Key yang
baru untuk diinstall ulang setelah Sertifikat SSL selesai diterbitkan ulang.
Langkah ke 4: Login
ke http://www.warungssl.com/logon dan
klik di menu "List Orders".
Langkah ke 5: Cari
Sertifikat SSL Anda yang akan di-reissue pada daftar tabel dan klik pada No.
"Vendor OrderID" pada Sertifikat SSL yang berstatus Active.
Langkah ke 6: Kemudian
scroll ke halaman bawah, dan klik pada tombol "Re-issue Certificate".
Langkah ke 7: Kemudian
paste hasil CSR baru yang telah dibuat dari versi OpenSSL terbaru, kemudian
lengkapi kembali informasi detail yang dibutuhkan, dan klik pada tombol
"Submit".
Langkah ke 8: Setelah
disubmit, Otoritas Sertifikat Anda akan meminta Anda untuk memverifikasi
kepemilikan domain Anda kembali.
Langkah ke 9: Setelah
proses verifikasi tentang kepemilikan domain Anda selesai, Sertifikat SSL telah
diterbitkan kembali dan Anda dapat melanjutkan untuk menginstall kembali
Sertifikat SSL Anda yang telah diterbitkan ulang.
Langkah ke 10: Setelah
langkah ke 9 selesai, Anda sudah dapat memenuhi langkah pengamanan dengan baik.
Namun, harap dicatat bahwa sertifikat SSL anda yang lama secara otomatis akan
dicabut oleh Otoritas Sertifikat dalam waktu 12 jam setelah Anda melakukan
reissue Sertifikat SSL. Namun, apabila Anda tidak ingin menunggu 12 jam,
Anda dapat menghubungi langsung Otoritas Sertifikat dengan menginformasikan
bahwa Sertifikat SSL yang baru setelah direissue telah diinstall pada Server
Anda, dan meminta Otoritas Sertifikat untuk mencabut Sertifikat SSL yang lama
secara manual (SSL Revocation).
Langkah penanganan Heartbleed untuk SSL Certificates dari
GeoTrust dan Comodo:
Langkah ke 1: Untuk
menentukan apakah Anda termasuk yang rentan terkena bug Heartbleed, masukkan
nama domain Anda pada https://www.ssllabs.com/ssltest/index.html. Apabila
website Anda hasilnya bersih seperti gambar dibawah ini, maka Anda tidak
memerlukan tindakan apapun. Namun, jika website Anda ditemukan rentan
terkena bug Heartbleed, Anda harus segera melakukan langkah ke 2 dibawah ini.
Langkah ke 2: Install
update versi terbaru dari OpenSSL pada Server Anda. Anda dapat menemukan versi
ini disini: https://rhn.redhat.com/errata/RHSA-2014-0376.html. Anda juga dapat
mengetahui saran keamanan untuk OpenSSL dari URL berikut: https://www.openssl.org/news/secadv_20140407.txt.
Langkah ke 3: Buat
Certificate Signing Request (CSR) dan Private Key terbaru dari OpenSSL Anda.
File CSR yang baru kemudian digunakan untuk menerbitkan ulang Sertifikat SSL
Anda (Reissue the certificate) sekaligus Anda gunakan dengan Private Key yang
baru untuk diinstall ulang setelah Sertifikat SSL selesai diterbitkan ulang.
Langkah ke 4: Periksa
nomor seri Sertifikat Anda dan simpan kedalam file notepad pada Desktop Anda.
Anda akan membutuhkan informasi ini secara manual pada saat mencabut Sertifikat
SSL lama Anda yang berdapampak rawan keamanan Heartbleed. Anda dapat mengetahui
informasi nomor serial ini dengan mengklik pada ikon gembok disamping URL Anda
pada saat mengakses melalui browser. Silahkan melihat seperti gambar di bawah
ini:
Langkah ke 5: Login
ke http://www.warungssl.com/logon dan
klik di menu "List Orders".
Langkah ke 6: Cari
Sertifikat SSL Anda yang akan di-reissue pada daftar tabel dan klik pada No.
"Vendor OrderID" pada Sertifikat SSL yang berstatus Active.
Langkah ke 7: Kemudian
scroll ke halaman bawah, dan klik pada tombol "Re-issue Certificate".
Langkah ke 8: Kemudian
paste hasil CSR baru yang telah dibuat dari versi OpenSSL terbaru, kemudian
lengkapi kembali informasi detail yang dibutuhkan, dan klik pada tombol
"Submit".
Langkah ke 9: Setelah
disubmit, Otoritas Sertifikat Anda akan meminta Anda untuk memverifikasi
kepemilikan domain Anda kembali.
Langkah ke 10: Setelah
proses verifikasi tentang kepemilikan domain Anda selesai, Sertifikat SSL yang
telah diterbitkan ulang dapat Anda lanjutkan untuk diinstall kembali pada
server Anda.
Langkah ke 11: Setelah
proses instalasi SSL Anda selesai, selanjutnya lakukan proses pencabutan
Sertifikat SSL (Revoke SSL) yang lama secara manual dengan cara melakukan klik
pada tombol Revocation di bawah ini.
Langkah ke 12: Setelah
tombol Revocation diklik, Anda akan dialihkan ke websitehttps://www.centralapi.com/heartbleed.aspx,
dimana kami akan menanyakan informasi username dan password Anda, beserta
dengan Nomor pemesanan (Order Number) Anda serta Nomor Seri dari Sertifikat SSL
yang telah Anda dapatkan seperti langkah No. 4 untuk mencabut Sertifikat SSL
yang lama.
Seberapa
serius situasi ini
Secara teori, OpenSSL bekerja dengan baik. Namun terdapat
kesalahan kecil pada kode sumber seperti Heartbleed. Dan Akibatnya telah
membuat pustaka perangkat lunak dan versi populer berakit lemah keamanan.
Hampir semua versi pada OpenSSL yang terkena mampu memberikan akses pribadi
pada website yang seharusnya menjadi aman karena kode TLS/SSL.
Dalam situasi ini, para penyerang secara teori bisa melihat
isi dari kode rahasia (secret handshake) pada saat sesi SSL terjalin ketika
pengguna melakukan login ke account mereka seperti saat login pada email
account. Username dan password, bahkan hingga informasi nomor Kartu Kredit
sangat mungkin beresiko, dan tergantung pada layanan apa yang sedang diakses
oleh pengguna meskipun belum ada cara untuk mengetahui hal ini dengan pasti.
Penyerang dapat mengidentifikasi dirinya di Internet. Setelah setengah proses
jabat tangan (SSL handshake) terganggu melalui cara ini, penyerang dapat
menggunakan private key baru mereka untuk melakukan serangan yang disebut
dengan serangan "Man-in-the-middle".
Bagikan :
informasi yang sangat bermanfaat sekali gan...
BalasHapusblower hp