A Study on Explainable Graph Presentation Learning with Semantic Features Embedding for Windows Malware Detection
摘要
The popularity of the Windows operating system (OS) compared to other OS platforms has led to a significant increase in malware targeting Windows users. Therefore, the application of machine learning (ML) and deep learning (DL) in this domain is crucial for the automatic detection of malware. In this paper, we use different types of Graph Neural Network (GNN) such as Graph Convolutional Network (GCN), Graph Isomorphism Network (GIN), GraphSAGE, Graph Attention Network (GAT) with two architectures, GAT version 2 (GATv2). Key information in malware analysis includes API Functions; therefore, utilizing API Functions as input data becomes essential, so we conducted experiments on a dataset of approximately 26,000 PE files collected from datasets APIMDS and MalBehavD-V1 with their APIs extracted. After that, using documentation each API embedded by two versions of model Bidirectional Encoder Representations from Transformers (BERT) and the method Word2Vec to generate nodes for the graph. The reason we can create a graph is that the API functions of the executable file are called sequentially, making them suitable for being represented as a graph. Our approach yields outstanding results, achieving an accuracy of 99.46% in distinguishing between malware and benign files. This approach addresses the limitations of static analysis by using graphs and GATv2 model to capture complex relationships between information in the graph. In addition, we utilize Explainable Artificial Intelligence (XAI) models, specifically Parameterized Explainer for GNN (PGExplainer), to provide insights into why the model classifies a file as either malicious or benign.