Memeras data dengan senyum

Apa yang terjadi jika duplikat kunci rumah anda ditangan pencoleng? Pekan lalu, pakar keamanan internet menyadari lebih dari 500.000 situs terancam karena ada kemungkinan kunci-kunci pelindungnya sudah ditangan penjahat.

heart-bleed-bug

Para pencoleng itu menyusup masuk lewat lobang pada sistem keamanan internet yang kemudian dinamai Heartbleed Bug (HB). Ditemukan secara tidak sengaja Selasa pekan lalu oleh Riku, Antti dan Matti anggota tim peneliti dari perusahaan riset keamanan komputer Codenomicon. Peringatan serupa juga dilansir Neel Mehta dari Google Security.

Codenomicon menjelaskan HB menyerang situs yang dilindungi OpenSSL, perangkat lunak kriptograf yang dipakai secara luas. Situs yang terjangkit, bisa menyerahkan informasi, yang pada kondisi normal di lindungi. Pencoleng bisa menggondol informasi penting seperti nama login, password, bahkan mencuri data-data penting dan menyadap komunikasi. Repotnya, mereka bisa pergi tanpa meninggalkan jejak sedikitpun.

Bagaimana bug ini bekerja? Rusty Foster seorang programmer menulis untuk laman New Yorker , memberi gambaran lebih dalam tentang bug dengan nama resmi Common Vulnerabilities and Exposures (CVE)-2014-0160 itu.

Untuk membangun komunikasi yang aman dan terlindungi antara browser dengan web server dibuatlah tahapan-tahapan yang terstandar. Tahapan ini diberi nama protocol Transport Layer Security (TLS). Agar TLS bisa bekerja diperlukankan perangkat lunak penyandian atau yang dikenal enkripsi. Menulis program enkripsi sangat sulit. Kesalahan kecil saja bisa menyeret seluruh benteng pertahanan yang dibangun runtuh. Karena itu proses menulis enkripsi selalu diserahkan pada programmer yang benar-benar sudah ahli.

Tahun 1998 programer punya pilihan untuk menggunakan OpenSSL, sebuah program open source yang berisi baris-baris program enkripsi yang bisa dimodifikasi sesuai kebutuhan situs yang bersangkutan. Keuntungan menggunakan OpenSSL, programmer tidak perlu membuat program dari nol. Kedua, karena sifatnya open-ource, setiap orang bisa mengecek apakah ada bug atau tidak. Karena itu sistem ini dianggap lebih aman dan lebih bisa dihandalkan daripada program yang dibuat satu orang atau satu perusahaan.

Salah satu bagian kecil dari protokol TLS adalah heartbeat extension. Fungsinya untuk mengecek apakah pihak lain masih dalam kondisi berkomunikasi. OpenSSL yang ‘menghidupkan’ fungsi inilah yang kemudian diketahui bermasalah. Dari situ muncul istilah Heartbleed bug.

Prinsip kerja heartbeat extension adalah kedua belah pihak, misalkan browser dan web server, saling berkirim data untuk memastikan keduanya sedang aktif berkomunikasi. Web broser bisa mengirim sepotong kecil data –hingga 65 kb- bersama dengan angka yang mengindikasikan ukuran data yang telah dikirim. Dipihak lain, server diharapkan mengirimkan data yang sama persis untuk mengkonfirmasi bahwa koneksi masih aktif. Sialnya, di OpenSSL, pihak yang membalas kiriman dalam hal ini web server, lebih melihat pada angka yang disebutkan bukan data aktual yang kirim. Artinya bila disebutkan angka yang yang jauh lebih besar daripada yang secara aktual dikirim, responnya dia akan menyerap data dari sistem memory komputer untuk memenuhi angka itu.

Inilah masalahnya. Dia akan mengirim balik data apa saja yang tersedia saat permintaan datang. Data apa yang dikirim balik oleh heartbeat tidak bisa ditebak. Tidak ada cara untuk memprediksi apa yang dikirim. Jadi jika ada orang jahat mempraktekkan modus ini, dia tidak pernah tahu pasti pada yang akan diperolehnya. Namun sistem memori biasanya menyimpan nama login, password, secure certificates dan access token dan lainnya yang sejenis itu.
Sebenarnya data di sistem memory ini sifatnya temporer. Dia akan dihapus saat komputer di shut down dan data yang disimpannya di tulis dan ditulis ulang lagi setiap saat. Secara umum dianggap aman untuk meyimpan kunci kunci sandi kriptografi atau password yang belum di sandikan. HB bisa digunakan penyusup untuk memeras keluar data-data itu dari sistem memory hanya dengan sekedar memintanya. Seperti orang jahat yang meminta kunci rumah dengan senyum manis saja. Permintaan kepada heartbeat biasanya tidak dicatat atau di monitor sehingga penyusup bisa pergi tanpa meninggalkan jejak. Bahkan sistem ini tidak bisa membedakan mana permintaan heartbeat jahat dari permintaan hearbeat yang sebenarnya. Analisa detail yang bisa membedakan jenis permintaan itu. Karena itu, penyusup bisa meminta terus-menerus data sistem memory tanpa diketahui korbannya.

Data-data yang biasa didapat dari sistem memory adalah kunci-kunci sandi kriptografi yang mengamankan koneksi antar komputer juga certificate. Penyusup bisa mengunakan kunci-kunci sandi itu memecahkan enkripsi data data yang dicuri sebelumnya dan juga yang akan datang. Penyusup yang bisa mendapatkan data certificate bisa menirunya dan digunakan untuk menyadap komunikasi. Dengan kata lain browser bisa di akali seakan-akan sedang melakukan kmunikasi aman padahal komunikasi itu juga melewati pihak ketiga yang diam-diam membaca semua informasi rahasia yang mengalir ke kedua belah pihak.

Rusty mengutip pendapat pakar enkripsi komputer Bruce Schneier yang sudah berkecipung dibidang ini lebih dari lima belas tahun. “Pada skala 0 -10, ini 11,” katanya menggambarkan tingkat kerusakan yang disebabkan bug ini. Perusahaan keamanan internet, Netcraft melaporkan setidaknya 500.000 situs yang diklaim aman, nyatanya sangat rentan terhadap serangan ini. Termasuk situs popular seperti Yahoo, Tumblr dan Dropbox.

Skenario paling buruk, perusahaan jahat, agen intel asing dan hacker yang sudah mengenal betapa ampuhnya HB selama dua tahun bisa menggunakannya secara sistematis dan mengakses semua situs yang dilindungi data terenkripsi.

Namun tidak ada yang tahu seberapa besar kerusakan. Apakah scenario itu memang terjadi, atau belum terjadi apa-apa karena bisa jadi para peneliti yang menemukan bug itu, adalah orang pertama yang tahu. Dan pada saat HB diumumkan OpenSSL yang lebih aman juga diluncurkan. Situs-situs besar seperti Google dan Yahoo juga langsung melakukan perbaikan.

Mengapa bug yang dampaknya luarbiasa ini tidak terdeteksi selama dua tahun? OpenSSL itu merupakan proyek sampingan yang dikerjakan empat orang. Dari empat orang itu tidak ada satupun yang full-time mengurusi OpenSSL. Bagian yang bermasalah dari openSSL itu ditulis dengan bahasa pemograman C, bahasa lawas yang dibuat tahun 1973. Bahasa program ini menuntu programmer untuk mengatur penggunaan sistem memory. Bahasa yang lebih modern secara otomatis mengatur penggunaan memori sehingga potensi kebocoran tidak terjadi.

Sebelum mengumumkan pada dunia, para peneliti di Codenomicon mengetes komputernya sendiri untuk mempelajari lebih dalam tentang bug itu. Mereka terkejut betapa mudahnya menembus sistem keamanannya, bahkan tanpa menggunakan informasi khusus yang biasanya diperlukan untuk meretas sebuah komputer. Informasi seperti user names, password, pesan singkat, email hingga dokumen bisnis yang penting bisa diakses dari luar dengan gampangnya.

Saran perbaikan dari Codenemicon, selain menambal lobang (patching) juga mencabut dan mengganti kunci-kunci sandi lalu mendistribusikan kunci sandi baru. Pekerjaan ini harus dilakukan pengelola layanan . Langkah ini bukan sekedar teknikal belaka, tapi lebih pada upaya mengembalikan kepercayaan pengguna pada kemampuan layanan mereka melindungi data-data penting

Dokumen, email, percakapan, pesan singkat atapun content lain yang dilindungi enkripsi itu ada kemungkinan bocor juga. Tugas pengelola layanan untuk menentukan sebarapa besar kemungkinan disadap. Jika ada kemungkinan itu, kewajiban pengelola untuk memberitahu pengguna. Jika pengelola layanan sudah menyelesaikan pekerjaaannya dan memastikan situsnya sudah aman, pengguna bisa mengubah password.

Sekarang, silahkan mereka-reka password baru anda.

Ditulis untuk Majalah Gatra – Versi belum di edit-

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s