JS']JStrong: Malicious Java']JavaScript detection based on code semantic representation and graph neural network

被引:17
作者
Fang, Yong [1 ]
Huang, Chaoyi [1 ]
Zeng, Minchuan [1 ]
Zhao, Zhiying [1 ]
Huang, Cheng [1 ]
机构
[1] Sichuan Univ, Sch Cyber Sci & Engn, Chengdu, Peoples R China
关键词
Malicious [!text type='Java']Java[!/text]Script; Code representation; Graph neural network; Program dependency graph; Scripts detection;
D O I
10.1016/j.cose.2022.102715
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Web development technology has experienced significant progress. The creation of JavaScript has highly enriched the interactive ability of the client. However, the attacker uses the dynamic characteristics of the JavaScript language to embed malicious code into web pages to achieve the purpose of smuggling, redirection, and so on. Traditional methods based on static feature detection are therefore difficult to detect malicious code after confusion, and the method based on dynamic analysis is inefficient. To meet these challenges, this paper proposes a static detection model JStrong based on graph neural network. The model first generates an abstract syntax tree from the JavaScript source code, and then adds data flow and control flow information into the program dependency graph. In addition, we embed the nodes and edges of the graph into the feature vector and fully learn the features of the whole graph through the graph neural network. We take advantage of a real-world dataset collected from the top website and GitHub to evaluate JStrong and compare it to the state-of-the-art method. Experimental results show that JStrong achieves near-perfect classification performance and is superior to the state-of-the-art method.(c) 2022 Elsevier Ltd. All rights reserved.
引用
收藏
页数:11
相关论文
共 42 条
[1]  
Andreasen E, 2014, ACM SIGPLAN NOTICES, V49, P17, DOI [10.1145/2660193.2660214, 10.1145/2714064.2660214]
[2]  
[Anonymous], 31 USENIX SECURITY S
[3]   Finding and Preventing Bugs in Java']JavaScript Bindings [J].
Brown, Fraser ;
Narayan, Shravan ;
Wahby, Riad S. ;
Engler, Dawson ;
Jhala, Ranjit ;
Stefan, Deian .
2017 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP), 2017, :559-578
[4]   Malware Detection Based on Graph Attention Networks for Intelligent Transportation Systems [J].
Catal, Cagatay ;
Gunduz, Hakan ;
Ozcan, Alper .
ELECTRONICS, 2021, 10 (20)
[5]   DeepWukong: Statically Detecting Software Vulnerabilities Using Deep Graph Neural Network [J].
Cheng, Xiao ;
Wang, Haoyu ;
Hua, Jiayi ;
Xu, Guoai ;
Sui, Yulei .
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2021, 30 (03)
[6]  
Cho K., 2014, PROC 8 WORKSHOP SYNT, P103, DOI DOI 10.3115/V1/W14-4012
[7]  
Curtsinger C., 2011, P 20 USENIX C SECURI
[8]   JS']JSDeodorant: Class-awareness for Java']JavaScript programs [J].
Eshkevari, Laleh ;
Mazinanian, Davood ;
Rostami, Shahriar ;
Tsantalis, Nikolaos .
PROCEEDINGS OF THE 2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C 2017), 2017, :71-74
[9]   Detecting malicious Java']JavaScript code based on semantic analysis [J].
Fang, Yong ;
Huang, Cheng ;
Su, Yu ;
Qiu, Yaoyao .
COMPUTERS & SECURITY, 2020, 93
[10]   JS']JSTAP: A Static Pre-Filter for Malicious Java']JavaScript Detection [J].
Fass, Aurore ;
Backes, Michael ;
Stock, Ben .
35TH ANNUAL COMPUTER SECURITY APPLICATIONS CONFERENCE (ACSA), 2019, :257-269