Paper Title: Malware Classification with recurrent Networks
Authors: Razvan Pascanu, Jack Stokes, Hermineh Sanossian, Mady Marinescu, Anil Thomas
Venue: IEEE International Conference on Acoustic, Speech and Signal Processing 2015
URL: 10.1109/ICASSP.2015.7178304
Problem: Classifier malware mesin learning yang ada saat ini berbasis hand-crafted feature vector. Metode ini rentan terhadap teknik obfuscation dengan melakukan rewrite dan reorder kode malwarenya.
Contribution:
- Mengajukan pendekatan baru yang mempelajari bahasa malware melalui instruksi yang dieksekusi dan melakukan ekstraksi fitur time domain.
- Metode ini robust terhadap teknik obfuscation yang melakukan rewrite dan reorder kode malware
Method/solution
- Untuk ekstraksi feature menggunakan Echo state network (ESN) dan Recurrent Neural
- Model di training secara unsupervised
- Classifier menggunakan feature ini untuk mendeteksi malicious
- Menggunakan max-pooling dan model half-frame
- Recurrent model ditrain untuk memprediksi API call berikutnya dan menggunakan hidden state dari model sebagai fiexed-length feature vector yang memberikan classifier terpisah (logistic regression atau MLP)
- Menggunakan arsitektur Leaky-units (dengan low-pass filter yang exponential decay) untuk meningkatkan long-term memory dari sistem
- Menggunakan model bi-directional yang melakukan kombinasi 2 model terpisah, satu model belajar dengan memproses event pada forward direction dan model kedua yang membangun sebuah model dengan memproses event pada reverse direction
- Win adalah input dari hidden layer weight matrix, Wrec adalah recurrent weight matrix, , b adalah bias, Wout adalah output weight matrix, bout adalah bias output ; adalah fungsi activation dari hidden layer dan output layer ;
- Maximum hidden state output hmax adalah
- Half-frame model memasukan state dari middle sequence sebagai tambahan dari state dari end of sequence
- Untuk mendapatkan fixed-lentg representation digunakan maximal length N dan minimal length n pada stream manapun. Minimal n ditetapkan 15, N dicoba pada nilai 50, 100, 200 dan 65536
- Logistic regression dan multi-layer perceptron dengan rectifier unit digunakan untuk melakukan klasidikasi proyeksi fixed-length
- Menggunakan droupout untuk menampilkan peningkatan generalisasi dari model MLP
- RNN dan ESN ditraining secara terpisah pada klasifier
- Feature extractor ditrain dengan model unsupervised
- Dataset malware dan benign didapat dari microsoft.
- Pada training, analis menyediakan event streams dari 250000 file malware yang dipilih secara random dan 250000 benign file yang dipilih secara random.
- Pembagian dataset adalah, pada training 297.500, validasi 54.500 dan 150.000 pada tes
- Training dilakukan pada segment dengan length 100 event
- Raw event stream terdiri dari 114 high level event yang berbeda, yang melaulan encode semua low-level API
- Hyper-parameter dari proyeksi dan klasifikasi model di tuned.
- Pada tahapan klasifikasi digunakan logistic regression dan 2 hidden-layer MLP
Main result
- Hasil pengujian menunjukan model hybrid dengan ESN pada model recurrent, max-pooling pada sampling non-linear dan logistic regression untuk klasifikasi akhir
- Dibandingkan dengan model trigram of event, menghasilkan performa lebih baik dengan true positive rate 98,3% dengan false positive rate 0,1%
- Pada model logistic regression dan MLP optimal learning rate adalah 1.0
- Dropout pada MLP memiliki probability 0,5
- Hidden layer dari MLP memiliki 1024 unit den menggunakan rectifier activation function. Learning rate setengah ketika validation error meningkat
- Ukuran dari fixed-length representation adalah 3000 untuk semua model recurrent
- Spectral radius awal 0,99
- Learning rate training adalah 1
- False positive rate adalah 0,1%
- True positive rate model trigrams adalah 36,17% lebih baik daripada bag of events model 24,46%
- TPR dari model ESN adalah 71,71% pada FÜR 0,1%; lebih baik daripada event trigrams
Note
- RNN- excellent results pada language modelling, online handwritten recognition dan generation, speech recognition
- ESN success dalam prediksi chaotic systems.
- In malware, Most informative part of a sequence occurs at the beginning of the sequence and may be forgotten by standard recurrent models