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
- Dataset menggunakan 2 juta binary dengan 1 juta benign dan 1 juta malicious
- Menggunakan arsitektur convolution network dengan sebuah global max-pooling dan fully connected layers
- Menggunakan embedding layer untuk memetakan setiap byte pada sebuah feature vector fixed length
- Shallow architecture dengan sebuah filter width besar 500 bytes dikombinasikan dengan 500 aggresive stride untuk mendapatkan komputasi balanced pada data paralel dengan PyTorch
- Menggunakan pendekatan gated convolution
- Ukuran input feature step besar (2 juta time steps)
- Menggunakan DeCov Regularization dengan memberikan penalti pada korelasi antara hidden state activation pada layer kedua dari belakang
- Menggunakan softmax
- Menggunakan temporal max-pooling agar hasil lebih dapat dipahami.
- Menggunakan batch size 256 sampel per batch
- Training menggunakan 8 GPUs pada DGX-1 dengan 16,75 jam per epoch pada 10 epoch.
- Evaluasi performansi model menggunakan balanced accuracy dan AUC
Main result:
- Proses training pada 2 juta sampel menghabiskan waktu 1 bulan
- Regularization DeCov meningkatkan akurasi dari model
- 58-61% informasi malware diperoleh dari PE-HEader
- Akurasi dengan batch-norm hanya mencapai 60% pada training dan 50% pada pengujian
- Batch-norm tidak efektif pada model karena proses training dilakukan pada binary executable
Limitation:
- Terjadi overfitting
- Terjadi failure pada Batch-normalization
- Kesulitan membedakan sampel packed malware dan benign
- Pemakaian memori sangat besar
Proses analisa manual 1 binary oleh analis bisa mencapai 10 jam (Mohaisen and alrawi 2013).