Posting ini sekedar klarifikasi untuk berbagai misinformasi mengenai ransomware, khususnya WannaCry/WannaCrypt yang baru saja beredar. Sejujurnya saya malas menuliskan ini, tapi nggak tahan juga melihat banyak informasi salah yang beredar. Sekalian juga saya bahas Ransomware secara umum baik penyebaran maupun penanganannya. Posting ini akan saya update jika ada sesuatu yang baru.
Ransomware adalah jenis malware (software jahat) yang mengenkripsi data milik korban lalu meminta tebusan uang (biasanya melalui bitcoin) agar file korban bisa dibuka lagi. Ransomware bisa menyebar melalui email, website, network share, ataupun media lain. Khusus untuk WannaCry, malware ini juga memanfaatkan bug di OS Windows. Jika komputer Windows di jaringan yang sama belum diupdate (dan setting SMB-nya belum diubah), maka tanpa melakukan apapun, komputer tersebut bisa kena.
Jika dilihat di berita, banyak komputer di tempat umum (ATM, mesin antrian, dsb) terinfeksi, ini karena ransomware tersebut sudah masuk ke jaringan tempat mesin tersebut berada. Titik awal masuknya ransomware tersebut bisa dari komputer yang terhubung ke internet langsung yang kena serangan, atau ada orang yang salah membuka attachment ransomware.
Sebelum membaca lebih lanjut. Updatelah Windows Anda, updatelah Antivirus Anda. Backup semua data penting Anda. Sudah ada himbauan resmi dari kominfo dan ID-SIRTII, jadi tidak perlu saya ulangi.
Jika Anda mendengar nama NSA disebut-sebut, alasannya adalah: NSA sudah menemukan bug ini cukup lama, tapi dijadikan tool rahasia (eternalblue). Tool ini dibocorkan oleh salah satu group hacking beberapa bulan lalu sehingga semua orang bisa memakainya. Microsoft sudah langsung menutup lubangnya dengan mengeluarkan update sejak 2 bulan lalu, tapi banyak orang yang tidak mengupdate Windowsnya. Bug ini ada di kode untuk protokol SMB (Server Message Block) Versi 1, protokol ini dipakai dalam berbagai hal, misalnya untuk sharing file dan printer di Windows.
Hal yang penting diketahui adalah: jika Windows Anda sudah update terbaru maka Anda terproteksi dari serangan di jaringan yang sama. Anda bisa masuk ke jaringan perusahaan yang kena WannaCry, dan Anda tidak akan terinfeksi. Tapi jika Anda menjalankan file ransomware ini, Anda tetap bisa kena (misalnya dari email atau dari share jaringan). Jadi tetaplah berhati-hati. Updatelah semua software Anda (misalnya: MS Office juga, jangan cuma Windows), Antivirus Anda, dan jangan sembarangan membuka attachment.
Ada banyak saran untuk memblok port tertentu (TCP: 139/445 & 3389 dan UDP: 137 & 138). Saran ini terutama ditujukan untuk server yang terbuka ke internet. Untuk workstation. perlu diketahui bahwa port 3389 digunakan untuk remote deskop. Untuk port 137/138/139: jika dimatikan maka fitur file sharing, printer sharing tidak akan jalan. Tentunya jika fitur-fitur tersebut tidak dibutuhkan bisa saja ditutup portnya (misalnya sharing file dengan dropbox atau layanan lain).
Contents
Misinformasi
Beberapa orang/situs menyebarkan bahwa password WannaCry adalah WNcry@2ol7. Ini hanyalah password salah satu komponen malware, bukan untuk membuka file yang sudah terenkrip (contoh situs yg salah, sengaja nggak saya bikin jadi link supa mereka gak panen klik: http://nerdylab.me/hacking/recover-wanacry-ransomware-attack/), contoh lain di Twitter:
Beberapa situs juga memberikan langkah-langkah sniffing jaringan untuk mencari decryption key atau melakukan bruteforce RSA. Contoh situs: http://sensorstechforum.com/wncry-wannacry-virus-how-to-restore-encrypted-files-may-2017/
Kedua cara itu tidak akan berhasil karena WannaCrypt tidak melewatkan key di jaringan. WannaCrypt juga memakai RSA 2048 bit yang hampir mustahil difaktorkan.
Saat ini cara recovery yang masih agak mungkin terjadi adalah dengan mencoba program sejenis undelete. Cara ini tidak selalu berhasil dan jika berhasil hanya sebagian saja yang bisa direcover.
Ketika ransomware mengenkrip file biasanya yang terjadi adalah: sistem operasi akan mengalokasikan di space baru untuk file terenkripsi, baru malware akan menghapus file setelah selesai.
Di kasus ini, free space yang belum ditimpa file lain masih mengandung data yang belum dibersihkan. Semakin besar free disk space, semakin besar kemungkinan file masih bisa selamat. Semakin kecil disk space, kemungkinan file sudah ditimpa dengan data lain.
Windows juga memiliki sistem backup otomatis yang bernama volume shadow copy, tapi ini pun akan dihapus malware. Dalam kasus sangat jarang, jika kebetulan ransomware gagal menghapus volume shadow copy, maka ada kemungkinan file bisa dikembalikan.
Katanya sudah berhasil dicegah dengan killswitch?
Jawabannya: ya dan tidak. Ransomware ini mengecek jika domain bernama tertentu ada. Ini tadinya dipakai untuk mendeteksi apakah malware sedang diamati via sandbox. Biasanya sandbox akan mengatakan semua domain ada, agar bisa mengamati koneksi malware ke situs mana saja.
Dalam kasus ini malware berusaha melakukan koneksi ke domain yang seharusnya tidak ada. Tapi kemudian domain ini didaftarkan oleh seorang analis malware. Karena domain tersebut benar-benar ada, maka malware ini akan berhenti. Nah sayangnya ada dua hal: pertama sudah ada patch untuk malware ini sehingga tidak lagi mengecek domain kill-switch.
Kedua: malware ini tidak mengecek Proxy, hanya langsung melakukan direct connection ke domain tersebut. Di berbagai perusahaan, proxy wajib digunakan untuk mengakses internet. Karena malware gagal mengakses domain tanpa proxy, maka malware tersebut tetap aktif di banyak perusahaan.
Ada beberapa varian malware ini yang beredar. Sebagian dari varian ini adalah kerjaan orang iseng, misalnya ada yang meremove check kill switch. Ini bisa diketahui karena patching dilakukan manual, bukan dengan rekompilasi source softwarenya. Apa alasan keisengan orang-orang ini? nggak ada.
“…some men aren’t looking for anything logical, like money. They can’t be bought, bullied, reasoned, or negotiated with. Some men just want to watch the world burn.”
― Michael Caine
Pertanyaan seputar dekripsi file tanpa membayar
Pertanyaan yang paling utama ditanyakan adalah: apakah ada tool dekripsi file tanpa membayar? jawaban singkatnya: belum ada, dan mungkin tidak akan ada jika key-nya tidak dirilis oleh pembuatnya.
Pembuat malware ini cukup cerdas dalam melakukan enkripsinya. Pertama dia membuat sebuah RSA Keypair (artinya: public dan private key) yang unik per komputer, anggap saja nama key ini X . RSA public key bisa dipakai untuk mengenkripsi data, dan RSA private key bisa dipakai untuk mendekrip data.
Enkripsi data besar dengan RSA sangat lambat, jadi enkripsi file dilakukan dengan AES. Dalam malware ini: tiap file dienkripsi dengan key AES-nya berbeda untuk tiap file. Tentunya jika kita tahu keynya, maka kita bisa mendekrip filenya, jadi key AES ini dienkrip dengan public key X yang unik per komputer.
Karena public dan private X dihasilkan di komputer, jika kita tahu private key X, maka kita bisa mendekrip filenya. Nah supaya private key X tidak bisa dipakai, maka ransomware ini mengenkrip private key X tersebut dengan sebuah public key Y.
Public key Y ini ditanam di dalam ransomware, dan private key Y ada ditangan pembuat ransomware. Jika user membayar, maka private key X akan didekrip oleh pembuat ransomware dan bisa dipakai untuk mendekrip semua file lain.
Seseorang sudah mengekstrak algoritma enkripsi yang dipakai, dan sejauh ini tidak ditemukan kelemahan dalam implementasi WannaCry. Sekarang ini semua orang sudah tahu dengan tepat algoritma yang dipakai dan cara enkripsi dilakukan oleh ransomwarenya, tapi BELUM/TIDAK ditemukan kelemahan dalam algoritmanya.
Beberapa ransomware lama akan memakai sistem yang terlalu rumit untuk managemen key-nya, ada yang mengirimkan key via jaringan, ada yang membuat key berdasarkan waktu, dsb. Ransomware ini efektif karena enkripsi bisa dilakukan offline, tidak perlu koneksi ke server untuk mengenkrip komputer yang ada di dalam LAN.
Sebagai catatan: ada beberapa kemungkinan key RSA bisa didapatkan, misalnya faktorisasi (dalam kasus ini hampir tidak mungkin karena jumlah bit terlalu besar), penggunaan key lemah (weak keys, tapi sudah dicek bahwa key yang digunakan aman), masuk ke server pembuat malware, atau mencari pembuat malwarenya (sulit). Pernah juga ada kasus bahwa pembuat ransomware “menyerah” dan memberikan master keynya gratis setelah beberapa bulan (kasus Teslaware).
Sampai saat ini saya masih belum menemukan bagaimana caranya pembuat ransomware mengetahui user mana yang sudah bayar dan yang mana yang belum. Saya liat ada cara untuk mengirim pesan ke pembuatanya dengan dialog, yang akan dikirim melalui Tor (jaringan anonim). Jadi kemungkinan besar untuk bisa mendekrip, Anda perlu kontak manual dengan “customer service” ransomware ini. Jadi tidak dijamin 100% file Anda kembali meski Anda membayar.
Pertanyaan seputar bitcoin
Banyak juga yang bertanya: apakah nggak bisa “account” bitcoin hackernya diblok? jawabannya: tidak bisa karena bitcoin tidak memakai sistem account, tapi wallet berdasarkan enkripsi.
Atau apakah tidak bisa ditrace nanti bitcoinnya dipakai belanja di mana? Kemungkinan besar hackernya akan memakai layanan bitcoin mixer untuk menghilangkan jejak (semacam layanan pencucian uang). Jadi jawaban singkatnya juga: tidak bisa.
Backup
Hal terpenting yang harus dilakukan adalah membuat backup. Tapi backup ini juga harus aman. Dalam kasus WannaCry, jika backup dilakukan di jaringan menggunakan file server Windows, maka kemungkinan file server itu juga akan kena WannaCry.
Backup online perlu dilakukan, dan perlu dicek. Contoh: versi personal OneDrive tidak membuat arsip versi lama. Jadi jika disk lokal Anda dienkrip oleh ransomware, dan isi filenya diupload ke OneDrive, maka hilanglah backup Anda di OneDrive.
Perlu dicatat: WannaCry bukanlah ransomware pertama, dan tidak akan jadi yang terakhir. Meskipun segala langkah telah dilakukan untuk menangani malware ini (update windows, blok port, dsb), tapi jika user ceroboh (misalnya membuka attachment yang tidak dikenal), maka mereka tetap bisa kena.
Menggunakan OS selain Windows akan mengurangi risiko ransomware, tapi ingat juga bahwa sudah pernah ada Ransomware yang meyerang Linux sebelumnya (dan juga OS X, walau penyebarannya tidak sebesar WannaCry).
Pentingnya Reverser di Indonesia
Saya sekalian ingin menekankan betapa pentingnya peran reverse engineering dalam mengatasi ransomware ini. Tanpa reverse engineering, domain killswitch tidak akan ditemukan. Dengan reverse engineering pula bisa ditemukan tepatnya bug apa yang dipakai oleh ransomware ini untuk menyebarkan dirinya.
Saat ini di Indonesia masih kurang reverser handal. Jika ada kasus seperti ini yang dibuat oleh hacker lokal, maka kemungkinan besar reaksinya akan sangat lama. Sebagai catatan: membuat ransomware seperti ini sangat mudah, banyak contoh source code ransomware di github maupun di situs lain. Jika ada bug Microsoft yang baru, siapapun bisa meniru ransomware ini. Saat ini pembuat ransomware WannaCry sudah mendapatkan beberapa puluh ribu USD, dan angkanya masih terus naik (ini bisa dimonitor karena Bitcoin sifatnya terbuka).
Saya sarankan juga agar yang mau belajar reversing untuk memulai dari yang jinak. Sering kali di saat ada serangan seperti ini, semua rame-rame ingin ikutan bisa membongkar ransomwarenya, tapi dasarnya masih lemah sekali. Yang terjadi bisa fatal: jaringan di tempat Anda berada (misalnya kantor) bisa terinfeksi semuanya. Niatnya ingin “show off”, malah bisa menyusahkan banyak orang. Berhati-hatilah dengan malware ini karena BELUM ADA decryptornya, jadi jika terkena ini sama saja seperti diformat harddisknya.
Terus setelah bisa membuka filenya dengan aman, banyak yang “bengong” karena dasar enkripsinya masih sangat lemah. Bahkan pemahaman public/private key juga masih kurang. Kalaupun ransomwarenya ada bugnya, belum tentu bisa menemukan apa kelemahannya. Jadi saran saya berikutnya adalah: perkuatlah dasar enkripsi. Ada banyak CTF yang bisa jadi sarana untuk belajar.
Keren pembahasannya … menggunakan bahasa kelas medium… buat newbie kayak saya, bisa lumayan memahami.. Makasih 🙂
Hebat banget ini penulisnya, Makasih
mantap nih penjelasannya
keren..berarti enkripsinya pake RSA 1024 bit
2048 bit kabarnya
http://blog.talosintelligence.com/2017/05/wannacry.html
penjelasan yang mudah dimengerti gak ribet, gak suntuk bacanya malah tambah semangat, wajib di bookmark
Nice explanation and sharing sir. Hopefully the cure could be found anytime soon..
mantep nih, penjelasannya,,, ijin share boleh gan?
Terima kasih informasinya, semoga bermanfaat. Dan penjelasannya sangat mudah di mengerti.
Menarik sekali artikelnya