Image Malware Classification with LBP – Luo – Review Paper


Paper TitleBinary Malware image Classification using Machine learning with local binary pattern

Authors: Jhu-sin Luo, Dan chia-tien lo

Venue: 2017 IEEE international Conference on Big Data

URL: 10.1109/BigData.2017.8258512

Problem: Klasifikasi malware adalah bagian penting dalam pengamanan jaringan. Namun metode klasifikasi malware saat ini masih mengandalkan metode deteksi tradisional untuk mendeteksi malware, yaitu analisa statik dan dinamik. Teknik ini memiliki beberapa kelemahan, untuk itu dibutuhkan pendekatan baru dalam klasifikasi malware. 

Contribution:

Mengajukan metode klasifikasi malware baru menggunakan image binary dan ekstraksi local binary pattern (LBP) feature

Method/solution:

  1. Melakukan konversi malware ke greyscale dalam range [0,255], dengan lebar fix dan tinggi bebas
  2. Binary malware dibaca sebagai sebuah vector 8 bit unsigned integer, kemudian diatur menjadi array 2D
  3. Setiap pixel dari image malware diatur menjadi grid 3×3 agar memudahkan proses ekstraksi descriptor LBP
  4. Nilai pixel central adalah threshold. * pixel tetangganya dibandingkan dengan nilai central pixel. 
  5. Bila nilai pixel tetangganya lebih besar dari central pixel, maka nilai tetangga menjadi 1
  6. Bila lebih kecil dari threshold, maka ditulis 0.
  7. Hasil threshold dikalikan dengan weight yang merupakan pangkat 2.
  8. Central value adalah jumlah dari hasil perkalian.
  9. Untuk setiap pixel lakukan proses yang sama
  10. Descriptor LBP final didapatkan dengan menghitung histogram gambar
  11. Training dan testing menggunakan tensorflow
  12. Convolutional filter yang digunakan 3×3 dengan RelU, kemudah dilakukan 2×2 max pooling layer dengan stride 2 untuk downsample
  13. Nilai convolutional filter pertama adalah 16
  14. Ukuran convolutional filter kedua juga 3×3 dengan 32 filter. 
  15. Output max pooling adalah multi dimensi
  16. Dataset terdiri dari 32 family dengan jumlah 12000 image malware greyscale.
  17. Tipe malware adalah trojan, password steeler dan virus
  18. 20% malware digunakan untuk training, dan sisanya untuk pengujian
  19. Menggunakan tensorflow untuk klasifikasi fitur LBP, dan menggunakan fitur LBP untuk training klasifier SVM dan classifier KNN
  20. Menggunakan fitur GIST dengan tensorflow dengan KNN dan SVM

Main result

  1. Malware family 28,29,30 yaitu Virut.A, Virut.AC dan Virut.AT lebih sulit untuk diklasifikasi
  2. Tensorflow dapat membedakan ketiga malware tersebut dengan akurasi yang lebih tinggi
  3. Waktu eksekusi lebih pendek dengan GPU
  4. Akurasi dengan fiture LBP lebih baik 93,17% 
  5. Waktu eksekusi lebih baik daripada sistem pembanding

Limitation:

  1. Metode ini dapat dikelabui oleh malware yang di-rewrite dengan cara lain atau menggunakan instruksi yang berbeda
  2. Jumlah family malware terbatas
  3. Tidak mencoba menggunakan RGB

Silahkan tuliskan tanggapan, kritik maupun saran