Kernel extension verification is untenable

  • Jinghao Jia
  • , Raj Sahu
  • , Adam Oswald
  • , Dan Williams
  • , Michael V. Le
  • , Tianyin Xu

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

The emergence of verified eBPF bytecode is ushering in a new era of safe kernel extensions. In this paper, we argue that eBPF's verifier - -the source of its safety guarantees - -has become a liability. In addition to the well-known bugs and vulnerabilities stemming from the complexity and ad hoc nature of the in-kernel verifier, we highlight a concerning trend in which escape hatches to unsafe kernel functions (in the form of helper functions) are being introduced to bypass verifier-imposed limitations on expressiveness, unfortunately also bypassing its safety guarantees. We propose safe kernel extension frameworks using a balance of not just static but also lightweight runtime techniques. We describe a design centered around kernel extensions in safe Rust that will eliminate the need of the in-kernel verifier, improve expressiveness, allow for reduced escape hatches, and ultimately improve the safety of kernel extensions.

Original languageEnglish (US)
Title of host publicationHotOS 2023 - Proceedings of the 19th Workshop on Hot Topics in Operating Systems
PublisherAssociation for Computing Machinery
Pages150-157
Number of pages8
ISBN (Electronic)9798400701955
DOIs
StatePublished - Jun 22 2023
Event19th Workshop on Hot Topics in Operating Systems, HotOS 2023 - Providence, United States
Duration: Jun 22 2023Jun 24 2023

Publication series

NameHotOS 2023 - Proceedings of the 19th Workshop on Hot Topics in Operating Systems

Conference

Conference19th Workshop on Hot Topics in Operating Systems, HotOS 2023
Country/TerritoryUnited States
CityProvidence
Period6/22/236/24/23

Keywords

  • eBPF
  • kernel extension
  • operating system
  • safety
  • verification

ASJC Scopus subject areas

  • Computer Networks and Communications
  • Hardware and Architecture
  • Information Systems

Fingerprint

Dive into the research topics of 'Kernel extension verification is untenable'. Together they form a unique fingerprint.

Cite this