Understanding the Security of Linux eBPF Subsystem

被引:1
|
作者
Mohamed, Mohamed Husain Noor [1 ]
Wang, Xiaoguang [2 ]
Ravindran, Binoy [1 ]
机构
[1] Virginia Tech, Blacksburg, VA 24061 USA
[2] Univ Illinois, Chicago, IL USA
基金
美国国家科学基金会;
关键词
Linux eBPF; Kernel Security; Fuzzing;
D O I
10.1145/3609510.3609822
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Linux eBPF allows a userspace application to execute code inside the Linux kernel without modifying the kernel code or inserting a kernel module. An in-kernel eBPF verifier preverifies any untrusted eBPF bytecode before running it in kernel context. Currently, users trust the verifier to block malicious bytecode from being executed. This paper studied the potential security issues from existing eBPF-related CVEs. Next, we present a generation-based eBPF fuzzer that generates syntactically and semantically valid eBPF programs to find bugs in the verifier component of the Linux kernel eBPF subsystem. The fuzzer extends the Linux Kernel Library (LKL) project to run multiple lightweight Linux instances simultaneously, with inputs from the automatically generated eBPF instruction sequences. Using this fuzzer, we can outperform the bpf-fuzzer [10] from the iovisor GitHub repository regarding fuzzing speed and the success rate of passing the eBPF verifier (valid generated code). We also found two existing ALU range-tracking bugs that appeared in an older Linux kernel (v5.10).
引用
收藏
页码:87 / 92
页数:6
相关论文
共 50 条
  • [1] Accelerating Linux Security with eBPF iptables
    Bertrone, Matteo
    Miano, Sebastiano
    Risso, Fulvio
    Tumolo, Massimo
    SIGCOMM'18: PROCEEDINGS OF THE ACM SIGCOMM 2018 CONFERENCE: POSTERS AND DEMOS, 2018, : 108 - 110
  • [2] FetchBPF: Customizable Prefetching Policies in Linux with eBPF
    Cao, Xuechun
    Patel, Shaurya
    Lim, Soo Yee
    Han, Xueyuan
    Pasquier, Thomas
    PROCEEDINGS OF THE 2024 USENIX ANNUAL TECHNICAL CONFERENCE, ATC 2024, 2024, : 369 - 378
  • [3] Performance Implications of Packet Filtering with Linux eBPF
    Scholz, Dominik
    Raumer, Daniel
    Emmerich, Paul
    Kurtz, Alexander
    Lesiak, Krzysztof
    Carle, Georg
    PROCEEDINGS OF THE 2018 30TH INTERNATIONAL TELETRAFFIC CONGRESS (ITC 30), VOL 1, 2018, : 209 - 217
  • [4] Comparing Security in eBPF and WebAssembly
    Dejaeghere, Jules
    Gbadamosi, Bolaji
    Pulls, Tobias
    Rochet, Florentin
    PROCEEDINGS OF THE ACM SIGCOMM 2023 WORKSHOP ON EBPF AND KERNEL EXTENSIONS, EBPF 2023, 2023, : 35 - 41
  • [5] Understanding Performance of eBPF Maps
    Liu, Chang
    Tak, Byungchul
    Wang, Long
    PROCEEDINGS OF THE ACM SIGCOMM 2024 WORKSHOP ON EBPF AND KERNEL EXTENSIONS, EBPF 2024, 2024, : 9 - 15
  • [6] Enforcing SBOMs through the Linux kernel with eBPF and IMA
    Crawford, Alex
    Yakubovich, Eugene
    Szumski, Rob
    PROCEEDINGS OF THE 2023 WORKSHOP ON SOFTWARE SUPPLY CHAIN OFFENSIVE RESEARCH AND ECOSYSTEM DEFENSES, SCORED 2023, 2023, : 77 - 78
  • [7] Memory forensics and the Windows Subsystem for Linux
    Lewis, Nathan
    Case, Andrew
    Ali-Gombe, Aisha
    Richard, Golden G., III
    DIGITAL INVESTIGATION, 2018, 26 : S3 - S11
  • [8] THE INTERNAL SECURITY SUBSYSTEM
    BOSSERMAN, RW
    BEHAVIORAL SCIENCE, 1982, 27 (02): : 95 - 103
  • [9] Fixing Latent Unsound Abstract Operators in the eBPF Verifier of the Linux Kernel
    Shachnai, Matan
    Vishwanathan, Harishankar
    Narayana, Srinivas
    Nagarakatte, Santosh
    STATIC ANALYSIS, SAS 2024, 2025, 14995 : 386 - 406
  • [10] Assessment of the Transparency of the Windows Subsystem for Linux (WSL)
    Kochberger, Patrick
    Tauber, Alexander
    Schrittwieser, Sebastian
    2019 INTERNATIONAL CONFERENCE ON SOFTWARE SECURITY AND ASSURANCE (ICSSA 2019), 2019, : 60 - 69