kirancodes.me
To Proof Maintenance & Beyond!

VD-Guard: DMA Guided Fuzzing for Hypervisor Virtual Device

Yuwei Liu, Siqi Chen, Yuchong Xie, Yanhao Wang, Libo Chen, Bin Wang, Yingming Zeng, Zhi Xue, Purui Su

Abstract

Virtualization has been widely used in various scenarios, such as cloud computing. As its core technology, virtualization hypervisor brings up the efficiency of sharing the physical machine's resources via virtual devices. However, virtualization hypervisor also introduces significant security risks due to defective design or implementation schemes on virtual devices. Although several methods have been proposed to detect vulnerabilities in virtual devices, they still cannot effectively discover them because of missing critical information related to the MMIO/PIO and DMA operations to guide their dynamic methods. In this paper, we propose a hybrid method, VD-GUARD, to detect vulnerabilities in virtual devices. Specifically, it first leverages static control flow analysis to track call traces from various data entry points of virtual devices (MMIO/PIO functions) to the critical dispatcher points (DMA functions), and generate seeds that can trigger this call trace via static analysis and limited fuzzing test. And then, it takes these seeds as input and leverages DMA guided fuzzing to discover bugs. To verify the effectiveness of Vd-guard, we build a dataset, including 10 bugs in QEMU, based on previous works, and Vd-guardoutperforms the state-of-the-art hypervisor fuzzer Morphuzz. Vd-guardalso has found 4 new vulnerabilities in QEMU and VirtualBox, all of which have been confirmed and fixed (have been assigned 3 CVE IDs).

BibTeX
@inproceedings{Liu-al:ASE23,
  author    = {Yuwei Liu and
               Siqi Chen and
               Yuchong Xie and
               Yanhao Wang and
               Libo Chen and
               Bin Wang and
               Yingming Zeng and
               Zhi Xue and
               Purui Su},
  title     = {{VD-Guard:} {DMA} Guided Fuzzing for Hypervisor Virtual Device},
  booktitle = {ASE},
  pages     = {1676--1687},
  publisher = {{IEEE}},
  year      = {2023},
}

Related papers