Di posting ini saya ingin memperkenalkan kompetisi Flare On untuk para reverse engineer sekaligus mengajak ikutan buat yang belum ikutan. Flare On adalah tantangan dalam bentuk CTF (silakan baca tulisan saya ini untuk yang belum tahu apa itu CTF) khusus di bidang reverse engineering yang diadakan oleh Fireye. Tantangannya 6 minggu, semua peserta yang bisa menyelesaikan semua tantangan akan dianggap pemenang dan dapat hadiah. Ini bisa dibandingkan dengan lari Marathon (lama, butuh stamina, tingkat kesulitannya bisa sangat tinggi, semua yang selesai dianggap sebagai finisher), dan kebanyakan CTF lain bisa dibandingkan dengan lari sprint (biasanya hanya 2 hari, kesulitan soal dibatasi supaya bisa selesai dalam hitungan jam) .
Reverse Engineering (RE)
Saya sudah menulis soal pengenalan reverse engineering dan tulisan pengantar jika ingin memulai reverse engineering. Inti reverse engineering adalah: membongkar/memahami kode (terutama kode biner, tapi tidak selalu biner). Contoh kode biner yang perlu dipahami:
- Software yang dibeli atau download (tanpa source code)
- Malware
- Kode exploit
Contoh penggunaan reverse engineering:
- Software dari Hacking Team (untuk menghack orang, software ini banyak dibeli oleh beberapa pemerintah dunia) ternyata ada backdoornya.
- Berbagai file yang kena ransomware berhasil didekrip karena ada kelemahan dalam enkripsinya, dan ini ditemukan dengan reverse engineering (dan tentunya ilmu kriptografi)
- Malware yang sangat spesifik (misalnya yang digunakan untuk hacking Bank Sentral Bangladesh) harus dianalisis khusus, tidak akan ketemu oleh antivirus biasa
- Malware yang tertarget (via email/web) untuk perusahaan tertentu juga perlu dianalisis secara khusus
- Berbagai software legal ternyata menginstall rootkit (kasus terbaru saat ini di game Street Fighter)
- Untuk melakukan pentesting secara benar untuk aplikasi mobile
- Berbagai router dan benda IOT perlu direverse engineer untuk mengetahui cara kerjanya
- Berbagai exploit disebarkan via halaman web (via Javascript yang diobfuscate, memanfaatkan kelamahan Flash/Java/IE, lalu mengandung kode biner berisi shell code)
Banyak juga hal lain yang berhubungan dengan reverse engineering, yang levelnya “tidak penting” tapi menyenangkan, misalnya reverse engineering game, beberapa hal jahat juga bisa dilakukan (misalnya membuat keygen/serial number generator).
FireEye dan Flare
FireEye adalah salah satu perusahaan security yang besar dari Amerika, didirikan oleh seorang keturunan Pakistan dan memiliki lebih dari 3000 pegawai. Perusahaan ini bisa dibilang masuk kategori startup yang besar (belum profitable, sudah IPO). Karena bidang security ini cukup luas, mereka punya banyak produk dan team. Salah satu team yang ada adalah FireEye Labs Advanced Reverse Engineering (FLARE) yang tugasnya melakukan reverse engineering.
Salah satu kegiatan team Flare adalah mengadakan tantangan/kompetisi Flare On, formatnya seperti CTF dengan waktu 6 minggu untuk menyelesaikan soal yang mereka berikan. Karena sifatnya adalah “tantangan”, maka siapapun yang bisa menyelesaikan semua soal adalah “pemenang”, tapi ada bagian kompetisinya juga: dulu-duluan menyelesaikan semua soalnya. Setiap tahun semua pemenang yang menyelesaikan soal akan dipajang di flare-on.com
Sekarang ini Flare On sudah memasuki tahun ketiga, dan bisa dilihat bahwa pemenang dari tahun-tahun sebelumnya banyak yang merupakan security dan malware researcher di berbagai perusahaan besar, jadi event ini bukan sekedar event kacangan level daerah.
Yuk Ikutan
Saya mengajak orang-orang Indonesia untuk ikutan ini (Masih ada 32 hari sejak artikel ini diterbitkan untuk ikutan). Menurut saya saat ini kemampuan reverse engineering kebanyakan orang di Indonesia jelek. Kenapa saya berpikir demikian?
- Dalam berbagai CTF, sedikit sekali, bahkan kadang tidak ada yang mengerjakan soal RE ataupun Exploit
- Tidak ada tulisan (baik jurnal, artikel, blog) yang berhubungan dengan RE dari Indonesia (bandingkan misalnya dari Vietnam atau Singapore)
- Tidak ada karya berupa tool yang diterbitkan baik itu di github/blog yang lain yang berhubungan dengan RE
Jadi mohon tunjukkan saya salah. Ayo tunjukkan ke dunia banyak reverse engineer dari Indonesia. Waktu 6 minggu ini menurut saya sangat lama. Peringkat pertama bisa menyelesaikan kurang dari 48 jam, sedangkan yang lain yang cukup santai bisa mengerjakan sekitar 2 soal per minggu (sebagian soal awal sangat sederhana, bisa diselesaikan dalam menit).
Saya sendiri sudah menyelesaikan Flare On ini, peringkat 14. Saya akan dianggap dari Thailand karena hadiah dikirim ke alamat tempat tinggal saya sekarang.
Dulu ketika saya baru mulai belajar komputer (tahun 90an), di Indonesia masih banyak orang mau mendalami assembly yang berarti juga sering membaca kode assembly orang lain. Banyak yang mau mempelajari low level (membuat virus dsb). Tahun 2000an masih ada lumayan banyak yang membuat exploit binary (bukan sekedar XSS/SQL injection).
Sekarang ini dunia biner memang sudah jauh lebih rumit dari tahun 90-an dan 2000-an tapi masih ada banyak kesempatan buat belajar. Beberapa kerumitan dibanding jaman dulu: semakin banyaknya prosessor yang umum (Intel, MIPS, ARM), bahkan prosessor yang ada juga semakin kompleks (dulu di Intel x86 cuma real/protected mode, sekarang ada long mode, instruction set yang cuma 16 bit sekarang 32/64 bit), banyak juga teknologi virtual machine (Java, .NET, AVM/SWF) plus banyak sistem operasi yang perlu dipelajari (Windows, Linux, OS X) dengan format file masing-masing (PE, ELF, Mach-O). Berbagai proteksi juga sudah digunakan untuk mencegah exploit (ASLR, NX, Stack Canary, Control Flow Guard, SMEP, dsb).
Sebagian alasan orang tidak melakukan reversing adalah karena lapangan kerjanya sedikit. Mungkin lapangan pekerjaan yang spesifik reversing sangat sedikit di Indonesia, tapi ada banyak tawaran pekerjaan di luar negeri. Bahkan untuk Flare On kali ini, ketika kita selesai, maka akan ditanya apakah ingin dihubungi oleh team FLARE untuk wawancara. Dari Flare On tahun sebelumnya, saya juga dapat tawaran dari perusahaan lain (kedua kesempatan tidak saya ambil karena saya masih nyaman di kota Chiang Mai ini). Saya juga jadi kenal dengan beberapa orang di luar sana yang bidang sehari-harinya reverse engineering.
Di berbagai tempat di luar Indonesia (China, USA, Inggris, Jerman, dll) para reverser sudah mulai dicari oleh agensi pemerintah untuk bekerja di pemerintahan. Menurut saya, di masa mendatang (tidak jauh dari sekarang), reverse engineer akan sangat dibutuhkan, apalagi dengan meledaknya IOT (Internet of Things).
hadiahnya apaan om waktu tahun lalu? tahun ini apa?
Tahun lalu belt buckle flare on. Tahun ini belum diumumkan. Hadiahnya memang nggak seberapa, tapi dengan menyelesaikan ini bisa dapat banyak teman, dapat banyak tawaran kerja (kalau yang dikejar memang materi).
Menarik mas. Semoga makin banyak yang berkecimpung RE dari Indonesia.