Soo Yee Lim, Tanya Prasad, Xueyuan Han, Thomas Pasquier
{"title":"SafeBPF: Hardware-assisted Defense-in-depth for eBPF Kernel Extensions","authors":"Soo Yee Lim, Tanya Prasad, Xueyuan Han, Thomas Pasquier","doi":"arxiv-2409.07508","DOIUrl":null,"url":null,"abstract":"The eBPF framework enables execution of user-provided code in the Linux\nkernel. In the last few years, a large ecosystem of cloud services has\nleveraged eBPF to enhance container security, system observability, and network\nmanagement. Meanwhile, incessant discoveries of memory safety vulnerabilities\nhave left the systems community with no choice but to disallow unprivileged\neBPF programs, which unfortunately limits eBPF use to only privileged users. To\nimprove run-time safety of the framework, we introduce SafeBPF, a general\ndesign that isolates eBPF programs from the rest of the kernel to prevent\nmemory safety vulnerabilities from being exploited. We present a pure software\nimplementation using a Software-based Fault Isolation (SFI) approach and a\nhardware-assisted implementation that leverages ARM's Memory Tagging Extension\n(MTE). We show that SafeBPF incurs up to 4% overhead on macrobenchmarks while\nachieving desired security properties.","PeriodicalId":501333,"journal":{"name":"arXiv - CS - Operating Systems","volume":"8 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Operating Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2409.07508","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
The eBPF framework enables execution of user-provided code in the Linux
kernel. In the last few years, a large ecosystem of cloud services has
leveraged eBPF to enhance container security, system observability, and network
management. Meanwhile, incessant discoveries of memory safety vulnerabilities
have left the systems community with no choice but to disallow unprivileged
eBPF programs, which unfortunately limits eBPF use to only privileged users. To
improve run-time safety of the framework, we introduce SafeBPF, a general
design that isolates eBPF programs from the rest of the kernel to prevent
memory safety vulnerabilities from being exploited. We present a pure software
implementation using a Software-based Fault Isolation (SFI) approach and a
hardware-assisted implementation that leverages ARM's Memory Tagging Extension
(MTE). We show that SafeBPF incurs up to 4% overhead on macrobenchmarks while
achieving desired security properties.