近年来,硬件供应商已引入了指定的VM档案(例如AMD SEV-SNP,Intel TDX和ARM CCA)。他们消除了对管理程序的信任,并导致对AMD Secure VM Service模块(SVSM)等安全模块的需求。这些安全模块旨在为客人提供以前由管理程序提供的安全功能。由于此类模块的安全性至关重要,因此生锈用于实施其已知的MEM-ORY安全功能。但是,使用Rust进行实施并不能保证正确性,并且使用不安全的RUST会损害内存安全保证。在本文中,我们介绍了v eri sm o,这是AMD SEV-SNP上的第一个验证的安全模块。v eri sm o具有功能齐全,并提供了安全功能,例如代码完整性,运行时测量和秘密管理。更重要的是,作为基于生锈的实现,V eri sm o被充分验证了功能正确性,安全信息流以及VM的确定性和完整性。验证v eri sm o的关键挑战是,不信任的虚拟机能够中断v eri sm o的执行并随时修改硬件状态。我们通过将验证分为两层来应对这一挑战。上层处理并发的处理程序执行,而下层则处理V eri Smo的同时执行。与基于C的实现相结合时,VERI SM O会达到相似的性能。在验证V eri sm o时,我们确定了对VM符合性的微妙要求,并发现它被AMD SVSM忽略了。这证明了正式验证的必要性。
主要关键词