LSTM malware classification – Kang – Paper Review

Paper Title : Long short-term memory-based Malware classification Method for information Security

Authors: Jungho Kang, Sejun Jang, Shuyu Li, Young-Sik Jeong, Yunsick Sung

Venue: Elsevier Computers & electrical engineering, Vol 77, July 2019, pages 366-375

URLhttps://doi.org/10.1016/j.compeleceng.2019.06.014

Problem: 

Deteksi malware signature based yang banyak digunakan saat ini tidak mampu mendeteksi berbagai macam teknik obfuscation malware. Diperlukan pendekatan deteksi malware baru.

Contribution:

  1. Mengajukan metoda deteksi malware menggunakan Word2vec untuk klasifikasi malware. Word2vec dan one-hot encoding telah banyak diimplementasikan pada NLP
  2. Metoda klasifikasi malware baru menggunakan LSTM
  3. Mengajukan metode klasifikasi menggunakan API function dan opcode. Klasifikasi malware tradisional banyak menggunakan opcode atau API function name. Namun memiliki batasan dalam akurasi

Method/solution:

  1. Source assembly degenerate dari malicious file kemudian diekstrak opcode dan nama API function.
  2. Pada fase training, word2vec dan LSTM dilatih untuk melakukan klasifikasi malware ke dalam family
  3. Tahapan training adalah: input, preprocessing dan learning
  4. Pada tahap input, tool disassembly digunakan untuk mengekstrak label source assembly dari label file malicious.
  5. Pada tahap preprocessing, opcode dan nama API function diekstrak dari label source assembly
  6. Model Word2vec mempelajari opcode dan nama API function dengan network word2vec dan terdiri dari sebuah kamus dan matrix embedding.
  7. Opcode dan nama API function yang diekstrak diindeks dengan kamu berbasis vocabulary
  8. Embedding dilakukan dengan melakukan embedding matrix word2vec menggunakan index2vec
  9. Pada tahapan learning, network LSTM dilatih dengan vektor dari opcode dan nama function API dan label2nya
  10. Pada tahapan eksekusi, family dari sebuah malicious file ditentukan dengan mempelajari model word2vec dan network LSTM
  11. Proses preprocessing terdiri dari 8 tahap: 1) ekstrak opcode dan nama API function; 2) model word2vec belajar dari opcode dan api; 3) matrix embedding dan vocabulary degenerated; 4) Vocabulary-based dictionary degenerated dengan sorting; 5) index opcode dan api function dibuat dari dictionary berbasis word2index; 6) Jika opcode dan index function API lebih pendek dari maximum sequence length, ukurannya disamakan dengan zero-padding
  12. Label vector dibuat dengan one-hot encoding
  13. Vektor berbasis index degenerate dengan matrix embedding melalui fungsi index2vec
  14. Panjang vector opcode dan function API adalah 300, weight setiap cell pada hidden layer diinisialisasi dengan 1.
  15. Hidden layer memiliki 128 cell
  16. Output vector dikirim ke layer softmax
  17. Dataset menggunakan Microsoft malware classification challenge berukuran 500GB dan 10,868 malware pada 9 family
  18. Pada setiap malware setiap source assemblu degenerate dengan idapro
  19. 90% dataset digunakan pada training, 10% pada testing

Main result:

  1. Akurasi akhir yang dihasilkan adalah 97,59%
  2. Akurasi awal pada proses training adalah 77,11% dan secara bertahap meningkat menjadi 97,59%
  3. Akurasi sistem 0,5% lebih tinggi dibandingkan sistem pembanding one-hot encoding
  4. Proses konvergen juga lebih cepat 10 menit dibandingkan sistem pembanding
  5. Loss pada metode yang diusulkan adalah 0,73 dan menuru secara gradual menjadi 0,05. Sementara pada sistem pembanding lossnya adalah 1,21 dan konvergen menjadi 0,09. Loss yang didapat 0,04 lebih rendah dibandingkan metode one-hot encoding

Limitation:

  1. Komputasi besar karena menggunakan 2 fitur opcode dan function API
  2. Belum dilakukan klasifikasi malware berdasarkan family
  3. Pengujian hanya dilakukan pada malware Windows (PE)

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).

Multiclass malware classification via texture statistics-Verma

Paper Title: Multiclass malware classification via first- and second-order texture statistics

Authors: Vinita Verma, Sunil K.Muttoo, V.B.Singh

Venue: Journal Computers & security Elsevier vol 97, oct 2020, 101895

URL: https://doi.org/10.1016/j.cose.2020.101895

Problem: Klasifikasi malware saat ini tidak efisien, terutama menghadapi imbalanced class. Perlu pendekatan baru

Contribution:

  1. Mengajukan sistem klasifikasi dengan analisa tekstur binary pada grayscale dengan kombinasi first-order dan grey-level co-occurrence matrix (GLCM) based second-order statistical textyre feature dari representasi visual malware

 

Method/solution

  1. Menggunakan esemble learning
  2. Pengujian menggunakan dataset Malimg
  3. Kode biner malware dibaca menjadi 8 bit integer disusun menjadi matrix dan diubah menjadi greyscale
  4. Lebar gambar fixed dan tingginya berbeda tergantung ukuran file
  5. Analisa texture biner menggunakan histogram equalization untuk mendapatkan distribusi level grey yang seragam, kemudian diubah menjadi 64×64 pixel
  6. Dilakukan penghitungan statistik first-order dan pembuatan GLCM dari gambar untuk menurunkan second-order texture statistik
  7. Feature statistik yang digunakan untuk mendapatkan teksture first-order adalah: mean, median, standar deviation, skewness, kurtosis, minimum, 10th percentile, maximum, 90th percentile, interquartile range (IQR), Mean Absolute Deviation (MAD), first-order entropy, first-order energy, coefficient of variation (CV), Range, Quartile coefficient of Dispersion (QCD), Variance, Median Absolute Deviation (MedAD) dan Root Mean Square (RMS)
  8. Feature texture menggunakan GLCM (Grey level spatial dependence matrix)
  9. GLCM dihitung dengan 3 parameter (jumlah grey level L dari gambar, distance d dan angular relationship θ antara grey level
  10. GLCM adalah matrix LxL G(i,j)
  11. Binary ditransformasi menjadi greyscale direduksi menjadi 32 level . Kemudian 4 matrix GLC< 32×32 pixel dihitung dengan θ= 0 °, 45 °, 90 °, and 135 °and d = 1
  12. Feature GLCM second order diturunkan dengan menghitung parameter berikut: contrast, Angular second moment (ASM), normalized Inverse Difference Moment (normalized IDM), joint average, sum of squares atau joint variance, joint entropy, joint maximum dan correlation
  13. Dataset 1vmenggunakan Malimg; terdiri dari 9339 sampel malware dari 25 family dengan 80-2949 sampel per family
  14. Label disediakan oleh Microsoft Security essentials
  15. Family malware dibagi menjadi kategori: worm, PWS, Dialer, Rogue, Backdoor, Trojan, dan TDownloader
  16. Parameter yang dihiting adalah precision, recall dan F1 Measure
  17. Dataset terdiri dari sampel malware yang unpacked dan packed
  18. Dataset 2 menggunakan sampel dari 2916 sampel windows virusshare, yang terdiri dari 19 family
  19. Melakukan ekstraksi 35 feature pada dataset 2

Main result

  1. Menghasilkan F1 score dan akurasi lebih tinggi dibandingkan sistem state-of-the art
  2. Menghasilkan efisiensi dan reliability yang lebih baik
  3. Robust terhadap serangan obfuscation (packing, code relocation dan encryption)
  4. Menggunakan ekstraksi feature lebih sedikit,
  5. Tidak memerlukan disassembly maupun code execution, sehingga waktu klasifikasi lebih cepat6%
  6. Precission 98,04%, recall 98,0 dan F1 98,05%
  7. Hasil klasifikasi pada dataset 2, presisi 97,44%, recall 98,12 dan F1 measure 97,75%
  8. Waktu yang dibutuhkan untuk merubah binary malware menjadi image adalah 37 mili detik
  9. Rata-rata waktu klasifikasi adalah 0,01 detik

Limitation:

  1. Terdapat kesalahan klasifikasi pada ransomware
  2. Rentan terhadap serangan evasion dengan embed malware pada binary benign dengan ukuran besar.
  3. Tidak efektif untuk mendeteksi malware baru

Malware Image Siamese Classification-Hsiao-Review Paper

Paper Title: Malware Image Classification Using One-shot Learning with Siamese Network

Authors: Shou-Ching Hsiao, Da-Yu Kao, Zi-Yuan Liu, Raylin Tso

Venue: 23rd International Conference on Knowledge-Based and Intelligent Information & Engineering Systems

URL: https://doi.org/10.1016/j.procs.2019.09.358

Problem: Machine Learning mulai banyak digunakan untuk deteksi dan klasifikasi malware. Namun model machine Learning yang ada membutuhkan sampel malware yang besar. Model yang ada tidak efektif untuk melakukan re-training untuk mengenali sampel malware baru

Contribution:

  1. Mengajukan metode baru untuk mendeteksi variant malware menggunakan klasifikasi image
  2. Mengajukan jaringan siamee untuk mengatasi kekurangan sampel malware baru
  3. Memiliki akurasi tinggi dibandingkan baseline dengan metode one-shot classification
  4. Menguji dataset dengan model deep learning dan menunjukan bahwa model deep learning tidak cocok pada kasus sampel training terbatas

Method/solution

  1. Terdiri dari tiga tahap: pre-processing, training dan testing; Pada tahap pre-processing, sistem mengubah sampel malware menjadi image gray-scale dan mengklasifikasikannya berdasarkan average hash ke dalam family yang sama
  2. Siamese Network melakukan training untuk menilai tingkat kemiripan sampel, akurasi dihitung melalui N-way one shot task
  3. Skor similarity digenerated oleh layer output sigmod yang menentukan family malware
  4. Menggunakan Siamese CNN yang memiliki weight yang sama antara sub-network. Cara ini dapat mengurangi parameter yang perlu di train dan mengurangi masalah overfitting
  5. Setelah proces 2 input image dengan CNN berbeda, sistem membuat 2 feature vectir v(m1) dan v(m2).
  6. Manhattan distance antara v(m1) dan v(m2) akan jadi input fungsi sigmoid
  7. Skor similarity dibuat dalam range [0,1] dengan 0 tidak mirip dan 1 sangat mirip
  8. Malware diconvert ke grayscale pada 8-bit vector dengan range [0,255] dengan 0 hitam dan 1 putih.
  9. Image direscale ke 105×105 pixel, original aspect ratio dipertahankan dan background dipenuhi dengan hitam
  10. Untuk re-sampling, sistem menggunakan bicubic interpolation
  11. Klasifikasi image ke family menggunakan AverageHash (aHash). Ahash adalah perceptual hash yang membuat fingerpring dari gambar input
  12. Image dengan nilai aHash sama akan diberi label sub-type yang sama pada sistem
  13. CNN terdiri dari convolutional layer, pooling layer dan fully connected layer
  14. Sequence convolutional layer menggunakan filter dari ukuran berbeda dan fixed stride one to extract feature maps.
  15. Output setiap convolusi pada 3 layer pertama dimasukan ke fungsi aktivasi ReLU (rectified linear unit) dan operasi max-pooling dengan stride two
  16. Layer final convolusi diikuti dengan sebuah fully-connected layer dengan fungsi aktivasi sigmoid dimana feature map di flattened menjadi sebuah single vector.
  17. Klasifikasi image classification akan memproses melalui susunan layer CNN, dan hasilnya berupa distribusi probabilitas dari semua kelas
  18. Menambahkan sebuah layer tambahan untuk menghitung Manhattan distance L1 distance antara 2 extracted feature vector
  19. Hasilnya diteruskan ke fully connected layer dengan function sigmod dan unit di set menjadi Satu.
  20. Output adalah skor kemiripan malware dengan range [0,1]0
  21. Training Siamese CNN dilakukan dengan mini-batch. Sistem secara random memilih pasangan gambar untuk training tapi menghindari unbalanced number dari pasangan similar dan dissimilar gambar dengan mini batch
  22. Ukuran mini-batch dirandom dari beberapa kelas, sementara pasangan gambar dikontrol dengan setengah ukuran kelas sama den setengah beda kelas
  23. Network menggunakan Adaptive moment estimation optimizer (Adam) untuk mengupdate weight selama iterasi training mini-batch
  24. Proses testing menggunakan M times dari learning task N-way one-shot learning dengan Q times dari prediksi yang benar; Accuracy=(100*Q/M)%
  25. Pada setiap task N-way one-shot learning, sistem memilih anchor image xˆ dari sebuah kelas dan secara random memiliki kelas N untuk membentuk set support
  26. Baseline menggunakan k-NN
  27. Pengujian dilakukan dengan Keras, TensorFlow, matplotlib, numpy, dan scikit-learn, PIL (python imaging library) pada Intel Core i7-8700 HQ CPU @3,2 GHz, 16 GB DDR3 RAM, NVIDIA GeForce GTX 1060M 6GB DDR5 GPU
  28.  

Main result

  1. Menghasilkan performa yang lebih unggul dibandingkan baseline
  2. Hyperparameter network Siamese, mini-batch size=6, Learning rate 0,00006; N-iterations=2000; N-way=1-15 ;N tasks-150
  3. Akurasi 29,56%

 

Limitation:

  1. Nilai akurasi masih rendah
  2. Malware baru nya belum diuji

 

note:

  1. Siamese neural network memiliki performa baik pada one-shot image recognition
  2. ML perlu banyak traning sampel dan long learning period
  3. Essential requerment train waide variety malware samples
  4. New malware model di retrained on whole large dataset
  5. Cost of massive sample collection and periodical re-training too large
  6. One-shot learning adalah training model dengan small set data tp tidak overfitting
  7. siamese networks arsitektur 2 convolutional neural network dengan parameter sama
  8. One-shot image recognition dengan convolutional siamese network mendapat akurasi 92% pada omniglot dataset
  9. binary-to image pertama di 17; pake k-NN dan menghitung euclidean distance 
  10. 16 comparative analysis pake image based texture analysis dynamic 
  11. Agarap dan Pepito [2] pake DL-SVM; CNN-SVM, GRU,SVM dan MLP SVM
  12. one shot learning dari sampel terbatas [5,6] pake framework bayesian, bisa digunakan untuk prediksi future image, Hierarchical bayesian program learning (HBPL) utk decognize handwritten
  13. Memory augmented Neural network (MANN) [23] modif Neural Turing Machine (NTM) dpt learn dr new sampel dan membuat prediksi akurat; eksperimen omniglot, imageNet and one language modeling
  14. Siamese dibuat bromley dan leCun 93 utk solve signature verification written pada tablet pen-input; dua network sama ekstrak feature vector dan mencari similarity dari 2 sampel input. Supervised
  15. Deep-Face system
  16. Ikut [13] to construct Siamese cnn best convolutional architecture

Klasifikasi malware call graph clustering-kinable-paper review

Paper Title: Malware Classification based on call graph clustering

Authors: Joris Kinable, Orestis Kostakis

Venue: Journal of Computer Virology 7:233-245

URL: https://link.springer.com/article/10.1007/s11416-011-0151-y

Problem: Setiap harinya perusahaan anti virus menerima ribuan sampel yang harus diklasifikasikan sebagai malware atau benign. Untuk menghadapi jumlah sampel yang besar dibutuhkan teknik deteksi malware automatis

Contribution: 

  1. Mengajukan sistem klasifikasi malware menggunakan call graph clustering

Method/solution

  1. Melakukan representasi malware ke dalam call graph untuk mencari kemiripan antara sampel dan melakukan clustering
  2. Menghitung pairwise graph similarity score
  3. Menggunakan beberapa algoritma clustering, k-medoids dan Density-based spatial clustering of applications with Noise (DBSCAN)
  4. Hasil clustering dibandingkan dengan klasifikasi manual oleh analis malware
  5. Call graph digenerate dari binary melalui analisa statik dari binary dengan tools dissambly IDA Pro
  6. Layer obfuskasi dibuang dengan unpacking dan decrypting executable
  7. IDAPro digunakan untuk identifikasi function dan memberikan nama symbollic secara random
  8. Pada fungsi external yang diimport secara dinamis, namanya diperoleh dari Import Address Table (IAT)
  9. Bila fungsi library statically linked, fungsi kode library digabungkan dengan compiler dari executable. menggunakan IDA Pro FLIRT
  10. Setelah semua fungsi (vertice) dari call graph diidentifikasi, edges antara vertice ditambahkan, yang sesuai dengan function call yang diekstrak dari executable yang didisassembled
  11. Untuk identifikasi, quantisasi dan menunjukan kemiripan antara sampel malware digunakan GED (finding minimum graph edit distances)
  12. Kemiripan malware dihitung menggunakan rumus similarity σ (G, H) dari call graph dibawahnya
  13. Untuk cost functionnya dihitung Graph edit distance λφ(G, H)
  14. Menggunakan Simulated Annealing, sebuah algoritma yang mencari mapping vertex yang memiliki nilai GED minimal
  15. Untuk inisialisasi cluster medoid digunakan 3 algoritma berbeda, k-means clustering, k-medoids clustering dan inisialisasi cluster cendroid dengan Trained initialization
  16.  Dataset X menggunakan sampel 194 malware call graph yang telah dianalisa manual dan diklasifikasikan oleh analis dari F-Secure menjadi 24 family
  17. K-optimal atau jumlah cluster diasumsikan 24
  18. Pada setiap luster k, k-medoid clustering dilakukan 50 kali
  19. Menggunakan algoritma DBSCAN untuk mencari dense area pada data psace yang terpisah dari area low density. 
  20. 2 parameter yang diukur DBScan adalah MinPts dan Rad 
  21. Pengujian algoritma clustering dilakukan pada 2 batch call graphs yang memiliki sampel 675 dan 1050. 

Main result

  1. Rata-rata call graph sampel memiliki 234 nodes dan 488 edges
  2. Sampel terbesar memiliki 748 vertices dan 1875 edges
  3. Ukuran family berbeda-beda dari 2 sampel sampai 17 unique call graph sampel
  4. Hampir semua anggota setiap family berhasil dikelompokan secara benar
  5. Hanya beberapa family seperty Baidu dan Boaxxe yang tidak dapat dikelompokan dengan benar dan tersebar ke berbagai cluster
  6. Hasil DBSCAN lebih baik daripada k-means clustering

Limitation:

  1. Penentuan parameter Minpts dan Rad agak kompleks
  2. Masih ada proses clustering sampel yang kurang tepat

Journal di Security dan cryptography

Buat para peneliti keamanan, berikut ini daftar top journal di bidang computer security dan cryptograhy menurut web guide2research:

  1. IEEE Transactions on Dependable and secure computing
  2. Elsevier Computers and security
  3. Elsevier Journal of Information Security and Application
  4. Elsevier Forensic Science International
  5. ACM Transactions on Privacy and Security
  6. Springer International Journal of Information Security
  7. IEEE Security and Privacy
  8. Hindawi Security and Communication Network
  9. Springer Journal of cryptology
  10. IET Information Security
  11. Springer Desings, Codes and cryptography
  12. Taylor & frances Cryptologia
  13. ACM Transactions on cyber-Physical systems
  14. IOS Journal of Computer security
  15. IACR Transactions on symmetric cryptology
  16. Journal of cryptographic engineering
  17. Taylor & Francis Cyber-Physical systems
  18. IET Cyber-Physical systems: Theory and applications
  19. Oxford Journal of cybersecurity
  20. Springer Journal of Computer Virology and Hacking Techniques
  21. Springer Eurasip Journal on Information Security
  22. Inderscience International Journal of Security and networks
  23. Emerald Information and computer security
  24. Rinton press Journal of Cyber security and mobility
  25. Inderscience International Journal of applied cryptography
  26. Uni Skovde Transactions on data privacy
  27. Elsevier Computer Law and security review
  28. IET Cybersystems and robotics

Info lengkapnya bisa dilihat disini: https://www.guide2research.com/journals/computer-security-cryptography

Measuring malware label dynamic-Zhu-Review Paper

Paper Title: Measuring and modeling the label dynamics of online anti-malware engines

Authors: Shuofei Zhu, Jianjun Shi, Limin Yang, Boqin Qin, Ziyi Zhang, Linhai Song, Gang Wang

Venue: Usenix Security Symposium 2020

URL: https://www.usenix.org/conference/usenixsecurity20/presentation/zhu

Problem: Virustotal menyediakan platform scanning sampel malware dari 65 antivirus berbeda. Namun seringkali terdapat perbedaan hasil scan dari berbagai antivirus. Sampel X dapat dideteksi malware oleh sebagian antivirus, sementara dideteksi sebagai benign pada antivirus lainnya. Perbedaan hasil scan ini menyulitkan peneliti dalam melakukan labelilng malware. Penelitian ini mempelajari bagaimana cara peneliti malware mengatasi permasalahan anotasi malware ini.

Contribution: 

  1. Melakukan studi literatur 115 paper untuk melakukan kategorisasi metoda yang digunakan untuk melakukan labeling data dari Virus Total
  2. Mengumpulkan snapshot harian label dari 65 antivirus, sejumlah 14ribu file selama setahun. Dataset ini dianalisa kemudian digunakan untuk melakukan validasi metodologi dari agregasi label. 
  3. Mengukur akibat dari label malware yang tidak konsisten dan tidak stabil. Identifikasi metodologi yang meragukan dan memberi saran riset yang akan menggunakan virustotal.

Method/solution

  1. Mengumpulkan paper hasil penelitian yang menggunakan sampel virustotal dari google scholar. Kemudian difilter berdasarkan level conference nya, diperoleh 115 paper dengan rentang waktu 2008-2018. 
  2. Paper dikategorisasi berdasarkan tipe file yang diteliti: a) PE Files, Android APK, URL dan tipe lain (flash disk, PDF)
  3. Sampel yang diamati adalah sampel malware baru, yang belum pernah disubmit ke virustotal sebelumnya
  4. Menggunakan rescan API untuk men-trigger engine virustotal untuk menganalisa file sampel setiap hari, kemudian menggunakan report API untuk query hasil scanning terbaru setiap hari.
  5. Untuk mendapatkan sampel baru digunakan API distribute. API memberikan informasi tentang file tersebut, seperti hash, apakah sudah pernah disubmit sebelumnya, tipe file dll
  6. Diperoleh 14.423 file PE. 7.197 dilabeli malware oleh setidaknya 1 engine antivirus dan 7226 benign oleh semua engine pada 31 agustus 2018. Data kemudian dibandingkan statusnya setiap hari selama 396 hari.
  7. Semua file 32-bit, 5798 adalah file win32dll sisanya adalah file win32 exe.
  8. 95% file memiliki ukuran 4kb-4mb. 
  9. Melakukan obfuscation malware yang sudah dikenal untuk menjadi binary baru, menggunakan tools codevirtualizer dan themida pada 4 jenis ransomware yang dibagi menjadi 2 set
  10. Setiap set malware terdiri dari 60 sampel malware baru. setiap sampul diuji pada virtual mesin.
  11. Untuk ground-truth benign, dibuat 2 set, total 236 file. Dilakukan obfuscation menggunakan tools yang diatas. Sampel ini dibuat untuk menguji kemungkinan hasil false positive dari virustotal. Set sampel ini dibandingkan dengan  obfuscation malware, karena menggunakan tools yang sama. Scanning dilakukan selama 93 hari
  12. Membuat 156 program PE secara manual, 150 dengan sourcecode coreutils dan mono project. Sampel coreutils adalah unix based yang kemudian dijadikan file PE menggunakan cygwin. Sementara Mono adalah framework .net yang dibuat pada mesin ubuntu. 
  13. Sampel tambahan terdiri dari binutils, notepad++, dan project fleck, sampel diamati selama 70 hari
  14. Setelah preprocessing dari 5 dataset, diperoleh 375.520.749 measurement points. Masing-masing memiliki file-ID, timestamp, nama engine dan label. 
  15. Setelah dilakukan filtering diperoleh 343.585.060 measurement points. 341.668.521 dari dataset utama
  16. Melakukan pemodelan perubahan label malware, dengan signal logic 0 dan 1.

Main result

  1. 22 paper tidak menjelaskan proses agregasi. 93 paper menggunakan pendekatan labelung yang umum digunakan.
  2. Metode agregasi berbasis threshold-based. 82 dari 93 paper menggunakan threshold t untuk memberi label malware. t adalah jumlah engine yang memberi label malicious.
  3. 50 paper menggunakan t=1; maksudnya bila ada 1 antivirus yang memberi label malicious maka file diberi label malware
  4. 24 penelitian menggunakan t>1; 8 penelitian menggunakan t sebagai rasio. 2 paper menggunakan t=40 dan 4 paper menggunakan t=50%
  5. Metode hanya memilih engine antivirus tertentu. 10 penelitian menggunakan cara ini, namun tidak dijelaskan alasan pemilihannya, tanpai kriteria jelas.
  6. Metode tanpa agregasi. 10 penelitian menggunakan virustotal dengan tujuan lain, diantaranya untuk melakukan training sistem usulannya, sebagai pembanding, membuktikan kekurangan virustotal, maupun untuk pengujian obfuscation
  7. Mayoritas penelitian (104/115) hanya mengambil snapshot sekali dari hasil label virus total. Hanya sedikit yang membandingkan snapshot dari rentang waktu tertentu, mulai dari 10 hari sampai 2 tahun. Ada juga yang melakukan subit file berulang kali untuk membandingkan hasil scan
  8. Ditemukan fenomena hazard flip, yaitu label sebuah sampel berubah, kemudian kembali lagi ke label awal pada hari berikutnya. 010 atau 101.
  9. Diperoleh 1.760484 hazard flip serta 811.325 non hazard flip (hanya 01 atau 10)
  10. Lebih dari setengan flips pada virustotal adalah hazard flips.
  11. Flips dan hazard yang diamati tersebar pada berbagai macam files, tanggal dan engines.
  12. Update model Engine adalah penyebab utama flips. Namun inkonstitetnsi selama update engine dan engine non-determisitc menjadi penyebab dari berbagai flips
  13. Menunggu periode waktu tertentu tidak menjamin label pada mesin tertentu menjadi stabil
  14. Flips dapat mempengaruhi hasil agregasi secara signifikan pada saat threshold t terlalu kecil atau terlalu besar. Menggunakan threshold pada range 2-39 membuat agregasi label lebih stabil
  15. Ada kelompok engine yang keputusan labelingnya saling berhubungan.
  16. Terdapat mesin antivirus yang hasil scannya mendapat pengaruh dari engine lainnya (active influence), termasuk dalam flip
  17. Secara keseluruhan passive influence lemah. Passive influence menjadi kuat dalam kasus label benign berubah menjadi malicious
  18. Obfuscation pada sampel benign dapat dengan mudah menimpulkan false positive, termasuk pada engine dengan high reputation
  19. Nilai threshold kecil dapat menyeimbangkan nilai presisi dan recall, selama tidak ada obfuscation pada file benign (<15)
  20. Terdapat inkonsistensi antara versi desktop dan versi online pada semua engine. Pada hampir semua vendor, engine virustotalnya mampu mendeteksi lebih banyak malware dibandingkan versi desktopnya 
  21. Bila sampel malware menggunakan teknik obfuscation disarankan tidak menggunakan threshold tapi menggunakan engine yang memiliki performa baik pada file obfuscated
  22. Beberapa high-reputation engine yang digunakan pada beberapa penelitian: Kaspersky, symantec, avg, ikarus, mcafee, microsoft, eset-nod32, sophos. F-Secure menghasilkan akurasi yang rendah
  23. Beberapa high reputation engine memiliki performa yang tidak baik dalam menangani obfiscation benign file, banyak menghasilkan false positive diantaranya  AVG, Mcafee, Microsoft, Sophos, Symantec
  24. 3 Engine dengan angka flips terbanyak adalah Microsoft, Fortinet dan Tencent.
  25. Engine yang memili label correlations pada file APK yaitu GData, Bitdefener, ad-aware, Emsisoft dan MicroWorld-escan.

Limitation:

  1. sampel memiliki bias terhadap teknik obfuscation
  2. Sampel malicious hanya ransomware
  3. Jumlah sampel ground-truth relatif kecil
  4. Diversifikasi dataset

Peneliti menggunakan virustotal untuk melakukan labeling datasetnya atau, querying/scanning API virustotal untuk menguji sistemnya. 43 paper dipublish pada 4 besar conference security yaitu S&P, CCS, Usenix dan NDSS. PE adalah tipe yang paling populer.

Virus Total menyediakan fitur file scanning dan URL scanning. Interface scanningnya terhubung dengan lebih dari 70 vendor antivirus.  Vendor ini melakukan sharing enginnya dengan virus total atau dijalankan sebagai paket software atau menyediakan online API. 

Virustotal dan vendor selalu mengupdate engine anti malwarneya, sehingga label sebuah sampel dapat berubah. Selain itu juga bisa saja terjadi perbedaan hasil deteksi dari berbagai perusahaan antivirus. Untuk itu peneliti melakukan agregasi hasil deteksi.

Peng et.al menguji engine scanning url untuk deteksi phishing. Kantchelian et.al mengusulkan model machine learning untuk melakukan agregasi label virustotal. Penelitian ini mengambil asumsi label. Selain Malware scanning, Virustotal juga menyediakan informasi family dari sampel malware. Peneliti menemukan bahwa beberapa engine antivirus yang berbeda bisa memasukan sebuah sampel malware ke dalam family yang berbeda. 

Ransomware dipilih karena, sangat mudah untuk melakukan verifikasi maliciousnesnya secara manual, misalnya melakukan enkripsi, menampilkan pesan ransim. Selain itu sebagian besar engine 57/60 mampu mendeteksi malware.

Virusttotal menerima 1 juta submission sampel setiap hari. Data penelitian ini dishare pada link

 

 

 

Hunting Stealthy Malware-Wang-Review Paper

Paper Title: You are what you do: Hunting Stealthy Malware via Data Provenance Analysis

Authors: Qi Wang, Wajih Ul Hasan, Ding Li, Kangkook Jee, Xiao Yu, Kexuan Zou, Junghwan Rhee, Zhenzhang Chen, Wei Cheng, Carl A. Gunter, Haifeng Chen

Venue : Network and Distributed Systems Security (NDSS) Symposium 2020

URL: https://dx.doi.org/10.14722/ndss.2020.24167

Problem: Bagaimana mendeteksi malware stealthy? Malware yang menggunakan berbagai teknik untuk mengelabui antivirus dengan menyerupai aplikasi benign.

Contribution : 

  1. Merancang ProvDetector, sebuah provenance-based system untuk mendeteksi stealthy malware yang menggunakan teknik impersonation
  2. Untuk meningkatkan akurasi dan efektifitas, mengusulkan sebuah algoritma novel path selection untuk identifikasi malicous part pada provenance graph pada sebuah proses
  3. Merancang sebuah novel neural embedding dan machine learning pipeline yang secara otomatis membangun sebuah profile behaviour untuk setiap program dan identifikasi proses anomali
  4. Melakukan pengujian sistematis Provdetector dengan malware

Method/solution:

  1. ProvDetector terdiri dari 4 tahapan: graph building, representation extraction, embedding dan anomaly detection
  2. ProvDetector melakukan model operasi normal dari sebuah sistem
  3. Menggunakan casual path sebagai sebuah feature yang membedakan bagian malicious dan benign dari data provenance.
  4. Provdetector memilih sebuah subset casual paths dari sebuah provenance graph untuk menunjukan masalah dependency explosion dan meningkatkan kecepatan training dan deteksi
  5. Melakukan konfigurasi untuk melakukan monitoring pada aplikasi dan mendeteksi bila aplikasi tersebut dibajak oleh stealthy malware. 
  6. Deploy sebuah monitoring agent pada host, mengumpulkan provenance data dari sisten dan menyimpannnya pada sebuah database sentral. 
  7. Memiliki 2 mode: training dan deteksi
  8. Dari sebuah  p , PROVDETECTOR membangin  provenance graph G(p) =< V, E > sebagai sebuah labeled temporal graph menggunakan data yang disimpan di database
  9. nodes V adalah entitas sistem yang labelnya adalah atributnya,  E adalah edges dimana  labelnya adalah  relations dan timestamps.
  10. Setiap  node V merupakan salah satu dari: processes, files atau sockets.
  11. Setiap edge e pada E adalah e = {src,dst,rel,time}.
  12. Pembangunan  provenance graph G(p) dimulai dengan  v == p.
  13. Kita tambahkan edge e dan source node src dan destination node pada graph seperti e.src ∈ V atau e.dst ∈ V .
  14. Setelah provenance graph terbangun, dilakukan ekstraksi representation. Untuk mencari representasi dari graph untuk membedakan malicious dan benign
  15. Casual path sebagai feature dari graph. causal path λ dari sebuah dependency graph G(p) sebagai sequence berurutan dari sebuah sistem (edges) {e1,e2,…,en} pada G(p), dimana ∀ei,ei+1 ∈ λ, ei.dst == ei+1.src dan ei.time < ei+1.time.
  16. Untuk menemukan  top K rarest paths, digunaian regularity score dari path λ = {e1,e2,…,en} 
  17. Embedding, menambahkan path pada model deteksi anomali, menggunakan intuisi, embedded learning dan final decision making
  18. Menggunakan model PV-DM seperti pada doc2vec. Metoda ini adalah self-supervised
  19. Deteksi anomali menggunakan model Local Outlier Factor (LOF). LOF adalah metoda density based. Sebuah titik dikatakan outlier jika dia memiliki sbuah local density yang lebih rendah dari tetangganya
  20. Training dilakukan pada mesin Intel core i7-6700 Quad-Core Processor (3.4 GHz) and 32 GB RAM running Ubuntu 16.04 OS

Main result: 

  1. Akurasi deteksi antara 0,952-0,965
  2. Recall range antara 0,965-1
  3. F1 score range 0,961-0,982
  4. ProvDetector lebih baik dibandingkan metode deteksi Strawman yang menghasilkan F! 0,78 dengan padalah 3%
  5. Performa lebih baik dibandingkan metode graph2vec dan path nodes averaging
  6. Training oada datan 30 ribu paths membutuhkan waktu 94 detik pada model doc2vec dengan ukuran embedding vector 100 dan epoch 100. Sementara pada LOF hanya dibutuhkan 39 detik 
  7. Rata2 dibutuhkan 5 detik untuk membangun provenance graph dan 2 detik untuk memilik top 20 path dari graph. Perlu 1 milideteik untuk embed path ke vector dan 0,06 mikrodetik untuk deteksi model
  8. Mampu mendeteksi sampel yang menggunakan teknik Anti-VM. 26% sampel menggunakan teknik anti-VM. 
  9. 70% path dari proses yang dibajak tidak terdeteksi sebagai malware

Limitation:

  1. Offline detector, atau tidak bekerja secara real-time
  2. Hanya diuji pada sistem operasi windows
  3. Hanya menddunakan 2 model doc2vec dan LOF
  4. Tidak diuji dengan advarsarial malware
  5. Tidak diuji tentang  polusi data

When Malware is Packin’Heat-Aghakhani-Review Paper

Paper Title: When Malware is packin’ Heat: Limits of machine leatning classifiers based on static analysis features

Authors: Hojjat Aghakhani, Fabio Gritti, Francesco Mecca, Martina Lindorfer, Stefano Ortolani, Davide Balzarotti, Giovani Vigna, Christopher Kruegel

Venue: NDSS (Network and distributed System Security) Symposium 2020

URL: https://www.ndss-symposium.org/wp-content/uploads/2020/02/24310-paper.pdf

Problem: Teknik packing dan obfuscation seringkali digunakan penulis malware untuk mengelabui proses deteksi malware. Namun teknik ini juga digunakan aplikasi benign untuk melindungi codenya.  Bagaimana mesin deteksi malware menggunakan machine learning dengan feature analisa static bisa membedakan sampel yang menggunakan teknik packing sebagai malware dan benign? 

Contribution:

  1. Melakukan studi tentang batasan dari malware classifier menggunakan machine learning yang hanya menggunakan feature static. 
  2. Dataset terdiri dari 392.168 sampel yang telah diberi label benign dan malicious serta packed dan unpacked.
  3. 341.444 sampel telah diketahui packernya

Method/solution

  1. Membangun 2 dataset, wild dataset dan lab dataset
  2. Wild dataset adalah kumpulan sampel yang diperoleh dari vendor antivirus yang menggunakan feature dinamik
  3. Menggunakan benchmark dataset EMBER
  4. Identifikasi sampel yang menggunakan packing menggunakan tools sandbox vendor, Deep Packet Inspector dan tools static lainnya
  5. Lab dataset adalah sampel dari wild dataset yang di packing dengan commercial dan free packer
  6. Melakukan ekstraksi 9 family feature dari 2 dataset diatas
  7. Pengujian menggunakan SVM, Malconv, Random Forest
  8. Pada tahan naive experiment, Training dilakukan pada packed malicious dan unpacked benign sampel
  9. Pengujian dilakukan pada 6 malware deteksi engine yang hanya menggunakan teknik static analisis feature.
  10. Packer yang digunakan diantaranya Themida, PECompact, PElock dan Obsidium.
  11. Sampel yang dipacking di submit ke VirusTotal, dan diuji dengan  vendor Antivirus dan dataset EMBER
  12. Membuat packer sendiri AES-Encrypter
  13. 4113 sampel diabaikan karena perbedaan hasil deteksi
  14. Sampel diuji apakah mengandung teknik packing menggunakan antimalware, DPI, Tools signature dan heuristic diantaranya manalyze, exeinfo PE, yara rules, PEiD dan F-Prot
  15. Digunakan 56,543 deature yang dikelompokan pada 9 Family Feature :PE Header, PE Sections, DLL imports, API imports, Rich Header, Byte n-grams, Opcode n-grams, Strings dan file generic

Main result

  1. 6 Classifier yang diuji hanya mendeteksi packing, sehingga tidak bisa membedakan sampel malware maupun benign yang menggunakan teknik packing
  2. Random Forest mendapatkan hasil classifier terbaik dan interpretasi hasil yang lebih baik dibandingkan neural network
  3. Hasil naive experiment, classifier menghasilkan tingkat false positive yang tinggi pada sampel packed benign. Sehingga disimpulkan classifier cenderung mendeteksi packing.
  4. Menambah ratio packed benign pada training set menurunkan tingkat false postive dan false negative.
  5. Packers menyimpan informasti tentang binary asli yang bisa digunakan untuk deteksi malware, contohnya file headers .cab pada section resource
  6. Sampel Benign yang menggunakan commercial packer Themida, PECompact, PElock dan Obsidium dideteksi sebagai malware
  7. 75% sampel malware menggunakan teknik packing. 50% sampel benign menggunakan teknik packing.
  8. 50% dari 69 packer yang diteliti digunakan baik oleh sampel malware dan benign, contohnya INNO dan UPX. 
  9. Packer yang banyak digunakan malware NSPack, Molebox
  10. 613 sampel benign dari file instalasi baru Windows 10  di pack dengan themida. 564 dideteksi sebagai malicious.
  11. Teknik Signature based untuk deteksi packing menghasilkan false negative yang tinggi. PEiD: 30% false negative.

Limitation:

  1. Classifier mengalami kesulitan dalam generalisasi packer yang belum dikenal
  2. Classifier sulit mengenali packer yang menggunakan teknik enkripsi yang kuat
  3. Rentan terhadap adversarial sample
  4. Tidak melakukan pengujian pada android

Source code dishare pada docker di web berikut: https://github.com/ucsb-seclab/packware. Ditemukan adanya dataset pollution, yaitu packed benign sampel yang dideteksi sebagai malicious. Packer adalah aplikasi yang melakukan kompresi atau enkripsi program. Teknik yang digunakan biasanya dekripsi atau dekompresi (runtime) dari payload original yang diikuti dengan sebuah jump dari memory address. 

Ugarte et.al membagi packer menjadi 6 tipe:

  1. Tipe I: Menggunakan sebuah rutin unpacking untuk transfer kontrol dari program asli. Packer yang populer adalah UPX
  2. Tipe II: Packer menggunakan sebuah rantai rutin unpacking secara sekuensial, dimana kode original yang dikomposisi ulang pada akhir sequence
  3. Tipe III: rutin unpacking dengan loops dan backward edges. Kode original tidak direkonstruksi pada layer terakhir, sebuah tail transision digunakan untuk memisahpan pakcer dan kode aplikasi
  4. Tipe IV: pada setiap layer packing, bagian dari unpacking rutin disisipkan pada bagian kode original. Namun seluruh kode orignal tetap unpacked di memori pada titik tertentu ketika dieksekusi
  5. Tipe V: Packer disusun dari laeyer berbeda dimana kode unpacking dicampur dengan kode asli. Ada banyak tail jump yang hanya menampilkan sebuah frame kode original pada waktu tersebut
  6. Packer unpack hanya sebuah fragment dari kode original

Pendekatan lainnya menggunakan heuristic utnuk mendeteksi packing, namun rentan terhadap adversary. Contohnya family malware Zeus menggunakan berbagai teknik berbeda, seperti memasukan set byte di executables untuk membuat entropy dari file dan sectionsnya rendah.  Untuk menghidari deteksi entropy-based heuristics. 

Deteksi dinamic memiliki performa lebih baik, karena mencari sequence write-execute pada sebuah lokasi memori. Teknik evasion lainnya adalah conditional execution dari unpacking routin.

Packer tELock dan Armadilo menggunakan beberapa teknik anti-debugging untuk menghentikan eksekusi pada setting debugging. Ada juga yang melakukan exploitasi virtualisasi hardware untuk mencapai transparansi, namun menghasilkah overhead performance yang tinggi. Themida menggunakan obfuscation virtualization pada unpacking routine, yang dapat menyebabkan slice size explosion. 

Beberapa asumsi pada generic unpacker: 

  1. Kode original ada di memori pada titik tertentu
  2. kode original diunpacked pada layer terakhir
  3. Eksekusi dari unpacking rutin dan kode original terpisah
  4. Kode unpacking dan kode original berjalan pada proses sama tanpai komunikasi inter-proses

Generik unpacker juga banyak menggunakan heuristic yang dirancang untuk packer tertentu

 

 

Malware detection Malconv-Raff

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

  1. Dataset menggunakan 2 juta binary dengan 1 juta benign dan 1 juta malicious
  2. Menggunakan arsitektur convolution network dengan sebuah global max-pooling dan fully connected layers
  3. Menggunakan embedding layer untuk memetakan setiap byte pada sebuah feature vector fixed length 
  4. Shallow architecture dengan sebuah filter width besar 500 bytes dikombinasikan dengan 500 aggresive stride untuk mendapatkan komputasi balanced pada data paralel dengan PyTorch
  5. Menggunakan pendekatan gated convolution
  6. Ukuran input feature step besar (2 juta time steps)
  7. Menggunakan DeCov Regularization dengan memberikan penalti pada korelasi antara hidden state activation pada layer kedua dari belakang
  8. Menggunakan softmax
  9. Menggunakan temporal max-pooling agar hasil lebih dapat dipahami.
  10. Menggunakan batch size 256 sampel per batch
  11. Training menggunakan 8 GPUs pada DGX-1 dengan 16,75 jam per epoch pada 10 epoch. 
  12. Evaluasi performansi model menggunakan balanced accuracy dan AUC

 

Main result:

  1. Proses training pada 2 juta sampel menghabiskan waktu 1 bulan
  2. Regularization DeCov meningkatkan akurasi dari model
  3. 58-61% informasi malware diperoleh dari PE-HEader
  4. Akurasi dengan batch-norm hanya mencapai 60% pada training dan 50% pada pengujian
  5. Batch-norm tidak efektif pada model karena proses training dilakukan pada binary executable

Limitation:

  1. Terjadi overfitting
  2. Terjadi failure pada Batch-normalization 
  3. Kesulitan membedakan sampel packed malware dan benign
  4. Pemakaian memori sangat besar

Proses analisa manual 1 binary oleh analis bisa mencapai 10 jam (Mohaisen and alrawi 2013).