Automatic Bit- and Memory-Precise Verification of eBPF Code - Department of Formal methods
Communication Dans Un Congrès Année : 2024

Automatic Bit- and Memory-Precise Verification of eBPF Code

Résumé

We propose a translation from eBPF (extended Berkeley Packet Filter) code to CHC (Constrained Horn Clause sets) over the combined theory of bitvectors and arrays. eBPF is in particular used in the Linux kernel where user code is executed under kernel privileges. In order to protect the kernel, a well-known verifier statically checks the code for any harm and a number of research efforts have been performed to secure and improve the performance of the verifier. This paper is about verifying the functional properties of the eBPF code itself. Our translation procedure bpfverify is precise and covers almost all details of the eBPF language. Functional properties are automatically verified using z3. We prove termination of the procedure and show by real world eBPF code examples that full-fledged automatic verification is actually feasible.
Fichier principal
Vignette du fichier
LPAR_2024_pages_198-221.pdf (526.06 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-04845189 , version 1 (18-12-2024)

Licence

Identifiants

Citer

Martin Bromberger, Simon Schwarz, Christoph Weidenbach. Automatic Bit- and Memory-Precise Verification of eBPF Code. 25th Conference on Logic for Programming, Artificial Intelligence and Reasoning - LPAR 2024, May 2024, Port Louis, Mauritius. pp.198-221, ⟨10.29007/sj4l⟩. ⟨hal-04845189⟩
0 Consultations
0 Téléchargements

Altmetric

Partager

More