A Hierarchical Convolutional Neural Network for Malware Classification

30 Sep 2019  ·  Daniel Gibert, Carles Mateu, Jordi Planes ·

Malware detection and classification is a challenging problem and an active area of research. Particular challenges include how to best treat and preprocess malicious executables in order to feed machine learning algorithms. Novel approaches in the literature treat an executable as a sequence of bytes or as a sequence of assembly language instructions. However, in those approaches the hierarchical structure of programs is not taken into consideration. An executable exhibits various levels of spatial correlation. Adjacent code instructions are correlated spatially but that is not necessarily the case. Function calls and jump commands transfer the control of the program to a different point in the instruction stream. Furthermore, these discontinuities are maintained when treating the binary as a sequence of byte values. In addition, functions might be arranged randomly if addresses are correctly reorganized. To address these issues we propose a Hierarchical Convolutional Network (HCN) for malware classification. It has two levels of convolutional blocks applied at the mnemonic-level and at the function-level, enabling us to extract n-gram like features from both levels when constructing the malware representation. We validate our HCN method on the dataset released for the Microsoft Malware Classification Challenge, outperforming almost every deep learning method in the literature.

PDF
Task Dataset Model Metric Name Metric Value Global Rank Benchmark
Malware Classification Microsoft Malware Classification Challenge MalConv Accuracy (10-fold) 0,9641 # 23
LogLoss 0.3071 # 12
Macro F1 (10-fold) 0.8902 # 19
Malware Classification Microsoft Malware Classification Challenge Hierarchical Attention Network Accuracy (10-fold) 0.9742 # 17
LogLoss 0.0933 # 6
Macro F1 (10-fold) 0.9468 # 14
Malware Classification Microsoft Malware Classification Challenge DeepConv Accuracy (10-fold) 0.9756 # 15
LogLoss 0.1602 # 10
Macro F1 (10-fold) 0.9071 # 18
Malware Classification Microsoft Malware Classification Challenge CNN+BiLSTM Accuracy (10-fold) 0.9820 # 12
LogLoss 0.0744 # 4
Macro F1 (10-fold) 0.9605 # 13
Malware Classification Microsoft Malware Classification Challenge Hierarchical Convolutional Network Accuracy (10-fold) 0.9913 # 6
LogLoss 0.0419 # 2
Macro F1 (10-fold) 0.9830 # 7

Methods


No methods listed for this paper. Add relevant methods here