Neurlux: Dynamic Malware Analysis – Jindal – PaperReview

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

  1. 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
  2. Membuat dan melakukan pengujian klasifikasi malware pada report analisa dinamis, termasuk metoda baru seperti stacking ensemble pada integrated feature dan model feature count.
  3. Menguji kemampuan generalisasi Neurlux dengan melakukan pengujian terhadap dataset baru dan format laporan baru, contohnya yang dibuat oleh sandbox baru
  4. Melakukan share source dan dataset di github

Method/solution

  1. Mengimplementasikan teknik klasifikasi document dengan word sequence dari NLP
  2. Memanfaatkan hasil report analisa dinamis cuckoo sandbox dengan neural network.
  3. Hasil report termasuk aktifitas network, perubahan registry, file actions dll
  4. Sebagai pembanding digunakan juga hasil report dari sandbox dari perusahaan antivirus, pada penelitian ini dinamakan VendorSandbox
  5. Menggunakan 2 dataset, dari antivirus (VendorDataset) dan EmberDataset
  6. VendorDataset terdiri dari 27.540 sampel windows x86 binary dengan 50% benign dan 50% malware. Sampel teridiri dari 1000 family malware
  7. DatasetEmber merupakan potongan dari dataset standar Ember, terdiri dari 42ribu bniaru windowsx86 dengan 50% benign dan 50% malware
  8. Membandingkan dengan MalDy dari Karbab et.al
  9. 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
  10. Data formatting dilakukan dengan konversi kata ke vektor, dengan representasi kata dalam continuous vector space.
  11. Menggunakan word embedding yang bisa ditraining, sehingga kata-kata yang mirip memiliki vektor yang sesuai.
  12. Model menggunakan kombinasi CNN, BiLSTM network dan Attention network. Model diharapkan dapat memahami pattern lexical tersembunyi pada malicious dan benign.
  13. 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
  14. CNN melakukan ekstrak feature local dan deep feature dari text input
  15. LSTM menghasilkan representasi high-level dari bidirectional LSTM menggunakan hidden unit dari forward dan backward LSTM. LSTM dapat menemukan temporal relationship dari feature
  16. Input adalah trainable word embedding dengan dimensi 256
  17. Bagian berbeda dari report memiliki importance yang berbeda dalam menentukan malicious behavior dari sampel
  18. Output Neurlux adalah skor 0-1 dimana 0 benign dan 1 adalah malicious
  19. 6 Feature utama adalah: API sequence calls, Mutexes, File system change, Registry changes dan loaded DLL
  20. Proses input generation terdiri dari: Feature selection, data cleaning, data formatting dan model training

Main result

  1. Menghasilkan akurasi 96,8% pada validasi K-fold
  2. Neurlux menghasilkan performa yang lebih baik dibandingkan pendekatan klasifikasi malware yang menggunakan feature engineering
  3. Menghasilkan generalisasi yang lebih baik dibanding metode pembanding
  4. Terdapat perbedaan report dari sampel yang sama dari sandbox yang berbeda. Namun perbedaan hanya pada penamaan feature
  5. Performa pada validation accuracy lebih baik daripada metode pembanding
  6. Teknik NLP pada klasifikasi dokumen berhasil diimplementasikan dengan baik, dan memiliki performa yang lebih baik daripada Neural network raw model
  7. Model dapat mempelajari kombinasi terbaik dari features. Model dapat mengenali operasi file yang dilakukan oleh malware dan API Calls
  8. 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:

  1. Hanya melakukan klasifikasi setelah proses analisa dinamis
  2. Membutuhkan data training besar dan akurat.
  3. 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).

Silahkan tuliskan tanggapan, kritik maupun saran