Malware detection Malconv-Raff


Paper Title: Malware Detection by Eating a Whole Exe

Authors: Edward Raff, Jon Barket, Jared Sylvester, Robert Brandon, Bryan Catanzaro, Charles Nicholas

Venue: AAAI-2018 Workshop on Artificial Intelligence for Cyber Security

URL: https://arxiv.org/pdf/1710.09435.pdf

Problem: Membangun neural network untuk deteksi malware dari raw byte sequence memiliki banyak permasalahan yang tidak timbul pada image processing maupun NLP.  Diantaranya masalah sequence denganlebih dari 2 juta time steps dan masalah batch normalization sepertinya menyulitkan proses learning. 

Contribution:

Arsitektur neural network untuk deteksi malware yang dapat memproses sebuah byte sequence melalui 2 juta time steps

Method/solution

  1. Dataset menggunakan 2 juta binary dengan 1 juta benign dan 1 juta malicious
  2. Menggunakan arsitektur convolution network dengan sebuah global max-pooling dan fully connected layers
  3. Menggunakan embedding layer untuk memetakan setiap byte pada sebuah feature vector fixed length 
  4. Shallow architecture dengan sebuah filter width besar 500 bytes dikombinasikan dengan 500 aggresive stride untuk mendapatkan komputasi balanced pada data paralel dengan PyTorch
  5. Menggunakan pendekatan gated convolution
  6. Ukuran input feature step besar (2 juta time steps)
  7. Menggunakan DeCov Regularization dengan memberikan penalti pada korelasi antara hidden state activation pada layer kedua dari belakang
  8. Menggunakan softmax
  9. Menggunakan temporal max-pooling agar hasil lebih dapat dipahami.
  10. Menggunakan batch size 256 sampel per batch
  11. Training menggunakan 8 GPUs pada DGX-1 dengan 16,75 jam per epoch pada 10 epoch. 
  12. Evaluasi performansi model menggunakan balanced accuracy dan AUC

 

Main result:

  1. Proses training pada 2 juta sampel menghabiskan waktu 1 bulan
  2. Regularization DeCov meningkatkan akurasi dari model
  3. 58-61% informasi malware diperoleh dari PE-HEader
  4. Akurasi dengan batch-norm hanya mencapai 60% pada training dan 50% pada pengujian
  5. Batch-norm tidak efektif pada model karena proses training dilakukan pada binary executable

Limitation:

  1. Terjadi overfitting
  2. Terjadi failure pada Batch-normalization 
  3. Kesulitan membedakan sampel packed malware dan benign
  4. Pemakaian memori sangat besar

Proses analisa manual 1 binary oleh analis bisa mencapai 10 jam (Mohaisen and alrawi 2013). 

,

Silahkan tuliskan tanggapan, kritik maupun saran