Malware Classification – Aslan


Saya lanjutkan pembahasan tentang paper A comprehensive review on malware detection approaches dari Aslan et.al. Beberapa algoritma Machine Learning yang banyak digunakan untuk klasifikasi malware adalah:

  • Bayesian Network (BN)
  • naive Bayes (NB)
  • C4.5 Decision tree variant (J48)
  • Logistic model tree (LMT)
  • Random Forest Tree (RF)
  • k-nearest Neighbor (KNN)
  • multilayer perceptron (MLP)
  • Simple logistic regression (SLR)
  • support vector machine (SVM)
  • Sequential minimal optimization (SMO)

Algoritma tersebut umumnya digunakan pada deteksi behavior-based dandeteksi lainnya. Umumnya teknik deteksi signature-based yang paling banyak digunakan. Teknik ini cepat dan efisien mendeteksi malware yang sudah dikenal, namun tidak dapat mendeteksi zero-day malware. Kemudian muncul beberapa teknik deteksi malware berikut:

  • behavior
  • heuristic
  • model checking-based
  • deep learning
  • cloud
  • mobile device
  • IoT based

Pada setiap teknik deteksi, metode ekstraksi feature yang digunakan berbeda. Setiap metode memiliki kelebihan dan kekurangan. Menggunakan teknik behavior, heuristic dan model checking-based banyak malware yang dideteksi dengan menggunakan beberapa behaviour dan spesifikasi. Teknik2 tersebut juga dapat mendeteksi malware baru. Namun teknik2 ini tidak dapat mendeteksi semua malware. 

Signature-based

Signature adalah feature malware yang dapat mengidentifikasi setiap malware secara unik. Teknik ini dapat dikelabui menggunakan teknik obfuscation

Pembuatan signature

Ada banyak teknik yang dapat digunakan untuk membuat signature diantaranya:

  • string scanning: membandingkan byte sequence, contoh signature CLamAV 90FF1683EE0483EB0175F6, contoh signature dalam bentuk assembly 

Contoh signature dalam format YARA

  • top and tail scanning: signature tidak diambil pada seluruh file, hanya bagian awal dan akhir dari file
  • entry point scanning: Entry point dari sebuah file menunjukan bagian mana dari file yang harus dijalankan. Malware biasanya mengubah entry point dari sebuah program. Sehingga kode malicious dijalankan sebelum kode aslinya. Sehingga beberapa malware bisa dideteksi dengan melakukan ekstraksi signature dari sequence pada entry point program
  • integrity checking : (Hash); Program integrity check membuat checksum MD5 atau SHA-256 untuk setiap file secara teratur pada sistem untuk interval tertentu. Bila ada perubahan hash, maka bisa jadi disebabkan oleh malware. 

Silahkan tuliskan tanggapan, kritik maupun saran