Horus: Accelerating Kernel Fuzzing through Efficient Host-VM Memory Access Procedures

ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY(2024)

引用 1|浏览4
暂无评分
摘要
Kernel fuzzing is an effective technique in operating system vulnerability detection. Fuzzers such as Syzkaller and Moonshine frequently pass highly structured data between fuzzer processes in guest virtual machines and manager processes in the host operating system to synchronize fuzzing-relevant data and information. Since the guest virtual machines' and the host operating system's memory spaces are mutually isolated, fuzzers conduct synchronization operations using mechanisms such as Remote Procedure Calls over TCP/IP networks, incurring significant overheads that negatively impact the fuzzer's efficiency and effectiveness in increasing code coverage and finding vulnerabilities. In this paper, we propose HORUS, a kernel fuzzing data transfer mechanism that mitigates the aforementioned data transfer overheads. HORUS removes host-VM memory isolation and performs data transfers through copying to and from target memory locations in the guest virtual machine. HORUS facilitates such efficient transfers through using fixed stub structures in the guest's memory space, whose addresses, along with the guest's RAM contents, are exposed to the host during the fuzzer's initialization process. When conducting transfers, HORUS passes highly-structured non-trivial data between the host and guest instances through copying the data directly to and from the stub structures, reducing the overall overhead significantly compared to that of using a network-based approach. We implemented HORUS upon state-of-the-art kernel fuzzers Syzkaller, Moonshine and kAFL and evaluated its effectiveness. For Syzkaller and Moonshine, HORUS increased their transfer speeds by 84.5% and 85.8% for non-trivial workloads on average and improved their fuzzing throughputs by 31.07% and 30.62%, respectively. Syzkaller and Moonshine both achieved a coverage speedup of 1.6x through using HORUS. For kAFL, HORUS improved specifically its Redqueen component's execution speeds by 19.4%.
更多
查看译文
关键词
Kernel fuzzing,testing,security,performance enhancement
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要