SNDGCN - Robust Android Malware Detection Based On Subgraph Network and Denoising GCN Network

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/379749566

SNDGCN: Robust Android malware detection based on subgraph network and


denoising GCN network

Article in Expert Systems with Applications · April 2024


DOI: 10.1016/j.eswa.2024.123922

CITATIONS READS

0 83

4 authors, including:

Xiaofeng Lu
Beijing University of Posts and Telecommunications
51 PUBLICATIONS 820 CITATIONS

SEE PROFILE

All content following this page was uploaded by Xiaofeng Lu on 12 April 2024.

The user has requested enhancement of the downloaded file.


Expert Systems With Applications 250 (2024) 123922

Contents lists available at ScienceDirect

Expert Systems With Applications


journal homepage: www.elsevier.com/locate/eswa

SNDGCN: Robust Android malware detection based on subgraph network


and denoising GCN network
Xiaofeng Lu a,b ,∗, Jinglun Zhao b , Senhao Zhu b , Pietro Lio c
a
National Engineering Center for Mobile Internet Security Technology, Beijing University of Post and Telecommunications, Beijing, China
b
School of Cyberspace Security, Beijing University of Post and Telecommunications, Beijing, China
c
Computer Laboratory, University of Cambridge, Cambridge, UK

ARTICLE INFO ABSTRACT

Keywords: Android malware seriously affects the use of Android applications, and a growing number of Android malware
Android malware detection developers are using adversarial attacks to evade detection by deep learning models. This work proposes an
Call graph Android malware detection model based on the Android function call graph (FCG) and the denoising graph
Graph convolutional neural network
convolutional network (GCN) that is resistant to adversarial attacks. Methods are also proposed to simplify the
Adversarial attack
FCG to reduce its size, and to construct vertex feature vectors. Because attackers may employ adversarial attack
methods, the proposed model uses the subgraph network (SGN) to detect the underlying structural features of
the FCG to discover the degree of the obfuscation attack. A denoising graph neural network (GNN) is designed,
and the 1-Lipschitz-based neural network denoising method is applied to graph convolution. Moreover, the
degree of denoising is adjusted according to the degree of obfuscation, which enhances the robustness of the
model. The GCN performs the feature vector extraction of the FCG, and a multilayer perceptron (MLP) is used
as the classifier. The results of experiments show that the 𝐹1 value of the proposed Android malware detection
method is higher than those of other malware detection models for different levels of obfuscation attacks, thus
demonstrating its effectiveness against such attacks.

1. Introduction and the misjudgment rate of the model is significantly increased (Grosse
et al., 2016). Although dynamic detection models collect and use the
As an open-source mobile operating system based on the Linux dynamic characteristics of the sample during operation, the dynamic
kernel, Android is popular because of its openness. While the openness characteristics themselves have strong instability and limitations, and
of the Android system brings convenience to developers and users, it it is challenging to ensure that an inspector can capture malicious
has also led to the generation of malicious software based on the An- behavior within a short runtime. It is also impossible to traverse all
droid platform, which has seriously affected the Android environment the logic branches and code branches of the sample software; thus, its
and harmed the interests of users. Therefore, research on the security behavior features cannot be fully obtained.
mechanisms and malware detection of the Android operating system To achieve a better Android malware recognition effect, the ad-
has become a top priority in mobile security (Sihag et al., 2021). vantages of the static and dynamic features of the sample must be
Many researchers have used static (Schmeelk et al., 2015) and dy- combined. To achieve this, features can be extracted from the function
namic (Wong & Lie, 2016) detection methods to study the recognition call graph (FCG, or call graph, CG) of the Android application (Niu
and detection of Android malware. These methods, especially some et al., 2020). Although the FCG is a static feature, it can reflect the
methods based on machine learning and deep learning (Qiu et al., dynamic behavior characteristics of Android applications. However, at
this stage, APK has a large scale, and its FCGs often contain a large
2020), have achieved good results. However, despite their outstanding
number of API nodes. When processing the FCG, a lot of memory space
performance, these models still have some problems. For example, it
is occupied and the detection accuracy is reduced; thus, simplification
is very easy for malware developers to modify the malware’s source
is required (Wu et al., 2019).
code, making the static features of the sample (such as the API call
Second, because the FCG has a non-Euclidean graph data structure,
frequency, opcode sequence, sensitive permissions, etc.) invalid. As a
it is difficult to extract features by convolutional neural networks
result, detection models based solely on static features are vulnerable,

∗ Corresponding author at: National Engineering Center for Mobile Internet Security Technology, Beijing University of Post and Telecommunications, Beijing,
China.
E-mail addresses: luxf@bupt.edu.cn (X. Lu), zhaojl@bupt.edu.cn (J. Zhao), zsh239040@bupt.edu.cn (S. Zhu), pl219@cam.ac.uk (P. Lio).

https://doi.org/10.1016/j.eswa.2024.123922
Received 27 February 2023; Received in revised form 10 March 2024; Accepted 4 April 2024
Available online 10 April 2024
0957-4174/© 2024 Published by Elsevier Ltd.
X. Lu et al. Expert Systems With Applications 250 (2024) 123922

(CNNs) and other methods. In recent years, the concept of the graph method, however, is that the initial detection effect of malware variants
convolutional network (GCN) has emerged, the main idea of which is is weak because the robustness of the model must be enhanced after
to generate the representation of vertices by summarizing the char- training. Furthermore, the dimension of the feature vector used by
acteristics of the vertices themselves and the characteristics of vertex the detection model is relatively singular, and is mainly based on
neighbors. The GCN calculates the representation of vertices by stack- permission information. It is thus difficult to comprehensively cover
ing multiple graph convolution layers. Therefore, the use of a graph various characteristics of Android application samples. İbrahim et al.
neural network (GNN) to process the FCG of the app is proposed in the (2022) studied the features and types of Android malware using a GRU
present work. model, the input of which included numerous Android app features.
Third, assuming that the attacker knows that the malicious code With the introduction of GNNs, researchers began to use these
detection model is based on the FCG, the attacker must use anti-attack networks for malware detection. For instance, Feng et al. (2020) used
technology, such as the Android code obfuscation technique (Dong a GNN to extract the features of call graphs, generate vectorized
et al., 2018), to deceive the detection model. Thus, not only should the representations of Android applications, and then classify them via
FCG be simplified, but some attacks should also be filtered out from the a multilayer perceptron (MLP), and achieved good results. However,
perspective of the FCG. In the proposed method, the first- and second- they also pointed out that although this method has a high recognition
order subgraph networks (SGNs) are used to reconstruct the original rate for Android malware, it cannot defend against adversarial attacks;
FCG to detect the counterattack of the FCG. attackers can avoid detection by obfuscating the source code. Gao
The extant research has generally only considered one technical et al. (2021) proposed GDroid, which uses a heterogeneous GNN to
point in malware detection, such as the node characteristics, graph map applications and Android APIs into a large heterogeneous graph,
construction, the graph scale, the detection model, adversarial training, thereby transforming the original problem into a node classification
etc., while no researchers have studied several issues comprehensively. task. A GNN is used to iteratively generate node embeddings contain-
In addition, no previous studies have analyzed whether adversarial at- ing topology and node features, after which the nodes are classified.
tacks existed in the detected software, and none of the proposed models Experiments carried out by the researchers demonstrated that GDroid
have removed the attack content from the detected data. Thus, when could detect 98.99% of Android malware with a false positive rate of
these models encounter an app that has been modified by hackers, they less than 1%. However, the heterogeneous graphs contain too few types
cannot detect such malicious apps. To solve these problems, this paper of information, including only APPs and APIs, and other important
proposes a robust Android malware detection model based on SGNs information, such as system permissions, is not considered. Therefore,
and a denoising GCN, named SNDGCN, based on the use of the FCGs the robustness of the model to adversarial attacks may be insufficient,
of Android applications. SNDGCN uses the first- and second-order SGNs as an attacker can modify the system’s API calls to evade detection.
to reconstruct the original FCG to detect the adversarial attack of the In addition to FCGs, other types of graphs have been proposed. Lin
FCG. To reduce the influence of the adversarial attack on the model et al. (2023) used CICFlowMeter-V3 to extract more than 80 network
to the greatest possible extent, a 1-Lipschitz-based neural denoising traffic characteristics from three states of software execution (instal-
GCN is applied to remove the attack effect in the detected app, which lation, before reboot, and after reboot) to build a network traffic
can improve the robustness of the model. The proposed method is diagram of the malware. The information in the diagram was then
compared with some baseline models on different datasets, and the analyzed to explore correlations between malware and its family classi-
presence of adversarial attacks is simulated. The experimental results fication. Esmaeili et al. (2023) proposed a dynamic malware detection
show that SNDGCN achieves higher accuracy and 𝐹1 values than the method based on a control flow diagram, in which nodes represent the
state-of-the-art methods, and exhibits significantly higher robustness uninterrupted instruction sequence in the basic instruction block and
against apps with adversarial attacks, thus indicating the effectiveness edges represent the transfer of instruction flow. However, this malware
of the proposed method. detection method based on dynamic analysis has some limitations, such
The main contributions of this research are summarized as follows. as incomplete feature extraction, a dependent execution environment,
and anti-sandbox detection, which may lead to higher misjudgment and
(1) To date, this is the first study to analyze whether adversarial missed judgment.
attacks have been carried out on the tested apps and analyze One disadvantage of using a GNN is that the scale of graph nodes
the extent of the attacks. SGNs are used to detect whether an is large, thus contributing to low graph operation efficiency. As such,
app has undergone adversarial modifications. some researchers have proposed ways to reduce the size of the graph.
(2) This is the first research to automatically adjust the hyper- For instance, to carry out Android malware detection, He et al. (2022)
parameters in the denoising neural network according to the proposed to extract the FCG based on code snippets, and the results
degree of adversarial attacks, thus clarifying the effect of ad- of experiments demonstrated that this method could effectively deal
versarial attacks. with zero-day threats, application evolution, and code obfuscation.
(3) This paper comprehensively studies the multidimensional node However, this detection method based on code fragments ignores the
characteristics of malware, the graph structure, graph pruning, dynamic nature of program execution, destroys the integrity of the ex-
and adversarial attack detection and removal. ecution path of malicious code, and easily leads to higher misjudgment
and missed judgment. Liu et al. (2024) used graph pruning technology
2. Related works to build a sensitive FCG on the original FCG, which retained the context
of sensitive API calls and deleted irrelevant nodes in the FCG.
Before GNNs were applied to malware detection, many other models Because deep learning models are susceptible to adversarial sample
and methods were proposed. DREBIN (Arp et al., 2014) is a lightweight attacks, many methods have been proposed to improve the robustness
Android malware detection method that performs static analysis and of malware detection systems. One research direction is to combine
uses a support vector machine (SVM) to implement sample classifi- GNN models with other models. As an example, Pei et al. (2020)
cation. The main contribution of DREBIN lies in feature engineering; proposed a deep learning framework named AMalNet to learn multiple
it gathers eight features from the code and manifest of an applica- embedding representations for Android malware detection and family
tion. Rathore et al. (2021) designed an adversarial attack method for attributions. It uses a version of the GCN to model high-level graphical
Android malware detection models based on reinforcement learning, semantics, which automatically identifies and learns the semantic and
with the goal of maximizing the deception rate while minimizing sequential patterns. Because the GCN cannot capture dependencies
modifications to Android applications and ensuring the functionality between nodes that are far away from each other in the graph, the GCN
and malicious behavior of the applications. The problem with this was combined with IndRNN to further capture remote dependencies

2
X. Lu et al. Expert Systems With Applications 250 (2024) 123922

Fig. 1. The generation of an adjacency matrix based on function call relationships.


Fig. 2. The application of the 1-hops vertex reservation algorithm to delete 𝑣𝑒𝑟𝑡𝑒𝑥4 .

between nodes in context. Furthermore, DeepCatra (Wu et al., 2023) is 3.2. Function call graph simplification
a multi-view learning approach for Android malware detection, which
consists of a bidirectional long short-term memory (BiLSTM) network Due to the large scale of APK at this stage, its call graph often
and a GNN as subnets. The two subnets rely on features extracted from contains many API nodes, most of which are ordinary nodes necessary
statically computed call traces leading to critical APIs derived from for application operation. These nodes introduce invalid information,
public vulnerabilities. The node features in this GNN are relatively increase the data complexity of the detection system, and reduce the
simple. detection efficiency. Therefore, some nodes are deleted based on the
Another way to improve the robustness of a GNN is to adopt adver- sensitivity of the API. In the Android operating system, sensitive APIs
sarial training. For instance, Li et al. (2024) proposed a new Android provide some important system-level functions and are protected by the
malware detection method based on imbalanced heterogeneous graph security mechanism of system permissions. While these APIs may also
embedding, which uses a heterogeneous graph to model different types be used in normal applications, in malicious software, they are often
of entities (e.g., APPs, APIs, permissions, intentions, etc.). A generative used to implement some malicious behaviors, such as sending spam
adversarial network (GAN) is used to supplement the unbalanced nodes messages, stealing user information, etc. For example, malicious billing
in the dataset, and a heterogeneous information network is used to de- software may call the API for sending text messages, while software that
tect malware. Yumlembam et al. (2022) proposed the addition of nodes steals privacy information may call the API for accessing the address
and edges to the existing API graph to dynamically generate adversarial book. The list of sensitive APIs considered in this study was obtained
samples and improve the detection accuracy of malware based on GAN from Rasthofer’s analysis (Rasthofer et al., 2014) of sensitive APIs.
training. However, this method of directly adding edges and nodes does However, APIs not on the sensitive APIs list cannot simply be deleted.
not guarantee that the app corresponding to the adversarial sample To simplify the call graph and retain its original structure, an 𝑁-hops
will work, as this type of adversarial attack is not the method used by vertex reservation algorithm is proposed.
hackers in the real world. It was found that a sensitive system API will contain more relevant
The previously discussed studies generally only considered one information in the Android application call graph; thus, the FCG is
technical point in malware detection, such as the node characteristics, simplified depending on the sensitive APIs. Whether an API is reserved
graph construction, graph scale, or model robustness, and did not depends on the distance 𝑁 from it to the nearest sensitive API. The
comprehensively consider these points. Furthermore, none of these vertex deletion rule is as follows. Suppose a vertex is not a sensitive
studies investigated the detection and removal of adversarial attacks on API, and the number of hops between it and its nearest sensitive API
the tested apps. The present work proposes the use of SGNs to detect is 𝑥. If 𝑥 is less than a certain threshold, then the vertex can be
whether an app has undergone adversarial modifications. reserved; otherwise, the vertex will be deleted. In Fig. 2, a blue vertex
represents a sensitive API node and a white vertex represents a normal
API node. The distance between 𝑣𝑒𝑟𝑡𝑒𝑥4 and 𝑣𝑒𝑟𝑡𝑒𝑥6 is two hops. If the
3. Function call graph simplification threshold is 1, then 𝑣𝑒𝑟𝑡𝑒𝑥4 can be removed. The simplified call graph
significantly reduces the number of nodes, thus effectively reducing the
3.1. Function call graph computational resource consumption of large-scale call graph analysis.
Algorithm 1 describes the 𝑁-hops vertex reservation algorithm.
The FCG reflects the internal functions of an Android application, Algorithm 1 𝑁-hops vertex reservation algorithm
including the call relationships between the API and developer-defined 1: for each vertex 𝑖 in 𝑣𝑒𝑟𝑡𝑒𝑥_𝑙𝑖𝑠𝑡 do
functions, which can directly reflect its functional characteristics. 2: 𝑟𝑒𝑚𝑜𝑣𝑒 = 𝑡𝑟𝑢𝑒
The Android FCG can be represented by directed graph 𝐺 = ⟨𝑉 , 𝐸⟩, 3: for each sensitive API vertex 𝑗 do
where 𝑉 represents the set of all vertices in the graph. Each vertex 4: if Distance(𝑖, 𝑗) <= 𝑇 ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑 then
represents a function extracted from the unpacked and decompiled 5: # Distance function calculates the hops between 𝑖 and 𝑗
smali code file, including Android system library functions and user- 6: 𝑟𝑒𝑚𝑜𝑣𝑒 = 𝑓 𝑎𝑙𝑠𝑒
defined functions. Moreover, 𝐸 indicates that the graph 𝐺 contains a 7: break
set of all relationships (edges). Edges are also important in the FCG, and 8: end if
represent the process of an Android application executing functions. 9: end for
The edge information can also be obtained by traversing the smali code 10: if 𝑟𝑒𝑚𝑜𝑣𝑒 == 𝑡𝑟𝑢𝑒 then
file. In the FCG, the edges represent the call relationships between 11: 𝑑𝑒𝑙𝑒𝑡𝑒𝑉 𝑒𝑟𝑡𝑒𝑥(𝑖)
vertices. As shown in Fig. 1, in the adjacency matrix 𝐴 of the call 12: end if
graph, the corresponding position element is set to 1 if an edge exists; 13: end for
otherwise, it is 0. If Func1 calls Func2, (1, 2) is set to 1. Several difficulties are encountered when introducing the call graph
In function vertex set 𝑉 , the function of each function is mainly to malware detection. First, the FCG is essentially a non-Euclidean
realized by Java library functions and Android system calls. Therefore, structured data type, and its combination with static features, such as
API call information can continue to be mined from function vertices commonly used permission declarations, is more challenging. Second,
and the API sequence can be extracted as vertex information. there may be tens of thousands of vertices in the call graph of Android

3
X. Lu et al. Expert Systems With Applications 250 (2024) 123922

Table 1 is assumed that the attacker knows that the malicious code detection
The system permissions.
model is based on FCGs, so the attacker can use an obfuscation attack
Permission Group Permission against malicious applications. The attacker will change the static
CALENDAR READ_CALENDAR features of an app while retaining malicious behavior, thus affecting
CAMERA CAMERA
the detection model and evading detection. Specifically, in this study,
CONTACTS READ_CONTACTS
ACCESS_FINE_LOCATION
adversarial attacks are implemented on Android applications via an
LOCATION FCG obfuscation attack.
ACCESS_COARSE_LOCATION
MICROPHONE RECORD_AUDIO An FCG obfuscation attack involves adding redundant edges and
PHONE READ_PHONE_STATE nodes to the FCG. It is assumed that when conducting obfuscation
READ_CALL_LOG
CALL_PHONE attacks, attackers usually prefer to add edges in the FCG rather than
PROCESS_OUTGOING_CALLS
SEND_SMS delete edges. The randomly added edges are redundant edges that do
SMS
READ_SMS not interfere with the normal execution process and the result of the
READ_EXTERNAL_STORAGE program. For example, consider the call chain 𝐴 → 𝐵 in the FCG,
STORAGE
WRITE_EXTERNAL_STORAGE indicating that function 𝐴 calls function 𝐵. Redundant nodes 𝐶 and
𝐷 and redundant edges 𝐴 → 𝐶, 𝐶 → 𝐷, and 𝐷 → 𝐵 can be added to
make the call chain become 𝐴 → 𝐶 → 𝐷 → 𝐵.
application software, and it is also difficult to extract features from If anomalies can be found from the perspective of the underlying
call graphs. Finally, the attacker may obfuscate the malware in various structure of the FCG, the detection of adversarial attacks on the FCG
ways, thus affecting the feature extraction of the detection system and can be realized. Most of the common obfuscation methods for Android
evading detection. applications have strong randomness, i.e., the changes of vertex and
In summary, the research on Android system malware detection edges are often random; thus, SGNs can be used to detect obfuscation
based on call graphs has essential value, and is also a research hotspot attacks. An SGN not only judges whether an Android application is
in this field. obfuscated, but also accurately quantifies the degree of obfuscation to
a certain extent. As a result, the subsequent denoising GCN model can
3.3. Function call graph vertex feature extraction reduce the misjudgment of samples.

After obtaining the simplified call graph node list and adjacency 4.2. Subgraph network
matrix, features for each function must be constructed and quantified.
At present, the common node feature vectorization methods include An SGN is a graph composed of subgraphs in the original graph and
word2vec (Popov, 2017) and one-hot encoding. In the process of word can be regarded as a mapping of the original graph, i.e., the original
embedding, the path information of the library where the node is node-level network is mapped to the subgraph-level network. An SGN
located will be lost; thus, the node characteristics cannot be fully reconstructs graph features to extract the underlying information of
expressed. A new method of constructing vertex features in an FCG is graph-structured data.
thus constructed. A subgraph is defined as follows. Given a graph 𝐺(𝑉 , 𝐸), when set
The vector of each vertex is composed of three parts, namely 𝐹𝑡 , 𝐹𝑚 , 𝑉𝑖 belongs to 𝑉 and set 𝐸𝑖 belongs to 𝐸, 𝑔𝑖 = (𝑉𝑖 , 𝐸𝑖 ) is a subgraph
of 𝐺, and multiple subgraphs of graph 𝐺 can be expressed as 𝑔 =
and 𝐹𝑐 , which are spliced into a vertex feature vector with a length of { }
512. 𝑔𝑖 ⊆ 𝐺 ∣ 𝑖 = 1, 2, … , 𝑛 , where 𝑛 < 𝑁.
An SGN is defined as follows. Given a graph 𝐺(𝑉 , 𝐸), the SGN can be
( )
(1) The vector 𝐹𝑡 represents the path of the library where this func- expressed as 𝐺∗ 𝑉 ∗ , 𝐸 ∗ , where 𝐺∗ represents the set of subgraphs,
{ }
tion is located. If it comes from a developer-defined function, 𝐹𝑡 𝑉 ∗ = 𝑔𝑗 ∣ 𝑗 = 0, 1, … , 𝑛 , and 𝐸 ∗ represents that the two subgraphs
is set to all 0 values. If it comes from the Android framework in the set 𝑉 ∗ are connected. The connection state in the SGN means
layer, the description is the system API. An Android library path that the two subgraphs 𝑔𝑖 and 𝑔𝑗 have a common edge or vertex in the
set 𝐿1 is pre-established to collect the paths of the libraries original graph 𝐺.
where all APIs in the dataset are located, and the paths of each After extracting enough subgraphs from the graph, the connec-
library are then mapped into vectors based on this list. 𝐹𝑡 is the tions between the subgraphs are established according to certain rules,
vector mapped to the path of the library where this function is thereby constructing an SGN. In an FCG, two subgraphs are considered
located. to be connected if and only if they share the same nodes or edges from
(2) Vector 𝐹𝑚 represents the vector mapped by the function name the original graph.
of the current vertex through word2vec. Because functions with For first-order SGNs, an edge in the original graph is represented as
similar names generally have similar use, the user-defined func- a subgraph, denoted as SGN(1), and the connections of all subgraphs
tion vertices with high similarity are defined. form an SGN. Specifically, the edges in the original graph are taken
(3) Vector 𝐹𝑐 represents the system permission information re- as the vertices of the SGN, and the vertices between the edges in the
quired for the execution of the current system API. A system original graph correspond to the connecting edges in the SGN, as shown
permission list was constructed based on a previous study (Au in Fig. 3.
et al., 2012), as presented in Table 1. Because many system API For second-order SGNs, open triangles (with at least two edges)
calls require some system permissions, the mapping between the are defined as the basic subgraph units, denoted as SGN(2). If two
system API and system permissions is established and converted such triangles are connected, the two corresponding vertices in the
into vector 𝐹𝑐 , and, finally, the vertex vector is obtained. second-order SGN are connected, as shown in Fig. 4.

4.3. Adversarial attack detection based on subgraph networks


4. Adversarial attack detection based on the subgraph network
When using SGNs for adversarial attack detection research, because
4.1. Adversarial attacks and motivation SGN(1) and SGN(2) have the advantages of a simple structure, low
computational complexity, and almost no loss of information of the
It is assumed that an attacker will adopt adversarial techniques to original graph-structured data, both SGNs are used to reconstruct the
deceive the detection model. In the context of the present work, it network.

4
X. Lu et al. Expert Systems With Applications 250 (2024) 123922

Therefore, after obtaining the differences in the malicious proba-


bilities of the first-order SGN, the second-order SGN, and the original
FCG in the classifier, the model can accurately evaluate the degree of
obfuscation of this sample. Due to the isomorphism of the SGN, if a
sample has a large deviation from the SGN classification prediction
results, then the degree of obfuscation is large; otherwise, the degree
of obfuscation is small, or the developer did not obfuscate the sample.
Finally, the k-means algorithm is applied to the data 𝑑, which are
clustered into four categories. Referring to the clustering results, values
of 𝑑 in the ranges of [0, 0.05), [0.05, 0.25), [0.25, 0.5), and [0.5, 1) are
defined as no obfuscation, low obfuscation, medium obfuscation, and
high obfuscation, respectively.

5. Robust Android malware detection based on the denoising GCN

5.1. System classification framework

Graphs constructed in the form of vertex connections are non-


Euclidean data, also known as graph data. Many deep learning methods
Fig. 3. A first-order SGN. cannot be directly applied to non-Euclidean graph data. For example,
convolution operations can only operate on image or text data, and
cannot be directly applied to graph data, thus limiting the development
of deep learning methods in this field. In recent years, GNN algorithms
have emerged as effective methods for solving graph learning problems.
GCNs have strong feature expression capabilities based on the use of
nonlinear activation functions to learn linear or nonlinear functions
to represent the problem. Traditional neural networks also do not
have constraints on weights and gradients, which leads to the poor
robustness of neural networks to adversarial attacks.
The framework of the proposed Android malware detection model
based on the denoising GCN is presented in Fig. 5. The framework
is mainly divided into FCG extraction and preprocessing, the GCN,
and the MLP classifier. To complete the task of graph classification,
the whole graph must first be input into the network, and the hidden
representation of all the vertices is then obtained via the state update
process, i.e., the convolutional layer. Then, via graph pooling, the
vector representation of the graph level is obtained, and is finally used
as the input of the neural network classifier to train the optimal model.

5.2. Graph convolutional network

In ordinary convolution operations, such as those on image data, a


fixed-size convolution kernel is used to extract features from the image
and obtain feature vectors. This is because, in an image, the number
Fig. 4. A second-order SGN.
of pixel blocks around a pixel block is stable. However, in graph data,
the number of neighbor vertices of a vertex often fluctuates in a large
range; thus, it cannot be simply scaled to a fixed number of vertices and
The adversarial detection model proposed in this work is based on then subjected to the ordinary convolution process. Therefore, a special
the first- and second-order SGNs, and uses the reconstructed features convolution process must be used for graph data so that the GCN can
of the SGN to distinguish the attacked samples. 𝑥 is the feature vector process the irregular neighbor vertices in the data and extract valuable
of the input sample, and 𝑥𝑠𝑔𝑛 is the feature vector of the reconstructed features from it.
SGN. The discriminator in the model can detect whether an input sam- GCNs include convolutional layers and pooling layers.
ple is adversarial by computing the difference between the probabilities
that 𝑥 and 𝑥𝑠𝑔𝑛 are malware, as calculated by the graph classifier: 5.2.1. Convolutional layers
( ( ))2 A message-passing neural network (MPNN) framework is used to
𝑠𝑡𝑑 𝑝 (𝑥) − 𝑝 𝑥𝑠𝑔𝑛 model the spatial convolution process. The MPNN is a GNN framework
𝑑 (𝑥,𝑥𝑠𝑔𝑛 ) = 0.5 × ( ( ))2 (1)
𝑠𝑡𝑑 (𝑝 (𝑥))2 + 𝑠𝑡𝑑 𝑝 𝑥𝑠𝑔𝑛 based on spatial convolution. As shown in Eq. (3), the function 𝑀𝑙 is re-
sponsible for completing the message-passing step of the MPNN, and 𝑈𝑙
where 𝑝(𝑥) is the probability that 𝑥 is malware, 𝑠𝑡𝑑(∗) represents the is responsible for completing the state update step after message passing
standard deviation, and 𝑑 (𝑥,𝑥𝑠𝑔𝑛 ) represents the normalized Euclidean and aggregation. Moreover, ℎ𝑙+1 represents the hidden representation
𝑣
distance between 𝑝(𝑥) and 𝑝(𝑥𝑠𝑔𝑛 ), the value of which is between 0 and of the node at layer 𝑙 + 1. When the number of layers 𝑙 is 0, the initial
1; 𝑑 is larger for samples that have been artificially altered, and smaller state ℎ0𝑣 of the hidden state is the initial feature 𝑥𝑣𝑢 of the node 𝑉𝑢 .
for clean samples. A variety of reconstructed SGNs are used to obtain ∑
the maximum value of 𝑑 by Eq. (2). Moreover, 𝑥𝑠𝑔𝑛1 is the first-order ℎ𝑙+1
𝑣 = 𝑈𝑙+1 (ℎ𝑣 , 𝑀𝑙+1 (ℎ𝑙𝑣 , ℎ𝑙𝑢 , 𝑥𝑣𝑢 )) (3)
𝑢∈𝑛𝑒[𝑣]
SGN and 𝑥𝑠𝑔𝑛2 is the second-order SGN.
( ) Each node uses 𝑈𝑙+1 to update its state after receiving a message
𝑑 = 𝑚𝑎𝑥 𝑑 (𝑥,𝑥𝑠𝑔𝑛1 ) , 𝑑 (𝑥,𝑥𝑠𝑔𝑛2 ) , … (2) from each neighbor. This process is continuously repeated until the

5
X. Lu et al. Expert Systems With Applications 250 (2024) 123922

Fig. 5. The framework of the Android malware detection model based on the denoising GCN.

Fig. 6. The information transfer process of each iteration of the GCN.

hidden representation of the whole graph is converged. At this point, To preserve the important information in the FCG vertices to the
the process of extracting features from the graph data is completed. greatest possible extent, and considering the existing FCG vertex sensi-
The further refinement of Eq. (3) yields the state update formula tivity knowledge based on the research on sensitive Android APIs (Arzt
used in this work, as follows: et al., 2014), 70 Android system APIs were selected as the important
( 𝑙+1 ( ) ) FCG vertices in this study. The set of these vertices is denoted as
ℎ𝑙+1
𝑣 =𝑓 𝑊 ∗ 𝑎𝑔𝑔𝑟𝑒𝑔𝑎𝑡𝑒 ℎ𝑙𝑣 , ℎ𝑙𝑢 , ∀𝑢 ∈ 𝑛𝑒[𝑣] (4)
𝑉𝑠 . For the same function 𝑥, its neighbor relations are often different
where ℎ𝑙+1
𝑣 is the hidden representation of the (𝑙 + 1)-th layer node, 𝑓 in different Android application samples. Therefore, after the graph
is the activation function, 𝑊 𝑙+1 is the weight matrix, 𝑎𝑔𝑔𝑟𝑒𝑔𝑎𝑡𝑒(∗) is convolution calculation, the hidden layer representation of vertex 𝑋
the aggregation function for processing variable-length data, and {ℎ𝑙𝑣 } contains different neighbor information. When the training data con-
is the hidden representation of all neighbor vectors of node 𝑣. Fig. 6 verge through the iterative computation of graph convolution, the
presents the information transmission process of each iteration of the hidden representations of the vertices in 𝑉𝑠 are aggregated to obtain
GCN. the final graph vector representation by Eq. (5).
⨁ ⨁ ⨁
ℎ = ℎ𝑁 ℎ𝑁 ⋯ ℎ𝑁𝑣 , ∀𝑣𝑘 ∈ 𝑉𝑠 (5)
5.2.2. Pooling layer 𝑣
1 𝑣 2 𝑘

The pooling operation is a common method of traditional CNNs that


is often used to reduce the feature length to reduce the number of pa- 5.3. Denoising graph convolutional network
rameters that must be learned, thereby avoiding overfitting. Moreover,
considering the large number of hierarchies in the input information, In the Android malware detection task, the form of an adversarial
the use of the pooling step to fully mine the hidden features in the data attack is to obfuscate the malicious application, thereby changing its
is inevitable. static characteristics while retaining the malicious behavior, affecting
The convolutional layer continuously iterates the vertex features in the detection model, and evading detection. In the proposed method,
the FCG through the message-passing framework and finally reaches these obfuscation methods will perturb the feature information of nodes
a convergent state, thus obtaining the hidden representation of all in the FCG and the connection information between nodes, thereby
vertices. In the Android malware detection model, each FCG repre- affecting the hidden representation of the final graph.
sents an Android application APK sample, so the research goal can be Let the aggregated vector of the hidden features of the neighbor
transformed into a graph classification task. In this task, each graph is nodes of node 𝑣 in the FCG be 𝑥.
represented as a graph-level feature vector, and the pooling process of Assuming that the node features in the FCG have been obfuscated
the FCG is critical for the detection model. by the attacker, the hidden features of the neighbor nodes of the

6
X. Lu et al. Expert Systems With Applications 250 (2024) 123922

aggregated node 𝑣 are expressed as (𝑥 + 𝜎), where 𝜎 represents the


deviation caused by the attacker’s obfuscation. For example, consider
that a node that does not exist in the FCG has been added; the deviation
brought by the obfuscation to the output is expressed as ‖𝐹 (𝑥 + 𝜎) −
𝐹 (𝑥)‖.
The maximum ratio between input and output perturbation is de-
noted by 𝐶 in the following equation.

𝐹 (𝑥 + 𝜎) − 𝐹 (𝑥) ≤ 𝐶(𝑥 + 𝜎 − 𝑥) (6)

𝐹 is called a 𝐶-Lipschitz function. When 𝐶 = 1, the perturbation


of the convolution process will be effectively constrained, thereby
Fig. 7. The overall architecture of the MLP.
ensuring that the disturbance generated by adversarial attacks will
not be amplified. To minimize the error caused by obfuscation to the
output, the goal is to ensure Eq. (7):
Each layer in the neural network can only complete one linear trans-
‖𝐹 (𝑥 + 𝜎) − 𝐹 (𝑥)‖ ≤ ‖𝑥 + 𝜎 − 𝑥‖ (7) formation, so a single-layer network can only fit a function once, and
its learning ability is very limited. Thus, an MLP with multiple hidden
i.e., the Lipschitz constant 𝐶 of the function 𝐹 is guaranteed to be 1. 𝐶
layers is used in this study. The hidden layers are made to be fully
can be calculated by the following formula.
connected layers, and each unit is called a neuron. In this way, during
𝐶 = ‖𝑊 𝑙 ‖ ⋅ ‖∇𝑙−1 𝑓 ‖ ⋅ ‖𝑊 𝑙−1 ‖ ⋯ ‖∇1 𝑓 ‖ ⋅ ‖𝑊 1 ‖ (8) the iteration of the neural network, each neuron in the MLP completes
a linear operation before feeding the result into the activation function.
The proposed adaptive anti-obfuscation method is applied to the The calculation formula of each neuron is as follows:
graph convolution process. According to the work of Zhao et al. (2021),
− ∑
𝑛
let 𝑓 be the 𝐾𝑙 -Lipschitz activation function. The gradient of the 𝑜𝑖𝑗 = 𝑓 ( 𝑤𝑖𝑗 𝑥𝑖 + 𝑏𝑖 ) (11)

𝑖=1
activation function 𝑓 in layer 𝑙 is ‖∇𝑙−1 𝑓 ‖. To make 𝐶 = 1, an

adaptive coefficient 𝐾𝑙 is introduced to make ‖∇𝑙−1 𝑓 ‖ to be 1∕ 𝐾𝑙 and where 𝑜𝑖𝑗 is the output of a single neuron, 𝑤𝑖𝑗 is the weight matrix,
− 𝑏𝑖 is the bias value, and 𝑓 is the activation function. The activation
guarantees the weight matrix ‖𝑊 𝑙‖ of layer 𝑙 to be 𝐾𝑙 . Then, 𝐶 can be function is nonlinear in nature, and is used to add nonlinearity to a
obtained by Eq. (9). linear single-layer network so that the neural network can fit more
1 1 complex functions and solve the linear inseparability problem. The
𝐶= ⋅ 𝐾𝑙 ⋅ ... ⋅ ⋅ 𝐾2 ⋅ 1 = 1 (9)
𝐾𝑙 𝐾2 entire MLP is similar to a large-scale matrix multiplication operation on
− − the input vector. After matrix multiplication is completed, the original
Thus, the goal is to make ‖𝑊 1 ‖ = 𝐾𝑙 , and to make ‖∇𝑙−1 𝑓 ‖ = 1∕𝐾𝑙 . complex input vector is transformed into a simpler feature space of
Then, the 𝐾𝑙 -Lipschitz activation function is expressed as another dimension before classification, i.e., a more easily classified
feature space (Zhang et al., 2018).
⎧ ∑ T −
− ⎪ 𝑓 𝑡 (𝑥), if 𝑥 ≥ 𝜇𝑡 − 𝑥−𝜇 𝛼
−( 𝜆 𝑡 ) 𝑡 The graph vector of the FCG after the state update and pooling
𝑓 (𝑥) = ⎨ , 𝑓 𝑡 (𝑥) = 1 − 𝑒 𝑡 (10) process is used as the input vector of the MLP. The input passes through
𝑡=1
⎪𝐾 𝑥, if 𝑥 < 𝜇𝑡
⎩ 𝑙 hidden layers with lengths of 1024 and 64, respectively. Each hidden
− layer performs linear transformation on the input and outputs it to
where 𝑓 𝑡 is the 𝑡th Weibull activation function (Weibull, 1951) with the ReLU activation function. Finally, the logit score result is obtained
unique parameters 𝛼𝑡 , 𝜆𝑡 , and 𝜇𝑡 , 𝑥 represents the element in the node through the output layer with a length of 1, and the sigmoid activation
vector, 𝛼𝑡 is the shape parameter, 𝜆𝑡 is the scale parameter, and 𝜇𝑡 is function is used to obtain the sample classification probability. Eq. (12)
the displacement parameter. 𝛼𝑡 < 1 means that the perturbation rate is the sigmoid activation function.
decreases with time. In robust deep learning, the perturbation diffusion 1
on a layer is similar to a monotonically decreasing function, i.e., the 𝑠𝑖𝑔𝑚𝑜𝑖𝑑(𝑥) = (12)
1 + 𝑒𝑥𝑝(−𝑥)
probability of attack failure decreases with the perturbation diffusion.
In the process of GCN convergence, the information aggregation 6. Experiments and results
of vertex 𝑣 in one iteration is represented as Eq. (4). The activation

function 𝑓 in Eq. (4) is replaced with an approximate 𝑓 whose gradient 6.1. Datasets

is 𝐾𝑙 , and the weight vector 𝑊 is replaced with 𝑊 . Assuming that the
The datasets used in this study included public datasets and Android
neighbor vertex 𝑢 of vertex 𝑣 is represented as 𝑢′ after obfuscation, after
− − applications from the Google Play Store, including the VirusShare
replacing 𝑓 and 𝑊 in Eq. (4) with 𝑓 and 𝑊 , the influence of vertex 𝑢′
(VirusShare, 2019) and AndroZoo (Allix et al., 2016) datasets. To avoid
on 𝑣 will be less than 𝑢′ − 𝑢. In other words, the obfuscation is limited
the influence of the datasets on the experimental results and to better
and is not amplified.
reflect the universality of the model, experiments were carried out on
two different datasets, namely dataset1 and dataset2. Dataset1 included
5.4. Multilayer perceptron 5500 normal samples collected from the Google Play Store and 5500
malicious samples from the AndroZoo dataset. Dataset2 included 5560
Neural networks have achieved very good results for classifica- malicious samples from the Drebin dataset (Arp et al., 2014), to which
tion tasks. Deep neural networks can fit some difficult-to-fit complex 6000 normal samples were added. There was no overlap between the
problems via the addition of hidden layers. After complex calculation, samples in dataset1 and dataset2.
a relatively simple output vector is finally obtained to complete the All samples in the datasets were detected by the VirusTotal detec-
classification task. The MLP (a fully connected neural network) is a tion engine (VirusTotal, 2023). If a sample is detected as malicious by
commonly used neural network structure that has demonstrated very more than six detection engines, it is classified as a malicious sample.
good results in classification. The structure of the MLP is shown in If a sample is judged as benign by all detection engines on VirusTotal,
Fig. 7. the sample is considered to be benign. For both datasets, 80% of the

7
X. Lu et al. Expert Systems With Applications 250 (2024) 123922

Table 2
Some statistical information of the call graphs extracted from the datasets.
Type Dataset1 Dataset2
# of graphs 11 000 11 560
# of malicious samples 5500 5560
# of benign samples 5500 6000
# of nodes average in malicious samples 2722 2519
# of nodes average in benign samples 10 372 10 758
# of edges average in malicious samples 6251 5936
# of edges average in benign samples 29 882 31 913

Table 3
The top 10 malicious sample families in dataset1.
Malware family Malicious behavior Quantity
GingerMaste Remote control 379 Fig. 8. The results of the experiment to simplify function call graphs.
FakeInst Malicious deduction 450
SmsAgent Privacy theft, remote control 622
Rogue Hooliganism 645
BadNews Tariff consumption, privacy theft 485
SMSZombie Remote control, fraud 281
Reshare Repackage and camouflage, hooliganism 505
Umeng Malicious deduction 320
QDPlugin Self-start, malicious pop-up 294
Adware Malicious promotion 1270
Others / 6749

samples were used as the training set, and the rest of the samples were
used as the test set. Some statistical information is shown in Table 2.
To prove the effectiveness of the proposed model, the malicious
sample dataset contained 195 malicious families to test the detection
performance of the model for a variety of different malicious behavior
samples. Table 3 reports the top 10 malicious sample families in
dataset1.
Fig. 9. The node degree distribution proportions of the FCG, SGN(1), and SGN(2).

6.2. Experimental setup


6.3.2. 𝑁-hops vertex reservation algorithm
Fig. 8 shows the relationship between the model performance and
The Android application samples in the two datasets were decom-
the threshold of the 𝑁-hops vertex reservation algorithm. As the re-
piled using APKTool to extract the call graphs, and the 3-hops vertex
served node threshold increased, the model training time gradually
reservation algorithm was then used to simplify the call graphs. Then,
increased, and the 𝐹1 score exhibited a trend of first increasing and
5-fold cross-validation was used to evaluate the performance of the
then decreasing. The 𝐹1 score was the highest when 𝑁 = 3, indicating
model and improve its robustness.
that the redundant information that affected the detection model was
The Python library and PyTorch Geometric library were used to
minimized while retaining most of the key information in the original
realize the GNN model. A computer with the Ubuntu 18.04 operating FCG. When 𝑁 = 3, the training and detection time was only 61.3% of
system, 48 GB of memory, and a 1080Ti GPU was used. The main that for the non-simplified data, indicating that the simplified method
parameters set in the experiment were a learning rate of 5e-3, a batch improved the training and operation efficiency of the detection model.
size of 128, and a four-layer GCN. Therefore, in the subsequent experiments, three hops were used as the
vertex reservation threshold to ensure model accuracy while reducing
6.3. Experimental results the time overhead.

6.3.1. Metrics 6.3.3. Adversarial attack and graph structure


Accuracy, precision, recall, and the comprehensive evaluation index An adversarial attack on the FCG structure will change the structure
(𝐹1 score) were used as the metrics for model performance. of the FCG and its SGNs. Specifically, an adversarial attack increases
the number of nodes and edges in the SGN and makes sparse the
𝑇𝑃 + 𝑇𝑁
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = × 100% (13) connections between nodes, leading to a decrease in the average node
𝑇𝑃 + 𝐹𝑃 + 𝑇𝑁 + 𝐹𝑁
degree. Fig. 9 shows the distribution of the node degree of the FCG,
𝑇𝑃 SGN(1), and SGN(2) before and after obfuscation. The proportion of
𝑃 𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = × 100% (14)
𝑇𝑃 + 𝐹𝑃 nodes with low degrees increased after the FCG obfuscation attack. In
the figure, the blue bars represent the proportion of nodes with degrees
𝑇𝑃 between [0, 4], which significantly increased after the FCG obfuscation
𝑅𝑒𝑐𝑎𝑙𝑙 = × 100% (15)
𝑇𝑃 + 𝐹𝑁 attack. Correspondingly, the proportions of nodes with high degrees,
2 ∗ 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 ∗ 𝑟𝑒𝑐𝑎𝑙𝑙 such as those represented by the orange, green, red, and purple bars in
𝐹1 = (16) the figure, decreased after the obfuscation attack.
(𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑟𝑒𝑐𝑎𝑙𝑙)

8
X. Lu et al. Expert Systems With Applications 250 (2024) 123922

Fig. 10. The relationship between the 𝐾𝑙 value and the 𝐹1 score. Fig. 12. The model performance under different obfuscation attack levels.

Fig. 12 displays the decreasing trends of the performance of dif-


ferent methods with the increase of the degree of obfuscation. The
results demonstrate that the proposed method achieved the best model
performance for low, medium, and high levels of obfuscation . As the
degree of obfuscation increased, the 𝐹1 score of the proposed method
decreased to a lesser degree as compared to the other two methods.
Under high obfuscation, the 𝐹1 score of the proposed method was
93.3%, while the 𝐹1 scores of the other methods were lower than
92%. This indicates that the proposed denoising GCN can effectively
eliminate the impact of obfuscation attacks and achieve better detection
performance.

7. Conclusion
Fig. 11. The comparison with other Android malware detection methods.

In the method proposed in this paper, the call graph is extracted


from an Android application, the GCN model is used to carry out feature
6.3.4. 𝐾𝑙 Of the denoising graph convolutional network
extraction, and an MLP is used as a classifier. To address the problem of
According to the structural difference between the subgraph and
the call graph being too large to analyze and containing a large amount
the original image detected by the SGN, the samples were divided into
of invalid information, an 𝑁-hops vertex reservation algorithm was
four categories: no obfuscation, a low degree of obfuscation, a medium
proposed to simplify the call graph. Because the traditional word2vec
degree of obfuscation, and a high degree of obfuscation. The method for
method encounters certain shortcomings when expressing node fea-
determining the degree of obfuscation was introduced in Section 4.3.
tures, a new node feature extraction method was proposed. Aiming at
For different degrees of obfuscation, different 𝐾𝑙 values can be used
countering the attack methods commonly used by attackers, sub-graph
when using the denoising GNN. Fig. 10 shows the relationship between
network technology was applied to the proposed model and a denoising
the 𝐾𝑙 value and the 𝐹1 value. When no obfuscation was detected, 𝐾𝑙
was set to 2.4. When the obfuscation degree of the sample was low or method was applied to the GCN, which significantly reduces the impact
medium, the 𝐾𝑙 value was set to 2.2. When a high degree of obfuscation of adversarial attacks. The proposed model was compared with two
was detected, 𝐾𝑙 was set to 2.0. existing Android malware detection models. The results of experiments
demonstrated that the 𝐹1 score of the proposed method was higher
6.3.5. Performance comparison than those of two baseline methods for different levels of obfuscation
The performance of the model was compared with two other mal- attacks. The findings prove the effectiveness of the proposed method
ware detection methods, the first of which was the DeepCatra model and verify that it has a solid ability to resist adversarial attacks.
proposed by Wu, which consists of a BiLSTM network and a GNN as One limitation of the proposed method is that it relies on manual
subnets. The other method was a hybrid classifier based on LSTM pro- confounding to apps, and the number of adversarial samples generated
posed by Chaulagain, which combines two LSTM models with decision- is limited. Furthermore, the techniques used in this study to generate
level fusion to capture the features of both static API calls and dynamic adversarial samples were not diverse enough to fully simulate the at-
system calls. tack methods adopted by hackers. In the future, focus will be placed on
As shown in Fig. 11, overall, the proposed model exhibited certain emulating the adversarial modifications and obfuscations that hackers
advantages in terms of various evaluation indicators, and had an 𝐹1 make to apps.
score of 97.1%. Although the 𝐹1 score of the proposed method was
only 0.6% higher than that of Wu’s method, the recall rate of Wu’s
CRediT authorship contribution statement
method was very low, namely 94.3%. This means that Wu’s method
had a higher miss rate, which will lead to detection evasion by more
malware. Xiaofeng Lu: Conceptualization, Methodology, Investigation, Writ-
Fig. 11 also presents the test time consumption of different methods. ing – original draft. Jinglun Zhao: Methodology, Validation, Visualiza-
The test time of the proposed method was only 74.8% of that of tion, Writing – original draft. Senhao Zhu: Validation, Visualization.
Chaulagain’s method and 62.5% of that of Wu’s method. Pietro Lio: Review & editing.

9
X. Lu et al. Expert Systems With Applications 250 (2024) 123922

Declaration of competing interest İbrahim, M., Issa, B., & Jasser, M. B. (2022). A method for automatic android
malware detection based on static analysis and deep learning. IEEE Access, 10,
117334–117352.
The authors declare that they have no known competing finan-
Li, T., Luo, Y., Wan, X., Li, Q., Liu, Q., Wang, R., Jia, C., & Xiao, Y. (2024). A
cial interests or personal relationships that could have appeared to malware detection model based on imbalanced heterogeneous graph embeddings.
influence the work reported in this paper. Expert Systems with Applications, 246, Article 123109.
Lin, H.-C., Wang, P., Lin, W.-H., Lin, Y.-H., & Chen, J.-H. (2023). Graph neural
Data availability network for malware detection and classification on renewable energy management
platform. In 2023 IEEE 5th eurasia conference on biomedical engineering, healthcare
and sustainability (pp. 164–166). IEEE.
Data will be made available on request. Liu, Z., Wang, R., Japkowicz, N., Gomes, H. M., Peng, B., & Zhang, W. (2024).
SeGDroid: An android malware detection method based on sensitive function call
Acknowledgments graph learning. Expert Systems with Applications, 235, Article 121125.
Niu, W., Cao, R., Zhang, X., Ding, K., Zhang, K., & Li, T. (2020). Opcode-level
function call graph based android malware classification using deep learning.
This research work was supported by National Natural Science Sensors, 20(13), 3645.
Foundation of China (Grant No. 62136006), National Key R&D Program Pei, X., Yu, L., & Tian, S. (2020). AMalNet: A deep learning framework based on graph
of China (Grant No. 2020YFB2104700). convolutional networks for malware detection. Computers & Security, 93, Article
101792.
Popov, I. (2017). Malware detection using machine learning based on word2vec
References embeddings of machine code instructions. In 2017 siberian symposium on data science
and engineering (pp. 1–4). IEEE.
Allix, K., Bissyandé, T. F., Klein, J., & Le Traon, Y. (2016). Androzoo: Collecting millions Qiu, J., Zhang, J., Luo, W., Pan, L., Nepal, S., & Xiang, Y. (2020). A survey of android
of android apps for the research community. In Proceedings of the 13th international malware detection with deep neural models. ACM Computing Surveys, 53(6), 1–36.
conference on mining software repositories (pp. 468–471). Rasthofer, S., Arzt, S., & Bodden, E. (2014). A machine-learning approach for classifying
Arp, D., Spreitzenbarth, M., Hubner, M., Gascon, H., Rieck, K., & Siemens, C. (2014). and categorizing android sources and sinks. In NDSS, vol. 14 (p. 1125).
Drebin: Effective and explainable detection of android malware in your pocket.. In Rathore, H., Sahay, S. K., Nikam, P., & Sewak, M. (2021). Robust android malware
Ndss, vol. 14 (pp. 23–26). detection system against adversarial attacks using q-learning. Information Systems
Arzt, S., Rasthofer, S., Fritz, C., Bodden, E., Bartel, A., Klein, J., Le Traon, Y., Octeau, D., Frontiers, 23, 867–882.
& McDaniel, P. (2014). Flowdroid: Precise context, flow, field, object-sensitive Schmeelk, S., Yang, J., & Aho, A. (2015). Android malware static analysis techniques.
and lifecycle-aware taint analysis for android apps. ACM Sigplan Notices, 49(6), In Proceedings of the 10th annual cyber and information security research conference
259–269. (pp. 1–8).
Au, K. W. Y., Zhou, Y. F., Huang, Z., & Lie, D. (2012). Pscout: analyzing the android Sihag, V., Vardhan, M., & Singh, P. (2021). A survey of android application and
permission specification. In Proceedings of the 2012 ACM conference on computer and malware hardening. Computer Science Review, 39, Article 100365.
communications security (pp. 217–228). VirusShare (2019). VirusShare.com. URL https://virusshare.com/whatsnew.
Dong, S., Li, M., Diao, W., Liu, X., Liu, J., Li, Z., Xu, F., Chen, K., Wang, X., & Zhang, K. VirusTotal (2023). VirusTotal - Free Online Virus, Malware and URL Scanner. URL
(2018). Understanding android obfuscation techniques: A large-scale investigation https://www.virustotal.com/old-browsers/home/url.
in the wild. In Security and privacy in communication networks: 14th international Weibull, W. (1951). A statistical distribution function of wide applicability. Journal of
conference, secureComm 2018, Singapore, Singapore, August 8-10, 2018, proceedings, Applied Mechanics.
part i (pp. 172–192). Springer. Wong, M. Y., & Lie, D. (2016). Intellidroid: a targeted input generator for the dynamic
Esmaeili, B., Azmoodeh, A., Dehghantanha, A., Srivastava, G., Karimipour, H., & Lin, J. analysis of android malware. In NDSS, vol. 16, no. 2016 (pp. 21–24).
C.-W. (2023). A GNN-based adversarial internet of things malware detection frame- Wu, Y., Shi, J., Wang, P., Zeng, D., & Sun, C. (2023). DeepCatra: Learning flow-and
work for critical infrastructure: Studying Gafgyt, Mirai and Tsunami campaigns. graph-based behaviours for Android malware detection. IET Information Security,
IEEE Internet of Things Journal. 17(1), 118–130.
Feng, P., Ma, J., Li, T., Ma, X., Xi, N., & Lu, D. (2020). Android malware detection Wu, F., Souza, A., Zhang, T., Fifty, C., Yu, T., & Weinberger, K. (2019). Simplifying
based on call graph via graph neural network. In 2020 international conference on graph convolutional networks. In International conference on machine learning (pp.
networking and network applications (pp. 368–374). IEEE. 6861–6871). PMLR.
Gao, H., Cheng, S., & Zhang, W. (2021). GDroid: Android malware detection and Yumlembam, R., Issac, B., Jacob, S. M., & Yang, L. (2022). Iot-based android malware
classification with graph convolutional network. Computers & Security, 106, Article detection using graph neural network with adversarial defense. IEEE Internet of
102264. Things Journal.
Grosse, K., Papernot, N., Manoharan, P., Backes, M., & McDaniel, P. (2016). Adver- Zhang, C., Pan, X., Li, H., Gardiner, A., Sargent, I., Hare, J., & Atkinson, P. M.
sarial perturbations against deep neural networks for malware classification. arXiv (2018). A hybrid MLP-CNN classifier for very fine resolution remotely sensed image
preprint arXiv:1606.04435. classification. ISPRS Journal of Photogrammetry and Remote Sensing, 140, 133–144.
He, Y., Liu, Y., Wu, L., Yang, Z., Ren, K., & Qin, Z. (2022). Msdroid: Identifying Zhao, X., Zhang, Z., Zhang, Z., Wu, L., Jin, J., Zhou, Y., Jin, R., Dou, D., & Yan, D.
malicious snippets for android malware detection. IEEE Transactionson Dependable (2021). Expressive 1-lipschitz neural networks for robust multiple graph learning
and Secure Computing. against adversarial attacks. In International conference on machine learning (pp.
12719–12735). PMLR.

10

View publication stats

You might also like