Deteksi Malware sequence modeling-Oak-Paper Review


Paper Title: Malware Detection on Highly Imbalanced Data through Sequence Modeling

Authors: Rajvardhan Oak, Min Du, David Yan, Harshvardhan Takawale, Idan Amit

Venue: AISec ’19, November 15, 2019, London, United Kingdom

URL: https://doi.org/10.1145/3338501.3357374

Problem: Deteksi malware Android menggunakan deep learning mengalami kendala dataset yang terbatas dan imbalanced.

Contribution: 

  1. Menggunakan model BERT untuk mengatasi permasalahan imbalanced dataset pada deteksi malware android dengan deep learning.
  2. Menggunakan supervised LSTM untuk klasifikasi malware, melakukan validasi asumsi bahwa sequnce informasi akan mempengaruhi klasifikasi
  3. Menangani permasalahan imbalanced dataset dengan menggunakan teknik NLP BERT
  4. Melakukan studi kelebihan pre-training BERT dengan membandingkan hasil deteksi pada beberapa model dengan nilai inisialisasi berbeda (random atau di pre-trained pada data android) dan dilakukan training pada dataset android yang kecil
  5. Mempelajari efektifitas implementasi model BERT untuk deteksi malware android dengan setting pengujian beragam, seperti mempelajari sequence aktifitas secara mendalam 
  6. Menampilkan berbagai analisa statistik untuk pengujian validitas

Method/solution

  1. Menggunakan dataset 180.000 sampel dengan 2/3nya adalah malware
  2. Menguji model bahasa BERT untuk deteksi malware pada dataset keseluruhan
  3. membangun re-balanced dataset yang memiliki sampel malwar eyang berbahaya
  4. melakukan simulasi kondisi dataset malware yang unbalanced
  5. Dataset yang digunakan dari Palo Alto Networks Wildfire yang kemudian dilakukan ekstraksi label action sequence dari aplikasi android.
  6. Action pada dataset bukan log dari function calls tertentu, melainkan deskripsi high level dari behavior setiap aplikasi, contohnya “file APK menggunakan HTTP post” atau “file APK membuat sebuah hidden file”
  7. Dari setiap sampel dicatat juga informasi seperti domain apa yang dihubungi, permission yang diminta, sequence dari aktivitas dinamik yang dibuat aplikasi dan sertifikat yang digunakan untuk sign APK.
  8. Aktifitas tersebut dicatat ketika aplikasi dimonitor dan dibuat urutan aktifitas secara kronologis.
  9. 174 aktifitas yang dicatat diubah menjadi integer
  10. Analisa behaviour dibuat dalam format XML
  11. Menggunakan analisa n-gram untuk analisa aktifitas malware
  12. Parameter yang diukur akurasi, presisi, recall dan F1-score berdasarkan nilai True Positive (TP), true negatives (TN) positives (P) dan negatives (N)
  13. Akurasi= (TP+TN)/(P+N) ; jumlah prediksi benar dibandingkan total sampel
  14. Precision=TP/P’ ; ketepatan prediksi malware
  15. recall=TP/P ; persentase malware dideteksi oleh model
  16. F1 score=2*precision*recall/(precision+recall) : evaluasi keseluruhan model
  17. Melakukan perbandingan analisa sequence dengan analisa bag-of-words
  18. Pembagian dataset 75% utk training; 25% pengujian
  19. Setiap activity sequence direpresentasikan menjadi activity vector Setiap nilai pada activity vector diganti dengan nilai Term Frequency-inverse Document Frequency (TF-IDF).
  20. Neural network menggunakan 3 hidden layer, masing2 100 neuron
  21. Rasio malware pada aplikasi android dimonitor menggunakan sistem Autofocus dari PaloALto
  22. Pada model unsupervised menggunakan metoda clustering, Autoencoder dan DAGMM.
  23. Untuk  baseline menggunakan metode deteksi semi-supervised anomaly detection Deeplog
  24. Clustering menggunakan K-means; dengan cosine distance sebagai distance metric dan K=2

Main result: 

  1. F1 Score 0,985 pada jumlah sampel 183.000 APK dengan, 66% nya adalah malware dan 33% benign
  2. Menggunakan BERT diraih F1 score  0.919 pada sebuah dataset dengan sampel malware sebanyak 0.5% saja
  3. Hasil pre-training model BERT sangat berguna ketika dataset training yang dilabel sedikit.
  4. Hasil preprocessing didapat total 183000 sequences; 120780 adalah malware dan 60390 benign
  5. Untuk LSTM didadapat nilai F1-0,985
  6. Positivity rates 0,01% untuk aplikasi lama
  7. Untuk file baru, positivity rates 2% untuk android dan 0,5% untuk windows

Limitation:

  1. Pendekatan TF-IDF ini hanya cocok untuk deteksi offline
  2. Hasil positivity rate masih rendah
  3. Terdapat banyak variant malware yang sama pada training dan test, baiknya ada penambahan variant identification pada pre-processing
  4. Tidak ada timestamp pada sampel maware
  5. Perlu dikaji atribusi malware ke dalam kelas atau family yang sama
  6. Perlu dibandingkan dengan model bahasa lainnya seperti XLNet

Pada bidang machine learning terjadi kemajuan pesat pada bidang klasifikasi. Di NLP dua arsitektur yang banyak digunakan adalah LSTM (Long Short-term Memory) dan BERT (Bidirectional encoder representations from transformer). LSTM adalah kelas khusus dari jaringan neural yang memiliki keunggulan dalam mengingat histori dari data sequence.LSTM menggunakan input current dan input histori untuk prediksi. BERT mencoba untuk membuat representasi deep bidirectional pada saat pre-training untuk unlabeled text dengan masked words dan sentences. Model pre-trained dapat difine-tuned dengan output single layer untuk beragam task downstream dengan jumlah training tambahan minimum. Model ini secara empiris bekerja dengan baik pada klasifikasi text, dan membutuhkan waktu train yang lebih sedikit.

LSTM efektif pada analisa file log dan sistem anomali deteksi. File log atau sequences aktivitas memiliki kemiripan dengan model language dimana sama2 memiliki ordered sequence dari tokens. Menurut penulis, model bahasa dapat memiliki performa yang baik pada deteksi malware. 

Ratio aplikasi android dunia dibandingkan total aplikasi sekitar 0.01% – 2%. Sehingga membangun model yang bisa berjalan pada dataset imbalanced adalah sebuah keuntungan. BERT adalah model bahasa state-of-the-art pada nlp. Pendahulu bert adalah transformer. Tidak seperti recurrent neural networks sequence history untuk prediksi, transformer menggunakan mekanisme self-attention untuk membuat model hubungan antara semua kata pada sebuah kalimat. 

BERT menggunakan training Transformer dua arah. BERT memiliki mekanisme pre-training yang dapat belajar parameter dengan self-supervised learning pada unlabeled dataset secara efektif.

Inovasi inti dari BERT adalah penggunaan model bahasa masked. Word sequence sebelum dimasukan ke BERT, 15% dari kata2 pada setiap sequence diganti dengan sebuah masking token. Model kemudian mencoba prediksi nilai asli dari masked words berdasarkan konteks dari kata-kata lain pada sequence. Poin penting untuk dicatat adalah model prediksi menggunakan semua konteks, diantaranya kata2 sebelum, dan sesudah masked word. Sebuah model pre-trained dapat melakukan model hubungan antara token (kata) pada konteks berbeda dengan efektif.

Langkah 


Silahkan tuliskan tanggapan, kritik maupun saran