Conference Papers Year : 2022

End-to-end Mechanized Proof of an eBPF Virtual Machine for Micro-controllers

Abstract

RIOT is a micro-kernel dedicated to IoT applications that adopts eBPF (extended Berkeley Packet Filters) to implement so-called femto-containers. As micro-controllers rarely feature hardware memory protection, the isolation of eBPF virtual machines (VM) is critical to ensure system integrity against potentially malicious programs. This paper shows how to directly derive, within the Coq proof assistant, the verified C implementation of an eBPF virtual machine from a Gallina specification. Leveraging the formal semantics of the CompCert C compiler, we obtain an end-to-end theorem stating that the C code of our VM inherits the safety and security properties of the Gallina specification. Our refinement methodology ensures that the isolation property of the specification holds in the verified C implementation. Preliminary experiments demonstrate satisfying performance.
Fichier principal
Vignette du fichier
cav22.pdf (1.02 Mo) Télécharger le fichier
Origin Files produced by the author(s)

Dates and versions

hal-03888082 , version 1 (07-12-2022)

Licence

Identifiers

  • HAL Id : hal-03888082 , version 1

Cite

Shenghao Yuan, Frédéric Besson, Jean-Pierre Talpin, Samuel Hym, Koen Zandberg, et al.. End-to-end Mechanized Proof of an eBPF Virtual Machine for Micro-controllers. CAV 2022 - 34th International Conference on Computer Aided Verification, Aug 2022, Haifa, Israel. pp.1-23. ⟨hal-03888082⟩
115 View
60 Download

Share

More