HyperFuzzer: An Efficient Hybrid Fuzzer for Virtual CPUs

被引:4
|
作者
Ge, Xinyang [1 ]
Niu, Ben [2 ]
Brotzman, Robert [3 ]
Chen, Yaohui [4 ]
Han, HyungSeok [5 ]
Godefroid, Patrice [1 ]
Cui, Weidong [1 ]
机构
[1] Microsoft Res, Redmond, WA 98052 USA
[2] Microsoft, Redmond, WA USA
[3] Penn State Univ, University Pk, PA 16802 USA
[4] Facebook, Menlo Pk, CA USA
[5] Korea Adv Inst Sci & Technol, Daejeon, South Korea
来源
CCS '21: PROCEEDINGS OF THE 2021 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY | 2021年
关键词
fuzzing; symbolic execution; virtualization; hypervisor;
D O I
10.1145/3460120.3484748
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
In this cloud computing era, the security of hypervisors is critical to the overall security of the cloud. In particular, the security of CPU virtualization in hypervisors is paramount because it is implemented in the most privileged CPU mode. Blackbox and graybox fuzzing are limited to finding shallow virtual CPU bugs due to its huge search space. Whitebox fuzzing can be used for systematic analysis of CPU virtualization, but existing implementations rely on slow hardware emulators to enable dynamic symbolic execution. In this paper, we present HyperFuzzer, the first efficient hybrid fuzzer for virtual CPUs. Our key observation is that a virtual CPU's execution is determined by the VM state. Based on this observation, we design a new fuzzing setup that uses complete VM states as fuzzing inputs, and a new fuzzing technique we call Nimble Symbolic Execution to enable dynamic symbolic execution for CPU virtualization running on bare metal. Specifically, it uses the hardware to log the control flow efficiently, and then reconstructs an approximate execution trace from only the control flow and the fuzzing input. The reconstructed execution trace is surprisingly sufficient for precise dynamic symbolic execution of virtual CPUs. We have built a prototype of HyperFuzzer based on Intel Processor Trace for Microsoft Hyper-V. Our experimental results show that HyperFuzzer can run thousands of tests per second, which is 3 orders of magnitude faster than using a hardware emulator. When compared with a baseline using full (control+data) execution traces, HyperFuzzer can still generate 96.8% of the test inputs generated by the baseline. HyperFuzzer has found 11 previously unknown virtual CPU bugs in the Hyper-V hypervisor, and all of them were confirmed and fixed.
引用
收藏
页码:366 / 378
页数:13
相关论文
共 50 条
  • [1] SymRustC: A Hybrid Fuzzer for Rust
    Tuong, Frederic
    Tehrani, Mohammad Omidvar
    Gaboardi, Marco
    Ko, Steven Y.
    PROCEEDINGS OF THE 32ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2023, 2023, : 1515 - 1518
  • [2] ObFuzzer: Object-Oriented Hybrid Fuzzer for Binaries
    He, Xinglu
    Wang, Pengfei
    Lu, Kai
    Zhou, Xu
    APPLIED SCIENCES-BASEL, 2022, 12 (19):
  • [3] sFuzz: An Efficient Adaptive Fuzzer for Solidity Smart Contracts
    Nguyen, Tai D.
    Pham, Long H.
    Sun, Jun
    Lin, Yun
    Quang Tran Minh
    2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2020), 2020, : 778 - 788
  • [4] CPUS, GPUS, AND HYBRID COMPUTING Introduction
    Brooks, David
    IEEE MICRO, 2011, 31 (05) : 4 - 6
  • [5] CONFUZZION: A Java']Java Virtual Machine Fuzzer for Type Confusion Vulnerabilities
    Bonnaventure, William
    Khanfir, Ahmed
    Bartel, Alexandre
    Papadakis, Mike
    Le Traon, Yves
    2021 IEEE 21ST INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY (QRS 2021), 2021, : 586 - 597
  • [6] Performance Implications of Over-allocation of Virtual CPUs
    Shirinbab, Sogand
    Lundberg, Lars
    2015 INTERNATIONAL SYMPOSIUM ON NETWORKS, COMPUTERS AND COMMUNICATIONS (ISNCC 2015), 2015,
  • [7] Efficient Implementation of GPGPU Synchronization Primitives on CPUs
    Gummaraju, Jayanth
    Sander, Ben
    Morichetti, Laurent
    Gaster, Benedict
    Howes, Lee
    PROCEEDINGS OF THE 2010 COMPUTING FRONTIERS CONFERENCE (CF 2010), 2010, : 85 - 86
  • [8] Virtual Simulation in Energy Efficient Hybrid Powertrain Design
    Nokka, Jarkko
    Laurila, Lasse
    Pyrhonen, Juha
    2014 16TH EUROPEAN CONFERENCE ON POWER ELECTRONICS AND APPLICATIONS (EPE'14-ECCE EUROPE), 2014,
  • [9] CONFUZZIUS: A Data Dependency-Aware Hybrid Fuzzer for Smart Contracts
    Torres, Christof Ferreira
    Iannillo, Antonio Ken
    Gervais, Arthur
    State, Radu
    2021 IEEE EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY (EUROS&P 2021), 2021, : 103 - 119
  • [10] The Anatomy of Efficient FFT and Winograd Convolutions on Modern CPUs
    Zlateski, Aleksandar
    Jia, Zhen
    Li, Kai
    Durand, Fredo
    INTERNATIONAL CONFERENCE ON SUPERCOMPUTING (ICS 2019), 2019, : 414 - 424