Paper Title: Neurlux: Dynamic Malware Analysis Without Feature Engineering
Authors: Chani Jindal, Christopher Salls, Hojjat Aghakhani, Keith Long, Christopher Kruegel, Giovanni Vigna
Venue: ACM Annual Computer Security Applications Conference-2019
URL : https://dl.acm.org/doi/abs/10.1145/3359789.3359835
Problem: Pendekatan deteksi malware dengan machine learning masih mengalami kendala pada proses feature extraction. Proses ekstraksi feature membutuhkan waktu yang lama dan sulit untuk mengidentifikasi feature terbaik, karena berbagai macam jenis malware
Contribution
- Mengusulkan Neurlux, klasifikasi malware berbasis behavioural report yang dihasilkan oleh sandbox. Dengan cara ini maka tidak diperlukan proses feature engineering. Preprocessing dilaporkan dengan cleaning report menjadi kata-kata tertentu. Model kemudian mempelajari sequence dari kata-kata tersebut untuk membuat prediksi
- Membuat dan melakukan pengujian klasifikasi malware pada report analisa dinamis, termasuk metoda baru seperti stacking ensemble pada integrated feature dan model feature count.
- Menguji kemampuan generalisasi Neurlux dengan melakukan pengujian terhadap dataset baru dan format laporan baru, contohnya yang dibuat oleh sandbox baru
- Melakukan share source dan dataset di github
Method/solution
- Mengimplementasikan teknik klasifikasi document dengan word sequence dari NLP
- Memanfaatkan hasil report analisa dinamis cuckoo sandbox dengan neural network.
- Hasil report termasuk aktifitas network, perubahan registry, file actions dll
- Sebagai pembanding digunakan juga hasil report dari sandbox dari perusahaan antivirus, pada penelitian ini dinamakan VendorSandbox
- Menggunakan 2 dataset, dari antivirus (VendorDataset) dan EmberDataset
- VendorDataset terdiri dari 27.540 sampel windows x86 binary dengan 50% benign dan 50% malware. Sampel teridiri dari 1000 family malware
- DatasetEmber merupakan potongan dari dataset standar Ember, terdiri dari 42ribu bniaru windowsx86 dengan 50% benign dan 50% malware
- Membandingkan dengan MalDy dari Karbab et.al
- Data cleaning dilakukan untuk mengubah format report dalam bentuk dokumen JSON menjadi sequence word. Karekater seperti bracket dihilangkan. Kemudian dokumen diberi token untuk sejumlah kata tertentu, sehingga 10ribu kata yang paling banyak muncul dikonversi menjadi sequence numerik
- Data formatting dilakukan dengan konversi kata ke vektor, dengan representasi kata dalam continuous vector space.
- Menggunakan word embedding yang bisa ditraining, sehingga kata-kata yang mirip memiliki vektor yang sesuai.
- Model menggunakan kombinasi CNN, BiLSTM network dan Attention network. Model diharapkan dapat memahami pattern lexical tersembunyi pada malicious dan benign.
- Model terdiri dari sebuah layer CNN dan 2 pasang layer BiLSTM dan attention. Dua pasang BiLSTM dan Attention adalah implementasi dari metode hierarchical attention network
- CNN melakukan ekstrak feature local dan deep feature dari text input
- LSTM menghasilkan representasi high-level dari bidirectional LSTM menggunakan hidden unit dari forward dan backward LSTM. LSTM dapat menemukan temporal relationship dari feature
- Input adalah trainable word embedding dengan dimensi 256
- Bagian berbeda dari report memiliki importance yang berbeda dalam menentukan malicious behavior dari sampel
- Output Neurlux adalah skor 0-1 dimana 0 benign dan 1 adalah malicious
- 6 Feature utama adalah: API sequence calls, Mutexes, File system change, Registry changes dan loaded DLL
- Proses input generation terdiri dari: Feature selection, data cleaning, data formatting dan model training
Main result
- Menghasilkan akurasi 96,8% pada validasi K-fold
- Neurlux menghasilkan performa yang lebih baik dibandingkan pendekatan klasifikasi malware yang menggunakan feature engineering
- Menghasilkan generalisasi yang lebih baik dibanding metode pembanding
- Terdapat perbedaan report dari sampel yang sama dari sandbox yang berbeda. Namun perbedaan hanya pada penamaan feature
- Performa pada validation accuracy lebih baik daripada metode pembanding
- Teknik NLP pada klasifikasi dokumen berhasil diimplementasikan dengan baik, dan memiliki performa yang lebih baik daripada Neural network raw model
- Model dapat mempelajari kombinasi terbaik dari features. Model dapat mengenali operasi file yang dilakukan oleh malware dan API Calls
- Neurlux lebih kuat dibandingkan model yang diuji, dengan akurasi yang lebih tinggi pada pengujian dengan dataset dan format report yang berbeda. Sementara model raw bytes memiliki performa tidak baik pada klasifikasi di dataset dan format report berbeda.
Limitation:
- Hanya melakukan klasifikasi setelah proses analisa dinamis
- Membutuhkan data training besar dan akurat.
- Hanya diuji pada malware windows
Note
Model pembanding MalDY menggunakan NLP untuk memproses report sanbdbox. Teknik ini menggunakan model BOW (Bag of words) dan Common N-grams (CNG).