File Entropy Wavelet Malware-Guo-ReviewPaper


Paper TitleFile Entropy signal analysis combined with wavelet decomposition for malware classification

Authors: Hui Guo, Shuguang huang, Cheng huang, Zulie pan, Min zhang, fan shi

Venue: IEEE access vol 8 – 158961 – 158971

URL: https://doi.org/10.1109/ACCESS.2020.3020330

Problem: Penulis malware banyak menggunakan (reuse) source code malware yang sudah ada untuk membuat malware baru. Malware ini biasanya memiliki kemiripan dan dapat digolongkan ke dalam variant malware atau family malware yang sama. Melakukan klasifikasi variant malware ini membutuhkan waktu dan resource computing yang besar. Untuk itu diperlukan pendekatan baru untuk melakukan klasifikasi varian malware.

Contribution

  1. Mengajukan metoda klasifikasi baru menggunakan feature entropy biner. Metode ini melakukan konversi raw bytes malware menjadi sequence entropy dan melakukan ekstraksi feature struktural berbasis pada teknik sinyal prosesing
  2. Implementasi MESRF, sebuah framework untuk mengekstrak feature dari malware dan mengkombinasi mereka dengan sebuah classifier untuk melakukan klasifikasi variant malware. Framework ini dapat meningkatkan kemampuan untuk melakukan klasifikasi variant malware pada family yang sama
  3. Hasil pengujian menunjukan MESRF dapat menyelesaikan permasalahan kesalahan klasifikasi family malware yang sama dibandingkan metode yang sudah ada

Method/solution

  1. Ekstrak sequence entropy dary raw bytes ke malware
  2. Mining feature di entropy, dan menampilkan sequence entropy menjadi sinyal
  3. Menggunakan 2 feature global dan local. 
  4. Global feature diekstrak dari karakteristik statik seperti length, nilai mean, maximum, standard deviation dan rasio minimum. 
  5. Untuk karakteristik lokal (struktural) sinyal entropy diperoleh dengan algoritma Discrete wavelet decomposition dan vektorisasi feature lokal berbasis model bag-of-words.
  6. Kemudian ditrain dengan machine learning dan malware diklasifikasikan untuk menentukan family dari sampel malware baru
  7. Raw byte malware dibagi menjadi blok 256, agar bisa mendapatkan value 00-FFh
  8. Bila ukuran blok tidak 256 dan bisa mencapai 128 maka byte ditambah dengan zero, bila kurang maka byte akan dibuang
  9. Nilai entropy dihitung menggunakan rumus:  ; xi nilai raw byte dan pProbability (frekuensi blok)
  10. Global feature yang digunakan: length (Panjang sequence entropy); square root; mean; standev; max; max_7, min_0
  11. Malware diekstraksi menjadi 2 fungsi pada saat decopmposisi yaitu father wavelet (scaling function) dan mother wavelet (fungsi wavelet)
  12. Fungsi Wavelett dan fungsi scaling dengan  Haar Wavelett transform menggunakan rumus:

    ;  

  1. Sebelum dekomposisi sinyal serangkaian transformasi fungsi pada mother wavelett dan father wavelett dilakukan.
  2. Pemilihan wavelet dibandingkan fourier karena detail sinyal bisa didapatkan dari berbagai skala prosesing. Hasilnya adalah power dari sebuah sinyal pada beberapa frequency berbeda.
  3. Haar wavelet memproyeksikan sinyal menjadi sebuah set gelombang kotak dengan tinggi, widt dan struktur berbeda.
  4. Menggunakan enropy sequence sebagai sebuah sinyal dan Transformasi Haar Wavelett untuk mengekstrak structure feature
  5. Fungsi transforming dijelaskan pada persamaan berikut:   
  6. Feature dikonversi ke vectore menggunakan model bag-of-words; tahapannya terdiri dari : a) codebook generation dan b) komputasi histogram
  7. Algoritma K-means diimplementasikan untuk menghasilkan cluster center
  8. Kemudian sampel malware dikonvert ke vector dengan codebook
  9. Histogram dari code words digunakan untuk representasi feature lokal dari sequence entropy
  10. Sistem MESRF (malware entropy sequences reflect the family) dikembangkan dengan python 2.7 dengan pywt library dan sklearn library.
  11. Prototipe sistem dijalankan pada sebuah PC dengan Intel ® Core ™ i7-4790 CPU (3,6 GHz) dan 20 GB RAM
  12. Dataset I didapat dari malware research lab yang terdiri 9339 sampel malware dari 25 family, yang diperoleh dari real environment dan diklasifikasikan dengan platform Microsoft security
  13. Dataset II didapat dari Microsoft Malware Classification Challenge (BIG 2015) terdiri dari 10.868 sampel terdiri dari 9 family (Ramnit, Lollopop, Kelihos_ver3, Vundo, Simda, Tracur, Kelihos_ver1, Obfuscator.ACY, GATAK)
  14. Pengukuran menggunakan akurasi, presisi, recall, ROC Curve (Receiver Operating Characteristic Curve) dan AUC (Area Under ROC Curve), F1
  15. Klassifier ditraining menggunakan Random Forest (RF), Multi-layer Perceptron (MLP), k-Nearest Neighbor (KNN), SVM dan DT
  16. Setiap sampel memiliki 263 feature (7 dari global dan 256 feature local)
  17. nilai K dari KNN diset 2, SVM menggunakan linear kernel function, classifier lainnya menggunakan parameter konfigurasi default dari sklearn
  18. Hasil pengujian dibandingkan dengan 4 model yaitu: GIST+KNN, LBP+KNN, GIST+DSIFT+KNN dan VGG16

Main result

  1. KNN memiliki performa terburuk, dengan akurasi 98,5%, sementara akurasi classifier lainnya diatas 99%, SVM menghasilkan performa terbaik 99,82%
  2. SVM mendapatkan nilai F1-score dan AUC terbaik pada saat eksperimen, namun waktu training membutuhkan 7 detik dengan 9000 sampel
  3. RF menghasilkan efisiensi terbaik
  4. Akurasi klasifer yang menggunakan local feature yang diekstrak dengan DWT dan BOW mencapai 99,75%
  5. Penggunaan feature global dan local secara bersamaan menghasilkan akurasi terbaik 99,83%
  6. MESRF menghasilkan performa terbaik daripada 4 model pembanding, dengan waktu yang lebih pendek
  7. Dari sisi akurasi dan efisiensi MESRF juga lebih baik dibandingkan 4 sistem pembanding yaitu 97,88

Limitation:

1.Jumlah family yang diuji terbatas

2. Analisa attribute dari feature penting belum dilakukan


Silahkan tuliskan tanggapan, kritik maupun saran