Heterogeneous Graph Convolutional Networks for Android Malware Detection
using Callback-Aware Caller-Callee Graphs
AbstractThe popularity of the Android Operating System in the smartphone market has given rise to lots of Android malware.
To accurately detect these malware, many of the existing works use machine learning and deep learning-based methods,
in which feature extraction methods were used to extract fixed-size feature vectors using the files present inside the Android Application Package (APK).
Recently, Graph Convolutional Network (GCN) based methods applied on the Function Call Graph (FCG) extracted from the APK are gaining momentum in Android malware detection,
as GCNs are effective at learning tasks on variable-sized graphs such as FCG, and FCG sufficiently captures the structure and behaviour of an APK.
However, the FCG lacks information about callback methods as the Android Application Programming Interface (API) is event-driven.
This paper proposes enhancing the FCG to eFCG (enhanced-FCG) using the callback information extracted using Android Framework Space Analysis to overcome this limitation.
Further, we add permission - API method relationships to the eFCG. The eFCG is reduced using node contraction based on the classes to get R-eFCG (Reduced eFCG) to improve the generalisation ability of the Android malware detection model.
The eFCG and R-eFCG are then given as the inputs to the Heterogeneous GCN models to determine whether the APK file from which they are extracted is malicious or not.
To test the effectiveness of eFCG and R-eFCG, we conducted an ablation study by removing their various components.
To determine the optimal neighbourhood size for GCN, we experimented with a varying number of GCN layers and found that the Android malware detection model using R-eFCG with all its components with four convolution layers achieved maximum accuracy of 96.28%.