Bug Heartbleed Pada SSL
Apa itu Heartbleed Bug?
Bug Heartbleed adalah kelemahan utama dalam OpenSSL, perangkat lunak enkripsi yang meningkatkan banyak komunikasi aman di Web. Itu diumumkan oleh peneliti keamanan komputer pada 7 April 2014.
Mekanismenya adalah sebagai berikut. Standar SSL mencakup opsi detak jantung. Hal ini memungkinkan komputer di salah satu ujung sambungan SSL untuk mengirim pesan singkat, memverifikasi bahwa komputer lain masih online, dan membalas tanggapan. Para peneliti telah menemukan bahwa mereka dapat mengirim pesan detak jantung berbahaya yang dibentuk dengan cerdik untuk mengelabui komputer lain agar membocorkan informasi rahasia. Secara khusus, Anda dapat mengelabui komputer yang rentan agar mengirimkan konten memori server, yang disebut RAM.
Pada tahun 2014, ilmuwan komputer Universitas Princeton Ed Felten (dan Pengungkapan, mantan penasihat pascasarjana saya) mengatakan bahwa penyerang yang menggunakan teknik ini akan "melakukan pencocokan pola untuk mengklasifikasikan informasi itu, kunci pribadi, kata sandi. , Dan mungkin mencoba menemukan informasi pribadi seperti: " nomor kartu kredit. "
Anda tidak perlu menjelaskan mengapa mengungkapkan kata sandi atau nomor kartu kredit Anda berbahaya. Namun, mengekspos kunci pribadi bisa lebih buruk. Ini adalah informasi yang digunakan server untuk menguraikan informasi terenkripsi yang diterimanya. Jika penyerang memperoleh kunci pribadi server, penyerang dapat membaca informasi yang dikirim ke server. Itu juga dapat menggunakan kunci pribadi untuk menyamar sebagai server dan mengelabui pengguna agar membocorkan kata sandi dan informasi sensitif lainnya.
Serangan heartbleed umumnya berpusat pada server, jadi tidak ada yang dapat dilakukan pengguna untuk melindungi diri mereka sendiri saat menggunakan situs web yang rentan. Namun, setelah masalah diperbaiki di situs web yang aman, pengguna harus memperbarui perangkat lunak mereka untuk mencegah kata sandi yang diperoleh sebelumnya digunakan untuk tujuan jahat.
Situs web mana yang terpengaruh?
Perusahaan yang terpengaruh termasuk Tumblr, Google, Yahoo, Intuit (pembuat TurboTax), Dropbox, Netflix, dan Facebook. Sejak itu, semua perusahaan ini telah memperbaiki masalahnya. Amazon.com tidak terpengaruh, tetapi Amazon Web Services, yang digunakan oleh banyak situs web kecil, terpengaruh. Apple, Microsoft, PayPal, LinkedIn, eBay, Twitter dan AOL mengatakan mereka tidak terpengaruh.
Sebagian besar situs perbankan dan investasi tidak terpengaruh, termasuk Bank of America, Chase, E-Trade, Fidelity, PNC, Schwab, US Bank, dan Wells Fargo. Ini mungkin karena perusahaan-perusahaan ini menggunakan perangkat lunak enkripsi selain OpenSSL atau tidak meningkatkan ke versi terbaru. Ironisnya, perusahaan yang menjalankan versi OpenSSL lebih dari dua tahun lalu pada April 2014 tidak terpengaruh oleh bug Heartbleed.
Apa itu SSL?
SSL, kependekan dari Secure Sockets Layer, adalah keluarga teknologi enkripsi yang memungkinkan pengguna web untuk melindungi privasi informasi yang mereka kirimkan melalui Internet.
Saat Anda mengunjungi situs web yang aman seperti Gmail.com, Anda akan melihat kunci di sebelah URL untuk menunjukkan bahwa komunikasi Anda dengan situs tersebut dienkripsi. Di peramban Google Chrome:
Kunci ini harus menunjukkan bahwa informasi yang dikirim atau diterima tidak dapat dibaca oleh pihak ketiga. Secara internal, SSL melakukan ini dengan menerjemahkan data ke dalam pesan berkode yang hanya diketahui oleh penerimanya. Jika pihak jahat mendengarkan percakapan, mereka hanya akan melihat string yang tampaknya acak, bukan konten email, postingan Facebook, nomor kartu kredit, atau informasi pribadi lainnya.
SSL diperkenalkan oleh Netscape pada tahun 1994. Dalam beberapa tahun terakhir, layanan online utama cenderung menggunakan enkripsi secara default. Saat ini, Google, Yahoo, dan Facebook semuanya menggunakan enkripsi SSL untuk situs web dan layanan online mereka secara default.
Jika diterapkan dengan benar, SSL dianggap sangat aman. Namun, 2014 adalah tahun yang buruk bagi keamanan SSL. Heartbleed bukan satu-satunya kelemahan keamanan yang ditemukan tahun itu. Pada bulan Februari, cacat serius ditemukan dalam implementasi SSL Apple. Bulan berikutnya, ditemukan kesalahan dalam implementasi SSL populer lainnya di sistem operasi open source.
Apa itu OpenSSL?
OpenSSL adalah perangkat lunak yang memungkinkan komputer untuk berkomunikasi menggunakan standar enkripsi SSL. Ini adalah proyek open source yang dibuat dan dikelola oleh sukarelawan. Pertama kali dirilis pada tahun 1998, telah menjadi salah satu implementasi SSL paling populer di dunia.
OpenSSL banyak digunakan. Salah satu alasannya adalah karena tertanam dalam berbagai produk perangkat lunak lainnya. Misalnya, dua paket perangkat lunak server web paling populer, yang dikenal sebagai Apache dan nginx, keduanya menggunakan OpenSSL untuk mengenkripsi situs web.
Pada saat serangan Heartbleed, situs OpenSSL mendaftarkan 15 pengembang aktif, yang sebagian besar berkontribusi pada proyek secara sukarela. Namun, tidak semua perubahan pada perangkat lunak OpenSSL telah ditulis oleh 15 orang ini. Sebaliknya, pengembang ini membantu menyaring dan mengatur perubahan yang diusulkan oleh komunitas yang lebih besar dari orang-orang yang kadang-kadang berkontribusi.
Mengingat bahwa proyek perangkat lunak komersial yang terkenal sering kali memiliki lusinan atau ratusan orang yang mengerjakan proyek tersebut, tidak kentara ketika tim OpenSSL memperkenalkan versi baru perangkat lunak pada tahun 2012. Tidak mengherankan, saya tidak melihat bug Heartbleed.
Setelah bug Heartbleed ditemukan, beberapa perusahaan teknologi besar mengumpulkan sumber daya untuk mendanai upaya yang lebih besar untuk melindungi OpenSSL dan perangkat lunak sumber terbuka lainnya yang membentuk infrastruktur inti Internet.
Bagaimana cara kerja serangan Heartbleed?
Standar SSL menyertakan opsi "detak jantung". Ini menyediakan cara untuk mengonfirmasi ulang bahwa komputer di salah satu ujung sambungan SSL masih memiliki seseorang di ujung lain sambungan. Fitur ini berguna karena beberapa router internet terputus jika tidak digunakan terlalu lama. Singkatnya, protokol detak jantung bekerja seperti ini:
Pesan detak jantung memiliki tiga bagian: permintaan pengakuan, pesan singkat yang dipilih secara acak (dalam hal ini "pisang"), dan jumlah karakter dalam pesan. Server seharusnya mengkonfirmasi bahwa permintaan telah diterima dan mengembalikan pesan dalam burung beo.
Serangan heartbleed memanfaatkan fakta bahwa server mungkin terlalu andal. Jika seseorang mengatakan pesan adalah 6 karakter, server akan secara otomatis mengirim kembali 6 karakter yang sesuai. Pengguna jahat dapat memanfaatkan kebodohan server.
Jelas, kata "jerapah" tidak panjangnya 100 karakter. Namun, server tidak perlu repot memeriksa sebelum mengembalikan respons, sehingga mengembalikan 100 karakter. Secara khusus, ia mengirimkan kembali salah satu dari 93 karakter yang kebetulan disimpan setelah kata 7 huruf "jerapah" diikuti oleh kata "jerapah" di memori server. Komputer sering menyimpan informasi dalam urutan yang tidak direncanakan untuk mengemasnya sekencang mungkin ke dalam memori, sehingga tidak diketahui informasi apa yang akan dikembalikan. Dalam hal ini, memori kecil setelah kata "jerapah" berisi informasi pribadi rahasia milik pengguna John Smith.
Dalam serangan Heartbleed yang sebenarnya, penyerang tidak hanya meminta 100 karakter. Seorang penyerang dapat meminta teks biasa sekitar 64.000 karakter. Itu juga dapat mengirim pesan detak jantung berbahaya beberapa kali alih-alih hanya meminta sekali, memungkinkan penyerang untuk merebut kembali berbagai fragmen memori server setiap kali. Dalam prosesnya, Anda bisa mendapatkan banyak data yang tidak dimaksudkan untuk dibuka untuk umum.
Memperbaiki masalah ini mudah. Anda perlu membuat server kurang dapat diandalkan. Server harus memastikan bahwa tidak diperlukan untuk mengembalikan lebih banyak karakter daripada yang diterima semula, daripada mengembalikan jumlah data yang diminta secara membabi buta. Inilah yang dilakukan perbaikan OpenSSL untuk Heartbleed Bug.
Siapa yang menemukan kerentanan?
Ini awalnya ditemukan oleh para peneliti di Codenomicon dan Google Security. Codenomicon membantu membuat situs web yang ramah pengguna tentang kerentanan dan menyebarkan kesadaran dengan cepat.
Untuk meminimalkan kerusakan yang disebabkan oleh pengungkapan, peneliti bekerja dengan tim OpenSSL dan orang dalam penting lainnya untuk menyiapkan perbaikan sebelum masalah dipublikasikan.
Bagaimana bug Heartbleed ditambahkan ke OpenSSL?
Kode cacat telah ditambahkan ke versi eksperimental SSL pada akhir 2011 dan dirilis ke publik pada Maret 2012. Patch perangkat lunak yang rusak diajukan oleh seorang Jerman bernama Robin Seggelmann.
"Saya sedang bekerja untuk meningkatkan OpenSSL, mengirimkan sejumlah perbaikan bug dan menambahkan fitur baru," katanya kepada The Sydney Morning Herald. "Salah satu fitur baru, sayangnya, saya melewatkan validasi variabel termasuk panjang."
Pengajuan ditinjau oleh pengembang OpenSSL, tetapi tidak ada orang yang menyadari bahwa kode tersebut dapat disalahgunakan untuk mengelabui server agar membocorkan isi memori.
Informasi apa yang bisa saya dapatkan dengan serangan Heartbleed?
Serangan Heartbleed bekerja dengan mengelabui server agar membocorkan informasi yang disimpan dalam memori. Oleh karena itu, informasi yang diproses oleh web server berpotensi rentan. Ini termasuk kata sandi, nomor kartu kredit, catatan medis, dan konten email pribadi atau pesan media sosial.
Penyerang juga dapat mengakses kunci enkripsi pribadi server. Ini memungkinkan penyerang untuk menguraikan pesan pribadi yang dikirim ke server dan bahkan menyamar sebagai server.
Apakah serangan menggunakan bug Heartbleed berhasil?
Ya, perusahaan keamanan Mandiant melaporkan bahwa mereka telah mengamati serangan jantung "di alam liar." Serangan itu menargetkan layanan jaringan pribadi virtual organisasi yang tidak disebutkan namanya untuk mendapatkan akses ke jaringan internal perusahaan.
Jenis serangan ini sangat menakutkan, karena menunjukkan bahwa peretas menemukan bahwa bagian Internet paling tidak mungkin diperbarui untuk melindungi dari Heartbleed.
Setelah bug Heartbleed ditemukan, organisasi besar seperti Google dan Tumblr menerima banyak liputan. Tapi ini adalah perusahaan besar dengan ribuan insinyur. Mereka memiliki sumber daya dan keahlian untuk memperbaiki perangkat lunak dan dengan cepat memperkuat pertahanan mereka.
Namun, OpenSSL digunakan oleh berbagai peralatan jaringan khusus. Perangkat lunak pada peralatan jaringan ini mungkin tidak mudah untuk ditingkatkan seperti server web tujuan umum. Dan organisasi kecil ini mungkin tidak menyadari bahwa perangkat menjalankan OpenSSL terlebih dahulu, dan mungkin hanya tahu sedikit tentang cara memperbaikinya.
Sulit untuk melihat seberapa luas serangan Heartbleed telah dieksploitasi. Seorang peretas yang mencuri kata sandi pengguna, nomor kartu kredit, dan data pribadi lainnya dapat memutuskan untuk berbohong selama beberapa waktu sebelum mencoba menggunakan informasi ini. Juga, jika Anda akhirnya menggunakan informasi pribadi Anda untuk tujuan penipuan, Anda mungkin tidak tahu apakah Anda memperolehnya melalui serangan Heartbleed atau taktik lainnya.
Apa yang sedang dilakukan untuk mencegah masalah di masa depan seperti Heartbleed?
Skala serangan Heartbleed telah memicu seruan kebangkitan bagi komunitas Internet. Sebagai tanggapan, lebih dari 12 perusahaan teknologi telah berjanji untuk berkontribusi pada inisiatif infrastruktur inti mereka. Diselenggarakan oleh Yayasan Linux nirlaba, proyek ini akan mendanai proyek sumber terbuka yang banyak digunakan seperti OpenSSL, yang tidak didanai dengan baik.
Yayasan mengatakan kepada Ars Technica pada akhir April 2014 bahwa mereka telah menerima $3,9 juta dalam bentuk donasi dari perusahaan teknologi besar seperti Amazon, Microsoft, Google dan Facebook.
Juga mendanai upaya keamanan Internet adalah Hewlett Foundation, yang didirikan oleh salah satu pendiri HP William Hewlett dan istrinya. Dengan pandangan ke depan yang luar biasa, Yayasan mengumumkan "Inisiatif Cyber" senilai $20 juta pada 2 April 2014, beberapa hari sebelum rilis Inisiatif Heartbleed. Yayasan ingin mendukung "pengembangan jaringan profesional yang bekerja untuk menjaga keamanan, keterbukaan, dan pengelolaan Internet yang tepat."
Investasi ini merupakan langkah kecil menuju penyelesaian kekurangan dana yang signifikan untuk keamanan Internet. Web menyumbang miliaran dolar dalam perdagangan. Bahkan setelah investasi amal senilai $24 juta ini, lebih banyak sumber daya perlu diinvestasikan untuk melindungi Web.