Semantic web Racer: Dynamic security testing of the web application against race condition in the business layer

被引:2
作者
Alidoosti, Mitra [1 ]
Nowroozi, Alireza [2 ]
Nickabadi, Ahmad [3 ]
机构
[1] Iran Univ Sci & Technol, Tehran, Iran
[2] Univ Tehran, IRIB, Tehran, Iran
[3] Amirkabir Univ Tehran, Tehran, Iran
关键词
Dynamic testing; Vulnerability Analysis; Web application; Business process; Race Condition; Ajax Events;
D O I
10.1016/j.eswa.2022.116569
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
The parallel execution of multiple threads of a web application will cause races if the web application is not synchronized correctly. Detecting the race condition in web applications depends on the application's business logic. No logic-aware approach has been presented so far for detecting various race conditions in web applications. The existing approaches only detect part of server-side races or a few client-side race conditions. Most existing approaches result in DoS or they have a high vulnerability detection time. In this study, various race conditions existing in a web application, both on the server-side and on the client side, are classified and described. In addition, we present Semantic Web Racer, a black-box approach for dynamic application security testing, to detect the business-layer vulnerability of the web application against race conditions both on the server-side and on the client-side. Semantic Web Racer detects race conditions by identifying the business logic of the web application. First, it identifies the business processes in the web application and, by defining a trace pattern for each type of race condition, identifies critical business processes. The detected critical processes are performed in the defined race window in both normal mode and race-prone mode, and the results are checked to identify vulnerabilities. The evaluation of well-known and widely used web applications and web pages shows that Semantic Web Racer can detect the business layer vulnerabilities of these applications against race conditions. Experiments showed that out of 38 detected race conditions by Semantic Web Racer in selected applications, 24 are new vulnerabilities that were not identified by related works. The amount of traffic generated to identify vulnerabilities has been improved by about 98.29% by identifying the business layer of the application. Thus, Semantic Web Racer does not result in DoS. Semantic Web Racer has improved race detection time by about 96.78%.
引用
收藏
页数:35
相关论文
共 28 条
[11]  
Halfond W.G., 2006, P IEEE INT S SECURE, V1, P13
[12]   Detecting Concurrency Errors in Client-side Java']JavaScript Web Applications [J].
Hong, Shin ;
Park, Yongbae ;
Kim, Moonzoo .
2014 IEEE SEVENTH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST), 2014, :61-70
[13]  
Hongliang Liang, 2020, EuroSec '20: Proceedings of the 13th European workshop on Systems Security, P37, DOI 10.1145/3380786.3391401
[14]   RACCOON: Automated Verification of Guarded Race Conditions in Web Applications [J].
Koch, Simon ;
Sauer, Tim ;
Johns, Martin ;
Pellegrino, Giancarlo .
PROCEEDINGS OF THE 35TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING (SAC'20), 2020, :1678-1687
[15]   A Taxonomy for Security Flaws in Event-Based Systems [J].
Lee, Youn Kyu ;
Kim, Dohoon .
APPLIED SCIENCES-BASEL, 2020, 10 (20) :1-21
[16]   A Heuristic Framework to Detect Concurrency Vulnerabilities [J].
Liu, Changming ;
Zou, Deqing ;
Luo, Peng ;
Zhu, Bin B. ;
Jin, Hai .
34TH ANNUAL COMPUTER SECURITY APPLICATIONS CONFERENCE (ACSAC 2018), 2018, :529-541
[17]   CONVUL: An Effective Tool for Detecting Concurrency Vulnerabilities [J].
Meng, Ruijie ;
Zhu, Biyun ;
Yun, Hao ;
Li, Haicheng ;
Cai, Yan ;
Yang, Zijiang .
34TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2019), 2019, :1154-1157
[18]  
Mesli-Kesraoui S, 2020, 2020 IEEE CONFERENCE ON CONTROL TECHNOLOGY AND APPLICATIONS (CCTA), P892, DOI [10.1109/CCTA41146.2020.9206344, 10.1109/ccta41146.2020.9206344]
[19]   Detecting Java']JavaScript Races That Matter [J].
Mutlu, Erdal ;
Tasiran, Serdar ;
Livshits, Benjamin .
2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, :381-392
[20]  
Paleari R, 2008, LECT NOTES COMPUT SC, V5137, P126, DOI 10.1007/978-3-540-70542-0_7