Feng Pengbin, Yang Li, Lu Di, Xi Ning, Ma Jianfeng
School of Cyber Engineering, Xidian University, Xi'an, 710071 Shaanxi China.
School of Computer Science & Technology, Xidian University, Xi'an, 710071 Shaanxi China.
J Supercomput. 2023 Apr 17:1-25. doi: 10.1007/s11227-023-05243-x.
As a popular platform-independent language, Java is widely used in enterprise applications. In the past few years, language vulnerabilities exploited by Java malware have become increasingly prevalent, which cause threats for multi-platform. Security researchers continuously propose various approaches for fighting against Java malware programs. The low code path coverage and poor execution efficiency of dynamic analysis limit the large-scale application of dynamic Java malware detection methods. Therefore, researchers turn to extracting abundant static features to implement efficient malware detection. In this paper, we explore the direction of capturing malware semantic information by using graph learning algorithms and present BejaGNN (Behavior-based Java malware detection via Graph Neural Network), a novel behavior-based Java malware detection method using static analysis, word embedding technique, and graph neural network. Specifically, BejaGNN leverages static analysis techniques to extract ICFGs (Inter-procedural Control Flow Graph) from Java program files and then prunes these ICFGs to remove noisy instructions. Then, word embedding techniques are adopted to learn semantic representations for Java bytecode instructions. Finally, BejaGNN builds a graph neural network classifier to determine the maliciousness of Java programs. Experimental results on a public Java bytecode benchmark demonstrate that BejaGNN achieves high 1 98.8% and is superior to existing Java malware detection approaches, which verifies the promise of graph neural network in Java malware detection.
作为一种流行的平台无关语言,Java在企业应用程序中被广泛使用。在过去几年中,Java恶意软件利用的语言漏洞越来越普遍,这对多平台造成了威胁。安全研究人员不断提出各种方法来对抗Java恶意软件程序。动态分析的低代码路径覆盖率和较差的执行效率限制了动态Java恶意软件检测方法的大规模应用。因此,研究人员转向提取丰富的静态特征来实现高效的恶意软件检测。在本文中,我们探索了使用图学习算法捕获恶意软件语义信息的方向,并提出了BejaGNN(通过图神经网络进行基于行为的Java恶意软件检测),这是一种使用静态分析、词嵌入技术和图神经网络的新颖的基于行为的Java恶意软件检测方法。具体来说,BejaGNN利用静态分析技术从Java程序文件中提取过程间控制流图(ICFG),然后对这些ICFG进行修剪以去除噪声指令。然后,采用词嵌入技术来学习Java字节码指令的语义表示。最后,BejaGNN构建一个图神经网络分类器来确定Java程序的恶意性。在一个公共Java字节码基准上的实验结果表明,BejaGNN的准确率高达98.8%,优于现有的Java恶意软件检测方法,这验证了图神经网络在Java恶意软件检测中的前景。