Malware Image Siamese Classification-Hsiao-Review Paper


Paper Title: Malware Image Classification Using One-shot Learning with Siamese Network

Authors: Shou-Ching Hsiao, Da-Yu Kao, Zi-Yuan Liu, Raylin Tso

Venue: 23rd International Conference on Knowledge-Based and Intelligent Information & Engineering Systems

URL: https://doi.org/10.1016/j.procs.2019.09.358

Problem: Machine Learning mulai banyak digunakan untuk deteksi dan klasifikasi malware. Namun model machine Learning yang ada membutuhkan sampel malware yang besar. Model yang ada tidak efektif untuk melakukan re-training untuk mengenali sampel malware baru

Contribution:

  1. Mengajukan metode baru untuk mendeteksi variant malware menggunakan klasifikasi image
  2. Mengajukan jaringan siamee untuk mengatasi kekurangan sampel malware baru
  3. Memiliki akurasi tinggi dibandingkan baseline dengan metode one-shot classification
  4. Menguji dataset dengan model deep learning dan menunjukan bahwa model deep learning tidak cocok pada kasus sampel training terbatas

Method/solution

  1. Terdiri dari tiga tahap: pre-processing, training dan testing; Pada tahap pre-processing, sistem mengubah sampel malware menjadi image gray-scale dan mengklasifikasikannya berdasarkan average hash ke dalam family yang sama
  2. Siamese Network melakukan training untuk menilai tingkat kemiripan sampel, akurasi dihitung melalui N-way one shot task
  3. Skor similarity digenerated oleh layer output sigmod yang menentukan family malware
  4. Menggunakan Siamese CNN yang memiliki weight yang sama antara sub-network. Cara ini dapat mengurangi parameter yang perlu di train dan mengurangi masalah overfitting
  5. Setelah proces 2 input image dengan CNN berbeda, sistem membuat 2 feature vectir v(m1) dan v(m2).
  6. Manhattan distance antara v(m1) dan v(m2) akan jadi input fungsi sigmoid
  7. Skor similarity dibuat dalam range [0,1] dengan 0 tidak mirip dan 1 sangat mirip
  8. Malware diconvert ke grayscale pada 8-bit vector dengan range [0,255] dengan 0 hitam dan 1 putih.
  9. Image direscale ke 105×105 pixel, original aspect ratio dipertahankan dan background dipenuhi dengan hitam
  10. Untuk re-sampling, sistem menggunakan bicubic interpolation
  11. Klasifikasi image ke family menggunakan AverageHash (aHash). Ahash adalah perceptual hash yang membuat fingerpring dari gambar input
  12. Image dengan nilai aHash sama akan diberi label sub-type yang sama pada sistem
  13. CNN terdiri dari convolutional layer, pooling layer dan fully connected layer
  14. Sequence convolutional layer menggunakan filter dari ukuran berbeda dan fixed stride one to extract feature maps.
  15. Output setiap convolusi pada 3 layer pertama dimasukan ke fungsi aktivasi ReLU (rectified linear unit) dan operasi max-pooling dengan stride two
  16. Layer final convolusi diikuti dengan sebuah fully-connected layer dengan fungsi aktivasi sigmoid dimana feature map di flattened menjadi sebuah single vector.
  17. Klasifikasi image classification akan memproses melalui susunan layer CNN, dan hasilnya berupa distribusi probabilitas dari semua kelas
  18. Menambahkan sebuah layer tambahan untuk menghitung Manhattan distance L1 distance antara 2 extracted feature vector
  19. Hasilnya diteruskan ke fully connected layer dengan function sigmod dan unit di set menjadi Satu.
  20. Output adalah skor kemiripan malware dengan range [0,1]0
  21. Training Siamese CNN dilakukan dengan mini-batch. Sistem secara random memilih pasangan gambar untuk training tapi menghindari unbalanced number dari pasangan similar dan dissimilar gambar dengan mini batch
  22. Ukuran mini-batch dirandom dari beberapa kelas, sementara pasangan gambar dikontrol dengan setengah ukuran kelas sama den setengah beda kelas
  23. Network menggunakan Adaptive moment estimation optimizer (Adam) untuk mengupdate weight selama iterasi training mini-batch
  24. Proses testing menggunakan M times dari learning task N-way one-shot learning dengan Q times dari prediksi yang benar; Accuracy=(100*Q/M)%
  25. Pada setiap task N-way one-shot learning, sistem memilih anchor image xˆ dari sebuah kelas dan secara random memiliki kelas N untuk membentuk set support
  26. Baseline menggunakan k-NN
  27. Pengujian dilakukan dengan Keras, TensorFlow, matplotlib, numpy, dan scikit-learn, PIL (python imaging library) pada Intel Core i7-8700 HQ CPU @3,2 GHz, 16 GB DDR3 RAM, NVIDIA GeForce GTX 1060M 6GB DDR5 GPU
  28.  

Main result

  1. Menghasilkan performa yang lebih unggul dibandingkan baseline
  2. Hyperparameter network Siamese, mini-batch size=6, Learning rate 0,00006; N-iterations=2000; N-way=1-15 ;N tasks-150
  3. Akurasi 29,56%

 

Limitation:

  1. Nilai akurasi masih rendah
  2. Malware baru nya belum diuji

 

note:

  1. Siamese neural network memiliki performa baik pada one-shot image recognition
  2. ML perlu banyak traning sampel dan long learning period
  3. Essential requerment train waide variety malware samples
  4. New malware model di retrained on whole large dataset
  5. Cost of massive sample collection and periodical re-training too large
  6. One-shot learning adalah training model dengan small set data tp tidak overfitting
  7. siamese networks arsitektur 2 convolutional neural network dengan parameter sama
  8. One-shot image recognition dengan convolutional siamese network mendapat akurasi 92% pada omniglot dataset
  9. binary-to image pertama di 17; pake k-NN dan menghitung euclidean distance 
  10. 16 comparative analysis pake image based texture analysis dynamic 
  11. Agarap dan Pepito [2] pake DL-SVM; CNN-SVM, GRU,SVM dan MLP SVM
  12. one shot learning dari sampel terbatas [5,6] pake framework bayesian, bisa digunakan untuk prediksi future image, Hierarchical bayesian program learning (HBPL) utk decognize handwritten
  13. Memory augmented Neural network (MANN) [23] modif Neural Turing Machine (NTM) dpt learn dr new sampel dan membuat prediksi akurat; eksperimen omniglot, imageNet and one language modeling
  14. Siamese dibuat bromley dan leCun 93 utk solve signature verification written pada tablet pen-input; dua network sama ekstrak feature vector dan mencari similarity dari 2 sampel input. Supervised
  15. Deep-Face system
  16. Ikut [13] to construct Siamese cnn best convolutional architecture

Silahkan tuliskan tanggapan, kritik maupun saran