Performant Binary Fuzzing without Source Code using Static Instrumentation

被引:1
作者
Pauley, Eric [1 ]
Tan, Gang [2 ]
Zhang, Danfeng [2 ]
McDaniel, Patrick [2 ]
机构
[1] Univ Wisconsin, Madison, WI 53706 USA
[2] Penn State Univ, University Pk, PA 16802 USA
来源
2022 IEEE CONFERENCE ON COMMUNICATIONS AND NETWORK SECURITY (CNS) | 2022年
基金
美国国家科学基金会;
关键词
D O I
10.1109/CNS56114.2022.9947273
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Advancements in fuzz testing have achieved the ability to quickly and comprehensively find security-critical faults in software systems. Yet, some of these techniques rely on access to source code, which is often unavailable in practice. In this paper, we explore techniques to replicate the depth and efficiency of source-code available fuzzers via static binary instrumentation. Developing such instrumentation is difficult because compilation is a lossy process, and much of the source-level semantics leveraged by these techniques are not available in binaries. We recover much of this information via heuristic control flow reconstruction, a shadow stack for function identification, and a novel technique for instrumenting comparison instructions. We evaluate RWFUZZ on the LAVA-M dataset, achieving the same effectiveness as a best-in-class source-available fuzzer with a 3.4x execution time overhead (lower than existing dynamic fuzzing approaches). In this way, we show that techniques for binary fuzzing may approach the functional ability of source-available fuzzing.
引用
收藏
页码:226 / 235
页数:10
相关论文
共 30 条
  • [1] [Anonymous], 2016, KEYSTONE THE ULTIMAT
  • [2] [Anonymous], 2019, google/oss fuzz
  • [3] [Anonymous], 2015, AFL DYNINST
  • [4] [Anonymous], 2015, AFL QEMU
  • [5] [Anonymous], 2017, NDSS
  • [6] REDQUEEN: Fuzzing with Input-to-State Correspondence
    Aschermann, Cornelius
    Schumilo, Sergej
    Blazytko, Tim
    Gawlik, Robert
    Holz, Thorsten
    [J]. 26TH ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2019), 2019,
  • [7] WYSINWYX: What You See Is Not What You eXecute
    Balakrishnan, Gogul
    Reps, Thomas
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2010, 32 (06):
  • [8] Bao T, 2014, PROCEEDINGS OF THE 23RD USENIX SECURITY SYMPOSIUM, P845
  • [9] Bauman E., 2018, P 25 NETWORK DISTRIB, V12, P40
  • [10] Bellard F, 2005, USENIX Association Proceedings of the FREENIX/Open Source Track, P41