Paper Title: Malware Classification with Markov Transition Field Encoded Images
Authors : Shiming Xia, Zhisong Pan, Zhe Chen, Wei Bai, Haimin Yang
Venue: 2018 Eight International Conference on Instrumentation and Measurement, Computer, Communication and Control
URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9045036&tag=1
Problem: Jumlah malware meningkat secara eksponensial. Diperlukan pendekatan baru untuk melakukan klasifikasi malware dan benign
Contribution:
Mengajukan sistem klasifikasi malware dengan image representasi dan signal-based menggunakan Markov Transition Field (MTF)
Method/solution
- Mengubah Malware menjadi signal
- Mengesktrak feature vector menjadi signal
- Menggunakan SVM untuk melatih model untuk deteksi malware
- Menggunakan Markov Transition Field (MTF) untuk mengolah signal malware. menghitung state transfer probability
- Menggunakan deep learning dengan SVM
- Konversi malware menjadi grayscale, menggunakan aturan lebar gambar berdasarkan ukuran file <10kb=32; 10-30kb=64; 30-60kb=128; 60-100kb=256; 100-200kb=384; 200-500kb=512; 500-1MB=768; >1MB=1024 [Nataraj]
- Konvert raw malware menjadi 1 dimensi vector
- Panjang vector dibatasi dengan fixed-length
- Vector ditrain dengan two-class classifier dengan SVM
- Model digunakan untuk memprediksi malware baru
- File malware diconvert menjadi byte-signal X
- Menentukan Q quantile bins dan menentukan setiap byte dari signal xi ke bins qj(j[1,Q])
- Kemdian membuat matriks W dengan weight QxQ (dimana W adalah matriks transisi markov)
- Wij adalah frequency dari sebuah titik pada quantile Qi yang diikuti sebuah titik pada quantile Qj
- Setelah normalisasi dengan Sigma j wi, j=1 didapatkan matriks transisi markovW
- Setiap file dikonversi menjadi image MTF dengan ukuran fixed size
- Untuk gambar yang decoded, menggunakan model Resnet50 DCNN untuk training
- Untuk gambar vector menggunakan SVM untuk klasifikasi
- Dataset terdiri dari 1000 malware dari virusshare, 1000 apk dari oppo mobile phone software download center sebagai benign
- Menggunakan 3-fold cross validation
- Partisi sampel secara random menjadi 3 sets equal, dengan proporsi yang sama pada label class pada setiap fold, 1 sebagai testing set dan 2 sebagai training set
- Byteplot+TDCNN adalah metode pertama, kemudian Resnet-5- TDCNN sebagai learning model dan Signal+TDCNN yang mengubah tinggi dan lebar dari gambar
- Ukuran image diubah menjadi 100×100 dan Resnet TDCNN sebagai learning model
- Signal+SVM sebagai metode yang mengubah image menjadi byteplot menjadi signal, kemudian SVM sebagai learning model
- MTF+TDCNN untuk mengubah image MTF, kemudian resnet50 TDCNN sebagai learning model
- MTF+SVM untuk mengubah image MTF menjadi vector 1 dimensi kemudian SVM sebagai learning model
- Menjalankan setiap metode 10 kali dengan 3-fold cross-validation dataset
- Menghitung rata-rata dan varian dari setiap 10 hasil
Main result
- Dari pengujian Signal+TDCNN menghasilkan performa lebih baik dibandignkan byteplot+TDCNN
- Signal+SVM lebih baik daripada Signal+TDCNN
- MTF+SVM lebih baik dibandingkan MTF+TDCNN
- Deep Learning tidak selalu menghasilkan performa lebih baik
- Metode terbaik pada pengujian ini adalah MTF_SVM
Limitation:
- Masih terjadi Overfitting
- Jumlah sampel terbatas
note:
Visualisasi malware sebagai image; Conti[8] byteplot grayscale image; Nataraj wavelet, Mukkamala-intensity and texture feature from grayscale
Deep Learning; Rezende Deep CNN berbasis ResNet-50 pada dataset ImageNet, menggunakan 1000 kelas klasifikasi, dan mengganti layer 1000 fully-connected softmax dengan 25 (kelas) fully-connected softmax layer
SVM menghasilkan performa baik untuk two-classification problem, small sampel dan text categorization