Evaluating seed selection for fuzzing Java']JavaScript engines

被引:0
|
作者
Wen, Ming [1 ,2 ]
Wang, Yongcong [1 ,2 ]
Xia, Yifan [3 ]
Jin, Hai [1 ,4 ]
机构
[1] Natl Engn Res Ctr Big Data Technol & Syst, Serv Comp Technol & Syst Lab,Cluster & Grid Comp L, Hubei Key Lab Distributed Syst Secur, Hubei Engn Res Ctr Big Data Secur, Wuhan, Peoples R China
[2] Huazhong Univ Sci & Technol, Sch Cyber Sci & Engn, Wuhan, Peoples R China
[3] Zhejiang Univ, Hangzhou, Peoples R China
[4] Huazhong Univ Sci & Technol, Sch Comp Sci & Technol, Wuhan, Peoples R China
基金
中国国家自然科学基金;
关键词
Fuzzing; !text type='Java']Java[!/text]Script engines; Seed selection; Empirical study; CONTINUAL PREDICTION; FORGET;
D O I
10.1007/s10664-023-10340-9
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
JavaScript (JS), as a platform-independent programming language, remains to be the most popular language over the years. However, popular JavaScript engines that have been widely utilized by web browsers to interpret JS code, have become the most common targets for attackers. Thus ensuring the security and reliability of JS engines is significant. Fuzzing is a simple yet effective method to unveil vulnerabilities. However, existing JS fuzzers focus more on the design of effective mutation mechanisms to generate diverse and valid seeds while they often ignore the importance of the initial seed corpus selected to drive the fuzzing process. In this paper, we performed extensive experiments to systematically evaluate the impact of seed selection on fuzzing JavaScript engines. In particular, we investigate seed selections from three main dimensions, their collected sources (e.g., CVE PoCs, Regression tests, etc.), the number and sizes, as well as a set of concerned code properties. Our major findings reveal that seeds collected from different sources can cast a significant impact on the fuzzing effectiveness (i.e., CVE PoC is significantly better than the other types of seeds), and seed files containing those concerned code structures can lead existing fuzzers to achieve superior results in terms of both code coverage and unique crashes identified. Inspired by our observations, we devised a simple heuristic to prioritize JavaScript files when selecting seed corpus. Our experiments show that when driven by our selected seed corpus, the existing state-of-art fuzzer is able to achieve significantly higher code coverage and identify more crashes.
引用
收藏
页数:35
相关论文
共 50 条
  • [11] NoJITsu: Locking Down Java']JavaScript Engines
    Park, Taemin
    Dhondt, Karel
    Gens, David
    Na, Yeoul
    Volckaert, Stijn
    Franz, Michael
    27TH ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2020), 2020,
  • [12] Seed Selection for Successful Fuzzing
    Herrera, Adrian
    Gunadi, Hendra
    Magrath, Shane
    Norrish, Michael
    Payer, Mathias
    Hosking, Antony L.
    ISSTA '21: PROCEEDINGS OF THE 30TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, 2021, : 230 - 243
  • [13] Optimizing Seed Selection for Fuzzing
    Rebert, Alexandre
    Cha, Sang Kil
    Avgerinos, Thanassis
    Foote, Jonathan
    Warren, David
    Grieco, Gustavo
    Brumley, David
    PROCEEDINGS OF THE 23RD USENIX SECURITY SYMPOSIUM, 2014, : 861 - 875
  • [14] FuzzJIT: Oracle-Enhanced Fuzzing for Java']JavaScript Engine JIT Compiler
    Wang, Junjie
    Zhang, Zhiyi
    Liu, Shuang
    Du, Xiaoning
    Chen, Junjie
    PROCEEDINGS OF THE 32ND USENIX SECURITY SYMPOSIUM, 2023, : 1865 - 1882
  • [15] Java']JavaScript SBST Heuristics to Enable Effective Fuzzing of NodeJS']JS Web APIs
    Zhang, Man
    Belhadi, Asma
    Arcuri, Andrea
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2023, 32 (06)
  • [16] Improvement of Seed Selection Strategy for Graybox Fuzzing
    Tang, Huabin
    Wang, Wei
    PROCEEDINGS OF THE 7TH INTERNATIONAL CONFERENCE ON EDUCATION, MANAGEMENT, INFORMATION AND MECHANICAL ENGINEERING (EMIM 2017), 2017, 76 : 561 - 564
  • [17] Hardware dependency and performance of Java']JavaScript engines used in popular browsers
    Radhakrishnan, Jayakrishnan
    2015 INTERNATIONAL CONFERENCE ON CONTROL COMMUNICATION & COMPUTING INDIA (ICCC), 2015, : 681 - 684
  • [18] An Empirical Study on AST-level mutation-based fuzzing techniques for JavaScript Engines
    Tang, Song
    Liu, Shuang
    Wang, Junjie
    Zhang, Xiangwei
    ACM International Conference Proceeding Series, 2023, : 216 - 226
  • [19] Evaluating a Visual Approach for Understanding Java']JavaScript Source Code
    Dias, Martin
    Orellana, Diego
    Vidal, Santiago
    Merino, Leonel
    Bergel, Alexandre
    2020 IEEE/ACM 28TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION, ICPC, 2020, : 128 - 138
  • [20] The influence that Java']JavaScript™ has on the visibility of a Website to search engines -: a pilot study
    Weideman, M.
    Schwenke, F.
    INFORMATION RESEARCH-AN INTERNATIONAL ELECTRONIC JOURNAL, 2006, 11 (04):