Video: Heartbleed Exploit - Discovery & Exploitation (Desember 2024)
Dalam minggu sejak peneliti mengungkapkan kerentanan Heartbleed di OpenSSL, telah ada banyak diskusi tentang jenis penyerang informasi apa yang sebenarnya dapat diperoleh dengan mengeksploitasi bug. Ternyata cukup banyak.
Seperti yang telah dicatat oleh Security Watch sebelumnya, Heartbleed adalah nama bug di OpenSSL yang membocorkan informasi dalam memori komputer. (Lihat komik hebat XKCD yang menjelaskan kekurangan itu). Para peneliti menemukan bahwa kredensial login, informasi pengguna, dan informasi lain dapat dicegat dengan mengeksploitasi kelemahan tersebut. Para ahli mengira kemungkinan untuk mendapatkan kunci privat server dengan cara ini juga.
Sertifikat dan kunci pribadi digunakan untuk memverifikasi bahwa komputer (atau perangkat seluler) terhubung dengan Situs web yang sah dan bahwa semua informasi yang dikirimkan dienkripsi. Browser menunjukkan koneksi yang aman dengan gembok dan menunjukkan peringatan jika sertifikat tidak valid. Jika penyerang bisa mencuri kunci pribadi, mereka bisa membuat situs web palsu yang akan terlihat sah dan mencegat data pengguna yang sensitif. Mereka juga akan dapat mendekripsi lalu lintas jaringan terenkripsi.
Tes Pengawasan Keamanan
Karena penasaran untuk melihat apa yang bisa kami lakukan dengan server yang menjalankan versi OpenSSL yang rentan, kami memulai contoh Kali Linux dan memuat modul Heartbleed untuk Metasploit, kerangka pengujian penetrasi dari Rapid7. Bug itu cukup mudah untuk dieksploitasi, dan kami menerima string dari memori server yang rentan. Kami mengotomatiskan proses untuk terus memukul server dengan permintaan berulang sambil melakukan berbagai tugas di server. Setelah seharian menjalankan tes, kami telah mengumpulkan banyak data.
Mendapatkan nama pengguna, kata sandi, dan ID sesi ternyata cukup mudah, meskipun mereka terkubur dalam apa yang tampak seperti banyak gobblygook. Dalam skenario kehidupan nyata, jika saya seorang penyerang, kredensial dapat dicuri dengan sangat cepat dan diam-diam, tanpa memerlukan banyak keahlian teknis. Ada unsur keberuntungan yang terlibat, karena permintaan itu harus mengenai server pada saat yang tepat ketika seseorang masuk atau berinteraksi dengan situs untuk mendapatkan informasi "dalam memori." Server juga harus menekan bagian kanan memori, dan sampai sekarang, kami belum melihat cara untuk mengendalikannya.
Tidak ada kunci pribadi yang muncul dalam data kami yang dikumpulkan. Itu bagus, bukan? Ini berarti terlepas dari skenario terburuk kami, tidak mudah untuk mengambil kunci atau sertifikat dari server yang rentan - satu hal yang tidak perlu kita khawatirkan di dunia pasca-Heartbleed ini.
Bahkan orang-orang pintar di Cloudflare, sebuah perusahaan yang menyediakan layanan keamanan untuk Situs Web, tampaknya setuju bahwa itu bukan proses yang mudah. Bukan tidak mungkin, tetapi sulit dilakukan. "Kami telah menghabiskan banyak waktu menjalankan tes ekstensif untuk mencari tahu apa yang dapat diekspos melalui Heartbleed dan, khususnya, untuk memahami apakah data kunci SSL pribadi berisiko, " Nick Sullivan, seorang insinyur sistem di Cloudflare, awalnya menulis di blog perusahaan minggu lalu. "Jika mungkin, itu sangat sulit, " tambah Sullivan.
Perusahaan itu membuat server yang rentan minggu lalu dan meminta komunitas keamanan untuk mencoba mendapatkan kunci enkripsi pribadi server menggunakan bug Heartbleed.
Tapi, Sebenarnya...
Sekarang tiba kekuatan crowdsourcing. Sembilan jam setelah Cloudflare mengatur tantangannya, seorang peneliti keamanan berhasil memperoleh kunci pribadi setelah mengirim 2, 5 juta permintaan ke server. Peneliti kedua berhasil melakukan hal yang sama dengan permintaan yang jauh lebih sedikit - sekitar 100.000, kata Sullivan. Dua peneliti lagi mengikuti selama akhir pekan.
"Hasil ini mengingatkan kita untuk tidak meremehkan kekuatan kerumunan dan menekankan bahaya yang ditimbulkan oleh kerentanan ini, " kata Sullivan.
Kami kembali ke pengaturan pengujian kami. Kali ini, kami menggunakan program heartleech dari Robert Graham, CEO Errata Security. Butuh berjam-jam, menghabiskan banyak bandwidth, dan menghasilkan banyak data, tetapi kami akhirnya mendapatkan kuncinya. Kita sekarang perlu menguji terhadap server lain untuk memastikan ini bukan kebetulan. Security Watch juga akan menjajaki bagaimana fakta bahwa OpenSSL diinstal pada router dan peralatan jaringan lain menempatkan perangkat ini dalam risiko. Kami akan memperbarui ketika kami memiliki hasil lebih banyak.
Alih-alih menjadi tidak mungkin, "siapa pun dapat dengan mudah mendapatkan kunci pribadi, " Graham menyimpulkan. Itu pemikiran yang menakutkan.