Make out like a (Multi-Armed) Bandit: Improving the Odds of Fuzzer Seed Scheduling with T-SCHEDULER

被引:0
作者
Luo, Simon [1 ]
Herrera, Adrian [2 ]
Quirk, Paul [3 ]
Chase, Michael [3 ]
Ranasinghe, Damith C. [4 ]
Kanhere, Salil S. [1 ]
机构
[1] Univ New South Wales, Sydney, NSW, Australia
[2] Australian Natl Univ, Canberra, ACT, Australia
[3] Def Sci & Technol Grp, Adelaide, SA, Australia
[4] Univ Adelaide, Adelaide, SA, Australia
来源
PROCEEDINGS OF THE 19TH ACM ASIA CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, ACM ASIACCS 2024 | 2024年
关键词
Fuzzing; Software Testing; Thompson Sampling; Reinforcement Learning; Multi-Armed Bandits;
D O I
10.1145/3634737.3637639
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Fuzzing is an industry-standard software testing technique that uncovers bugs in a target program by executing it with mutated inputs. Over the lifecycle of a fuzzing campaign, the fuzzer accumulates inputs inducing new and interesting target behaviors, drawing from these inputs for further mutation and generation of new inputs. This rapidly results in a large pool of inputs to select from, making it challenging to quickly determine the "most promising" input for mutation. Reinforcement learning (RL) provides a natural solution to this seed scheduling problem- a fuzzer can dynamically adapt its selection strategy by learning from past results. However, existing RL approaches are (a) computationally expensive (reducing fuzzer throughput), and/or (b) require hyperparameter tuning (reducing generality across targets and input types). To this end, we propose T-Scheduler, a seed scheduler built upon multiarmed bandit theory to automatically adapt to the target. Notably, our formulation does not require the user to select or tune hyperparameters and is therefore easily generalizable across different targets. We evaluate T-Scheduler over 35 CPU-yr fuzzing effort, comparing it to 11 state-of-the-art schedulers. Our results show that T-Scheduler improves on these 11 schedulers on both bug-finding and coverage-expansion abilities.
引用
收藏
页码:1463 / 1479
页数:17
相关论文
共 49 条
[1]  
Adobe, 1992, TIFF
[2]   Near-Optimal Regret Bounds for Thompson Sampling [J].
Agrawal, Shipra ;
Goyal, Navin .
JOURNAL OF THE ACM, 2017, 64 (05)
[3]   A Practical Guide for Using Statistical Tests to Assess Randomized Algorithms in Software Engineering [J].
Arcuri, Andrea ;
Briand, Lionel .
2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, :1-10
[4]   REDQUEEN: Fuzzing with Input-to-State Correspondence [J].
Aschermann, Cornelius ;
Schumilo, Sergej ;
Blazytko, Tim ;
Gawlik, Robert ;
Holz, Thorsten .
26TH ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2019), 2019,
[5]   On the Reliability of Coverage-Based Fuzzer Benchmarking [J].
Boehme, Marcel ;
Szekeres, Laszlo ;
Metzman, Jonathan .
2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2022), 2022, :1621-1633
[6]   Deep Reinforcement Fuzzing [J].
Boettinger, Konstantin ;
Godefroid, Patrice ;
Singh, Rishabh .
2018 IEEE SYMPOSIUM ON SECURITY AND PRIVACY WORKSHOPS (SPW 2018), 2018, :116-122
[7]   Boosting Fuzzer Efficiency: An Information Theoretic Perspective [J].
Bohme, Marcel ;
Manes, Valentin J. M. ;
Cha, Sang Kil .
PROCEEDINGS OF THE 28TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '20), 2020, :678-689
[8]   Directed Greybox Fuzzing [J].
Bohme, Marcel ;
Van-Thuan Pham ;
Manh-Dung Nguyen ;
Roychoudhury, Abhik .
CCS'17: PROCEEDINGS OF THE 2017 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2017, :2329-2344
[9]  
Bohme Marcel., 2016, Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, CCS '16, P1032
[10]  
Chang Oliver, 2023, Taking the next step: Oss-fuzz in 2023