论文标题
DeepCatra:用于Android恶意软件检测的学习流和图的行为
DeepCatra: Learning Flow- and Graph-based Behaviors for Android Malware Detection
论文作者
论文摘要
随着Android恶意软件的增长和不断发展,已将深度学习引入了恶意软件检测中,从而产生了很大的有效性。最近的工作正在考虑混合模型和多视图学习。但是,他们仅使用简单的功能,从而限制了这些方法在实践中的准确性。在本文中,我们提出了DeepCatra,这是一种用于Android恶意软件检测的多视图学习方法,其模型由双向LSTM(BILSTM)和图形神经网络(GNN)作为子网组成。这两个子网依赖于从静态计算的呼叫跟踪中提取的功能,导致从公共漏洞中得出的关键API。对于每个Android应用程序,DeepCatra首先构建其呼叫图,并计算呼叫跟踪达到关键API。然后,从呼叫跟踪中提取了Bilstm子网使用的时间opcode特征,而GNN子网使用的流程图特征是根据所有调用轨迹和组中组件通信构建的。我们通过将深层与几种最新检测方法进行比较来评估它的有效性。超过18,000个现实世界应用程序和普遍恶意软件的实验结果表明,DeepCatra在F1量化方面取得了可观的改善,例如,F1量的2.7%至14.6%,这表明了DeepCatra在实践中的可行性。
As Android malware is growing and evolving, deep learning has been introduced into malware detection, resulting in great effectiveness. Recent work is considering hybrid models and multi-view learning. However, they use only simple features, limiting the accuracy of these approaches in practice. In this paper, we propose DeepCatra, a multi-view learning approach for Android malware detection, whose model consists of a bidirectional LSTM (BiLSTM) and a graph neural network (GNN) as subnets. The two subnets rely on features extracted from statically computed call traces leading to critical APIs derived from public vulnerabilities. For each Android app, DeepCatra first constructs its call graph and computes call traces reaching critical APIs. Then, temporal opcode features used by the BiLSTM subnet are extracted from the call traces, while flow graph features used by the GNN subnet are constructed from all the call traces and inter-component communications. We evaluate the effectiveness of DeepCatra by comparing it with several state-of-the-art detection approaches. Experimental results on over 18,000 real-world apps and prevalent malware show that DeepCatra achieves considerable improvement, e.g., 2.7% to 14.6% on F1-measure, which demonstrates the feasibility of DeepCatra in practice.