Klasifikasi Malware Tensorflow


Buat yang lagi seneng ngoprek malware, saya nemu model klasifikasi malware pake Tensorflow. Yang bikin Suryateja dari Uni South Florida. Dia pake dataset dari kaggle. Ada 10ribu sampel, masing2 sampel ada 2 file (.asm & byte) terbagi dalam 9 kelas. Fitur yang dipake n-gram, ukuran file (.byte dan .asm), Untuk file .byte dia ekstrak 9 fitur kemudian dikonvert jadi nilai antara 0-1.

Kemudian dia convert sampelnya ke image grayscale 256×256. Kemudian cleaning dan pre-processing, dia dapet 1416 sampel. Kemudian dibagi training : testing 80:20; Perbandingan sampel benign dan malicious 50:50

Dia pake CNN 6 layer, Pake Relu di layer pertama dan sigmoid di layer terakhir. Optimasi pake adam, dan loss functionnya binary cross-entropy

Dia dapet akurasi 94% dengan epoch 150

Kemudian dia coba pisahkan file asm dan byte di folder berbeda. FIle byte dikonvert jadi teks. Dari proses ini dia dapet 1780 file. Kemudian dia ekstrak fitur dengan metode bag of words (unigram). Kemudian dicoba ke beberapa model ML berbeda: random, k-NN, Logistic regression, Random Forest, XGBosst, XGBoost dengan tuning.

Hasilnya untuk file bytes model terbaik pake XGboost + tuning. Untuk asm yang terbaik adalah random Forest. Kodingannya bisa dilihat disini:

https://github.com/suryateja0153/Malware-Classification-TensorFlow

Semoga Bermanfaat!


Silahkan tuliskan tanggapan, kritik maupun saran