Akhir-akhir ini internet dihebohkan dengan adanya virus Heartbleed yang katanya bisa mencuri data penting walaupun sudah menggunakan SSL. Bahkan situs sebesar yahoo pun hampir saja lumpuh karena virus ini. Seperti apa sih virus ini ?, buat yang penasaran ikuti terus penelusuran ane yaa..
Virus ini disebabkan karena adanya bug pada SSL (Security Socket Layer), dimana SSL berperan dalam enkripsi data yang dikirim dari client menuju server. Sederhananya seperti waktu kita login facebook, google mail, yahoo mail, dan lain-lain. SSL yang berperan mengenkripsi data login kita sampai menuju server, dan di dekripsi oleh server.
Seperti apa sih SSL itu ?, kalau teman-teman pernah melihat disebelah kiri domain ada gambar gembok hijau, itulah SSL.
Seperti yang ane jelaskan diatas bahwa SSL ini sangat berperan penting melindungi data-data yang dikirimkan, lalu bagaimana SSL bekerja ?
SSL (Secure Socket layer) adalah protokol yang menjamin confidentiality dan authentication komunikasi dari satu titik awal ke titik akhir. Data apapun yang dilewatkan melalui SSL dijamin aman dari pengintip di tengah jalan karena semua data dikirim dalam keadaan terenkripsi. Karena itu SSL sering dijadikan terowongan (tunnel) untuk membuat protokol lain yang tidak secure menjadi secure. Contoh pemakaian SSL sebagai tunnel adalah pada https. Http sejatinya adalah protokol clear text, artinya semua request dan response http yang lewat tidak terenkripsi dan bisa disadap siapapun yang berminat. Namun untuk web tertentu yang sensitif seperti bank memerlukan jaminan confidentiality, oleh karena itu protokol Http ini dibungkus dan dilewatkan tunnel SSL, sehingga menjadi apa yang dikenal sebagai https yaitu http tunneled over SSL. Masih banyak protokol lain yang bisa dilewatkan tunnel SSL, antara lain IMAP, SMTP, POP, LDAP.
Protokol TLS (SSL 3.1) mengijinkan aplikasi klien/server untuk berkomunikasi melalui sebuah jaringan yang didesain untuk mencegah penyadapan.
Sebuah klien TLS dan server menegosiasikan sebuah koneksi dengan menggunakan sebuah prosedur handshaking (jabat tangan). Selama handshake ini, klien dan server menyetujui berbagai parameter digunakan untuk menetapkan keamanan koneksi.
• Jabat tangan dimulai ketika sebuah klien mengkoneksi ke sebuah server dengan TLS-enable yang membutuhkan sebuah koneksi yang secure dan menampilkan daftar CipherSuites (ciphers dan hash functions) yang didukung.
• Dari daftar tersebut, server memilih salah satu cipher dan hash function yang paling kuat dan menotifikasi klien untuk pengambilan keputusan.
• Server mengirim balik identifikasinya dalam bentuk sebuah sertifikat digital. Atau yang lebih dikenal sebagai CSR (Certificate Signing Request). Sertifikat ini biasanya mengandung nama server, certificate authority (CA), dan public encryption key dari server. Temukan selengkapnya tentang CSR disini: sslshopper.com/what-is-a-csr-certificate-signing-request.html
• Klien kemudian akan menghubungi server bahwa sertifikat digital tersebut benar valid sebelum memulai proses.
• Dalam rangka menghasilkan session keys yang digunakan untuk secure connection, klien mengenkripsi sebuah nomor acak dengan mengirim hasilnya ke server. Hanya server yang bisa mendekripsinya dengan private key server.
• Dari nomor acak, kedua belah pihak menghasilkan material key untuk enkripsi dan dekripsi.
Dengan demikian Handshaking pun berakhir dan secure connection pun dimulai, klien dan server bisa saling bertukar data disini. Data-data tersebut terenkripsi dan didekripsi dengan material key hingga koneksi diputus. (wikipedia)
SSL sendiri didapatkan dengan menggunakan layanan penyedia SSL seperti Verisign, Comodo, Cybertrust/Verizon, StartSSL, WhichSSL, SSL Shopper, dan masih banyak lagi.
Lalu apa hubungannya dengan Heartbleed ?
Heartbleed sendiri adalah virus yang memanfaatkan celah pada SSL, tepatnya OpenSSL. Banyak penyedia layanan SSL menggunakan OpenSSL yaitu sebuah proyek yang bersifat kolaboratif oleh para sukarelawan mengembangkan peranti lunak untuk implementasi protokol keamanan kriptografi secure socket layer (SSL) dan transport layer security (TSL) yang menjamin keamanan komunikasi di internet dengan memastikan pihak yang saling berkomunikasi dikenal dan memiliki akses sah. Sama seperti linux, dan teman-temannya.
Bagaimana Heartbleed bekerja ?
Banyak analis menggambarkan cara kerja Heartbleed dengan rumit, disini ane sisipkan gambar cara kerja Heartbleed secara sederhana.
Nama Heartbleed yang berarti jantung yang berdarah-darah secara harfiah cocok menggambarkan situasi yang ada mengingat OpenSSL seharusnya melindungi lebih dari 90% komunikasi online global sejak versi yang memiliki bug itu dirilis pada 14 Maret 2012. Jelas, eksploitasi atas bug itu bisa memengaruhi layanan internet yang digunakan banyak orang. Mengingat begitu banyaknya lokasi yang rentan, bakal sangat sulit untuk menemukan segala hal yang perlu menjalani perbaikan, kata Vicent Berk, direktur firma keamanan komputer FloTraq.
Dikutip dari heartbleed.com, saat ini bug pada openSSL dapat diperbaiki karena script sejeni Fixed OpenSSL telah dirilis. Heartbleed.com juga menganjurkan setiap vendor, sistem operasi, distributor, penyedia layanan, dan pihak lain segera mengadopsinya. Selain itu, diwajibkan juga untuk memberitahukan kepada pelanggan bagaimana cara meminimalisir dampak virus Heartbleed ini.