Preventing Unintended Data Access: Information Flow Control in eBPF
dc.contributor.author | Dimobi, Chinecherem Stephanie | en |
dc.contributor.committeechair | Williams, Daniel John | en |
dc.contributor.committeemember | Yao, Danfeng | en |
dc.contributor.committeemember | Hicks, Matthew | en |
dc.contributor.department | Computer Science and#38; Applications | en |
dc.date.accessioned | 2025-05-31T08:03:42Z | en |
dc.date.available | 2025-05-31T08:03:42Z | en |
dc.date.issued | 2025-05-30 | en |
dc.description.abstract | The extended Berkeley Packet Filter (eBPF) technology has become widely adopted by enterprises due to its flexibility and ability to enhance tracing, observability, monitoring, and security within the kernel. However, since the kernel is a critical resource containing sensitive information, eBPF also presents a significant attack surface for malicious actors. One of the challenging-to-detect yet easiest-to-execute attacks is sensitive information leakage, as it does not require additional privileges beyond standard eBPF functionality. Attackers can exfiltrate sensitive data using built-in eBPF mechanisms, such as saving information to a shared data store. Although the eBPF subsystem provides safety guarantees through its verifier, it does not track or restrict access to sensitive data that an eBPF program is not explicitly intended to access. In this research, we propose an information flow control (IFC) system that leverages labels and policies to track and prevent unauthorized access and leakages to sensitive information by third-party eBPF programs. We define sensitive information as any data that a given eBPF program is not explicitly authorized to access. Our approach defines a label-based policy specification that includes an "allow list", IFC-based static analysis to analyze eBPF bytecode, and policy enforcement to prevent malicious programs from loading and attaching into the kernel if they violate predefined security constraints. Results from our implementation show that our framework catches previously undetectable leakage patterns. This work addresses a critical gap in eBPF security by providing a structured mechanism to prevent unintended data access and leakages while maintaining the legitimate use cases of eBPF. | en |
dc.description.abstractgeneral | Computer systems run the world and are critical for almost everything technology. Operators have to constantly monitor the most critical parts of a system, specifically the operating system (OS) for security and reliability. The OS kernel is the piece of software on every computer system that allows applications and services to safely and efficiently utilize computer hardware. In recent years, operators have turned to running small programs within the OS kernel for monitoring purposes. These programs, called "eBPF" programs, have access to sensitive information of applications from the OS kernel and are trusted not to abuse this information. Recent events have shown that eBPF programs can be used maliciously. Operators can be tricked into running malicious eBPF programs that extract unauthorized sensitive information from the kernel. eBPF programs utilize a special verification process to ensure that they are safe and do not cause systems to crash. Unfortunately, the verification process does not prevent eBPF programs from reading unauthorized data and in turn leaking sensitive information. Our work enhances existing verification to eBPF programs by applying a technique of Information Flow Control (IFC) tailored for eBPF. The system statically analyzes the program and ensures sensitive data is not leaked according to a label-based policy specification we define. Our methodology offers a lightweight, pre-verification step that complements existing kernel protections. Results from our implementation show that our framework catches previously undetectable leakage patterns, providing both security and peace of mind for system operators. | en |
dc.description.degree | Master of Science | en |
dc.format.medium | ETD | en |
dc.identifier.other | vt_gsexam:44029 | en |
dc.identifier.uri | https://hdl.handle.net/10919/134956 | en |
dc.language.iso | en | en |
dc.publisher | Virginia Tech | en |
dc.rights | In Copyright | en |
dc.rights.uri | http://rightsstatements.org/vocab/InC/1.0/ | en |
dc.subject | eBPF | en |
dc.subject | Security | en |
dc.subject | Information Flow Control | en |
dc.subject | Static Analysis | en |
dc.title | Preventing Unintended Data Access: Information Flow Control in eBPF | en |
dc.type | Thesis | en |
thesis.degree.discipline | Computer Science & Applications | en |
thesis.degree.grantor | Virginia Polytechnic Institute and State University | en |
thesis.degree.level | masters | en |
thesis.degree.name | Master of Science | en |
Files
Original bundle
1 - 1 of 1