Toward the Verification of a Simple Hypervisor
Virtualization promises significant benefits in security, efficiency, dependability, and cost. Achieving these benefits depends upon the reliability of the underlying virtual machine monitors (hypervisors). This paper describes an ongoing project to develop and verify MinVisor, a simple but function...
Main Authors: | , , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
Open Publishing Association
2011-10-01
|
Series: | Electronic Proceedings in Theoretical Computer Science |
Online Access: | http://arxiv.org/pdf/1110.4672v1 |
id |
doaj-8e752ebe9a574dd2b899aab2b06401fb |
---|---|
record_format |
Article |
spelling |
doaj-8e752ebe9a574dd2b899aab2b06401fb2020-11-24T21:19:00ZengOpen Publishing AssociationElectronic Proceedings in Theoretical Computer Science2075-21802011-10-0170Proc. ACL2 2011284510.4204/EPTCS.70.3Toward the Verification of a Simple HypervisorMike DahlinRyan JohnsonRobert Bellarmine KrugMichael McCoydWilliam YoungVirtualization promises significant benefits in security, efficiency, dependability, and cost. Achieving these benefits depends upon the reliability of the underlying virtual machine monitors (hypervisors). This paper describes an ongoing project to develop and verify MinVisor, a simple but functional Type-I x86 hypervisor, proving protection properties at the assembly level using ACL2. Originally based on an existing research hypervisor, MinVisor provides protection of its own memory from a malicious guest. Our long-term goal is to fully verify MinVisor, providing a vehicle to investigate the modeling and verification of hypervisors at the implementation level, and also a basis for further systems research. Functional segments of the MinVisor C code base are translated into Y86 assembly, and verified with respect to the Y86 model. The inductive assertions (also known as "compositional cutpoints") methodology is used to prove the correctness of the code. The proof of the code that sets up the nested page tables is described. We compare this project to related efforts in systems code verification and outline some useful steps forward.http://arxiv.org/pdf/1110.4672v1 |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
Mike Dahlin Ryan Johnson Robert Bellarmine Krug Michael McCoyd William Young |
spellingShingle |
Mike Dahlin Ryan Johnson Robert Bellarmine Krug Michael McCoyd William Young Toward the Verification of a Simple Hypervisor Electronic Proceedings in Theoretical Computer Science |
author_facet |
Mike Dahlin Ryan Johnson Robert Bellarmine Krug Michael McCoyd William Young |
author_sort |
Mike Dahlin |
title |
Toward the Verification of a Simple Hypervisor |
title_short |
Toward the Verification of a Simple Hypervisor |
title_full |
Toward the Verification of a Simple Hypervisor |
title_fullStr |
Toward the Verification of a Simple Hypervisor |
title_full_unstemmed |
Toward the Verification of a Simple Hypervisor |
title_sort |
toward the verification of a simple hypervisor |
publisher |
Open Publishing Association |
series |
Electronic Proceedings in Theoretical Computer Science |
issn |
2075-2180 |
publishDate |
2011-10-01 |
description |
Virtualization promises significant benefits in security, efficiency, dependability, and cost. Achieving these benefits depends upon the reliability of the underlying virtual machine monitors (hypervisors). This paper describes an ongoing project to develop and verify MinVisor, a simple but functional Type-I x86 hypervisor, proving protection properties at the assembly level using ACL2. Originally based on an existing research hypervisor, MinVisor provides protection of its own memory from a malicious guest. Our long-term goal is to fully verify MinVisor, providing a vehicle to investigate the modeling and verification of hypervisors at the implementation level, and also a basis for further systems research. Functional segments of the MinVisor C code base are translated into Y86 assembly, and verified with respect to the Y86 model. The inductive assertions (also known as "compositional cutpoints") methodology is used to prove the correctness of the code. The proof of the code that sets up the nested page tables is described. We compare this project to related efforts in systems code verification and outline some useful steps forward. |
url |
http://arxiv.org/pdf/1110.4672v1 |
work_keys_str_mv |
AT mikedahlin towardtheverificationofasimplehypervisor AT ryanjohnson towardtheverificationofasimplehypervisor AT robertbellarminekrug towardtheverificationofasimplehypervisor AT michaelmccoyd towardtheverificationofasimplehypervisor AT williamyoung towardtheverificationofasimplehypervisor |
_version_ |
1726007285984002048 |