Armoring Malware

Penulis malware selalu mempunyai cara kreatif untuk mengelabui antivirus. Salah satu teknik yang digunakan malware agar tidak tertangkap antivirus adalah armoring malware. Armoring malware ini merupakan sebutan untuk malware yang susah untuk dianalisa. Armoring malware bisa diterjemahkan malware yang dipersenjatai, atau pertahanan malware. Malware ini dipersenjatai dengan berbagai fungsi yang akan menyulitkan peneliti malware untuk melakukan analisa.

Ada banyak teknik yang digunakan diantaranya:

  1. Polymorphism: mampu bermutasi dengan mengubah sebagian kodenya ketika menginjeksi korban berikutnya
  2. Metamorphism: mampu bermutasi dengan mengubah seluruh kode ketika menginjeksi korban berikutnya
  3. Obfuscation: Membingungkan atau membuat kode susah dipahami
  4. Encryption: Melakukan enkripsi pada kode malware
  5. Packing: melakukan enkripsi dan kompresi pada kode
  6. Enviromental Awareness: mampu mendeteksi lingkungan tempat dia dijalankan, sistem operasinya, virtual mesin, sandbox, debugger, tools monitoring?
  7. Timing Based Evasion: Mampu mengatur waktu kapan malware aktif dan kapan tidak

Teknik Obfuscation, encryption dan packing akan menyulitkan proses analisa malware secara statik. Sementara Untuk enviromental awareness dan timing based evasion akan menyulitkan proses analisa malware secara dinamis.

Teknik metamorphic dan polymorphic, biasanya digunakan untuk menghindari sistem deteksi malware yang menggunakan teknik signature based.

Ada berbagai macam teknik obfuscation yang digunakan diantaranya:

  • menambahkan junk code
  • Register reassignment
  • Mengganti instruksi
  • Merubah urutan instruksi
  • flower instruction: mempersulit proses diassembly dengan menambahkan berbagai instruksi tidak jelas
  • Menggunakan SEH (system exception handling) di windows untuk menyembunyikan control flow

Proses analisa malware biasanya dilakukan dengan teknik analisa statik dan dinamis. Pada analisa statik source code malware akan dianalisa, dan ditemukan fungsi maliciousnya. Sementara pada analisa dinamis, malware dijalankan pada sistem kemudian diamati perilakunya.  Teknik anti-debugging digunakan untuk menyulitkan proses analisa dinamis. Sementara anti dissasembly akan mempersulit proses analisa statis.

Malware mendeteksi debugger diantaranya menggunakan teknik berikut:

  • mendeteksi API
  • deteksi handle dan services
  • deteksi Feature, misalnya deteksi signature ollyDbg

Untuk mendeteksi sistem operasi dan virtual mesin, biasanya beberapa teknik yang digunakan malware:

  • Fingerprint informasi dari registry
  • Fingerprint informasi OS
  • mendeteksi feature virtual hardware

Masih banyak teknik lainnya sebenarnya, karena perkembangan teknik-teknik pengelabuan ini sangat cepat sekali.

Semoga Bermanfaat!

Silahkan tuliskan tanggapan, kritik maupun saran