paper-with-me

홈 › Papers

HFL: Hybrid Fuzzing on the Linux Kernel

2020-02-24 · NDSS 2020 2 · Kyungtae Kim† Dae R. Jeong‡ Chung Hwan Kim¶ Yeongjin Jang§ Insik Shin‡ Byoungyoung Lee∗†

Hybrid fuzzing, combining symbolic execution and fuzzing, is a promising approach for vulnerability discovery because each approach can complement the other. However, we observe that applying hybrid fuzzing to kernel testing is challenging because the following unique characteristics of the kernel make a naive adoption of hybrid fuzzing inefficient: 1) having indirect control transfers determined by system call arguments, 2) controlling and matching internal system state via system calls, and 3) inferring nested argument type for invoking system calls. Failure to handling such challenges will render both fuzzing and symbolic execution inefficient, and thereby, will result in an inefficient hybrid fuzzing. Although these challenges are essential to both fuzzing and symbolic execution, to the best of our knowledge, existing kernel testing approaches either naively use each technique separately without handling such challenges or imprecisely handle a part of challenges only by static analysis. To this end, this paper proposes HFL, which not only combines fuzzing with symbolic execution for hybrid fuzzing but also addresses kernel-specific fuzzing challenges via three distinct features: 1) converting indirect control transfers to direct transfers, 2) inferring system call sequence to build a consistent system state, and 3) identifying nested arguments types of system calls. As a result, HFL found 24 previously unknown vulnerabilities in recent Linux kernels. Additionally, HFL achieves 15% and 26% higher code coverage than Moonshine and Syzkaller, respectively, and over kAFL/S2E/TriforceAFL, achieving even four times better coverage, using the same amount of resources (CPU, time, etc.). Regarding vulnerability discovery performance, HFL found 13 known vulnerabilities more than three times faster than Syzkaller.

📄 PDF Abstract BibTeX

Code (0)

등록된 구현이 없습니다.

Tasks

CPU

Similar Papers 제목 키워드 기반

KernelGPT: Enhanced Kernel Fuzzing via Large Language Models

2023-12-31 · Chenyuan Yang, Zijie Zhao, Lingming Zhang

Bugs in operating system kernels can affect billions of devices and users all over the world. As a result, a large body of research has been focused on kernel fuzzing, i.e., automatically generating syscall (system call)…

valid

Benchmarking and Enhancing LLM Agents in Localizing Linux Kernel Bugs

2025-05-26 · ZhenHao Zhou, Zhuochen Huang, Yike He, Chong Wang 외

The Linux kernel is a critical system, serving as the foundation for numerous systems. Bugs in the Linux kernel can cause serious consequences, affecting billions of users. Fault localization (FL), which aims at identify…

BenchmarkingFault localization

Machine Learning (ML) library in Linux kernel

2026-03-02 · Viacheslav Dubeyko arxiv

Linux kernel is a huge code base with enormous number of subsystems and possible configuration options that results in unmanageable complexity of elaborating an efficient configuration. Machine Learning (ML) is approach/…

MEUZZ: Smart Seed Scheduling for Hybrid Fuzzing

2020-02-20 · Yao-Hui Chen, Mansour Ahmadi, Reza Mirzazade farkhani, Boyu Wang 외

Seed scheduling is a prominent factor in determining the yields of hybrid fuzzing. Existing hybrid fuzzers schedule seeds based on fixed heuristics that aim to predict input utilities. However, such heuristics are not ge…

BIG-bench Machine LearningScheduling

CrashFixer: A crash resolution agent for the Linux kernel

2025-04-29 · Alex Mathai, Chenxi Huang, Suwei Ma, JiHwan Kim 외

Code large language models (LLMs) have shown impressive capabilities on a multitude of software engineering tasks. In particular, they have demonstrated remarkable utility in the task of code repair. However, common benc…

Code Repair