VTechWorks staff will be away for the winter holidays until January 5, 2026, and will respond to requests at that time.
 

EKFuzz: Fuzzing the BPF subsystem

dc.contributor.authorPuranam, Ananta Srikaren
dc.contributor.committeechairRavindran, Binoyen
dc.contributor.committeememberWang, Hainingen
dc.contributor.committeememberGiles, Kendall Everetten
dc.contributor.departmentElectrical and Computer Engineeringen
dc.date.accessioned2025-10-13T13:36:15Zen
dc.date.available2025-10-13T13:36:15Zen
dc.date.issued2025-08-15en
dc.description.abstractThe extended Berkeley Packet Filter (eBPF) framework has revolutionized the way developers interact with the Linux kernel by enabling safe, dynamic programmability. However, this flexibility comes at a cost. The new kernel functions (kfuncs) exposed to eBPF programs are rapidly proliferating, often without adequate testing. While prior work has addressed verifier and helper function fuzzing, the kfuncs remain a largely unexplored attack surface. This thesis presents EKFuzz, a Syzkaller-based fuzzing extension that systematically targets kfuncs used by eBPF programs. EKFuzz incorporates type-aware generation of verifier-compliant programs, automatically generates dependent syscalls (e.g., for maps), and employs a mutation-driven feedback loop. Our evaluation demonstrates that EKFuzz achieves deeper runtime coverage than Syzkaller and uncovers latent bugs within the kfunc execution paths.en
dc.description.abstractgeneralModern operating systems must balance safety and performance. Linux introduced eBPF to safely run custom programs inside the kernel-making tools for networking, monitoring, and security more efficient. To help eBPF programs interact with the kernel, developers expose internal kernel functions (called kfuncs). However, these functions are growing rapidly in number and are often not thoroughly tested. This thesis presents a testing tool, EKFuzz, which can automatically try many different inputs and combinations to catch potential problems in these functions. EKFuzz builds on an existing testing tool called Syzkaller and improves it to better handle this new type of kernel interaction. The result is a safer, more robust Linux system.en
dc.description.degreeMaster of Scienceen
dc.description.sponsorshipThis thesis work is supported by the Defense Advanced Research Projects Agency (DARPA) and Naval Information Warfare Center Pacific (NIWC Pacific) under Contract No. N66001-21-C-4028 and the US National Science Foundation (NSF) under grant CNS-2234257.en
dc.format.mediumETDen
dc.format.mimetypeapplication/pdfen
dc.identifier.urihttps://hdl.handle.net/10919/138146en
dc.language.isoenen
dc.publisherVirginia Techen
dc.rightsCC0 1.0 Universalen
dc.rights.urihttp://creativecommons.org/publicdomain/zero/1.0/en
dc.subjectLinuxen
dc.subjectFuzzingen
dc.subjecteBPFen
dc.subjectsyzkalleren
dc.subjectEKFuzzen
dc.titleEKFuzz: Fuzzing the BPF subsystemen
dc.typeThesisen
dc.type.dcmitypeTexten
thesis.degree.disciplineComputer Engineeringen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.levelmastersen
thesis.degree.nameMaster of Scienceen

Files

Original bundle
Now showing 1 - 1 of 1
Name:
Puranam_AS_D_2025.pdf
Size:
1022.75 KB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
Name:
license.txt
Size:
1.5 KB
Format:
Item-specific license agreed upon to submission
Description:

Collections