{"title":"OpenBSD formal driver verification with SeL4","authors":"Adriana Nicolae, Paul Irofti, Ioana Leustean","doi":"arxiv-2311.03585","DOIUrl":null,"url":null,"abstract":"The seL4 microkernel is currently the only kernel that has been fully\nformally verified. In general, the increased interest in ensuring the security\nof a kernel's code results from its important role in the entire operating\nsystem. One of the basic features of an operating system is that it abstracts\nthe handling of devices. This abstraction is represented by device drivers -\nthe software that manages the hardware. A proper verification of the software\ncomponent could ensure that the device would work properly unless there is a\nhardware failure.In this paper, we choose to model the behavior of a device\ndriver and build the proof that the code implementation matches the expected\nbehavior. The proof was written in Isabelle/HOL, the code translation from C to\nIsabelle was done automatically by the use of the C-to-Isabelle Parser and\nAutoCorres tools. We choose Isabelle theorem prover because its efficiency was\nalready shown through the verification of seL4 microkernel.","PeriodicalId":501333,"journal":{"name":"arXiv - CS - Operating Systems","volume":"64 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2023-11-06","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-2311.03585","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
The seL4 microkernel is currently the only kernel that has been fully
formally verified. In general, the increased interest in ensuring the security
of a kernel's code results from its important role in the entire operating
system. One of the basic features of an operating system is that it abstracts
the handling of devices. This abstraction is represented by device drivers -
the software that manages the hardware. A proper verification of the software
component could ensure that the device would work properly unless there is a
hardware failure.In this paper, we choose to model the behavior of a device
driver and build the proof that the code implementation matches the expected
behavior. The proof was written in Isabelle/HOL, the code translation from C to
Isabelle was done automatically by the use of the C-to-Isabelle Parser and
AutoCorres tools. We choose Isabelle theorem prover because its efficiency was
already shown through the verification of seL4 microkernel.