Cerberus:安全高效飞地内存共享的正式验证方法

0 下载量 174 浏览量 更新于2024-06-17 收藏 872KB PDF 举报
"Cerberus:一种安全高效的飞地内存共享的正式方法" 本文介绍的"Cerberus"是一种创新的正式方法,旨在解决硬件安全区(也称为飞地)中的内存共享问题,同时保持安全性和高效性。硬件安全区通常依赖于非重叠内存模型,确保每个物理地址只映射到一个特定的安全区,以实现严格的内存隔离。这种隔离虽然增强了安全性,但也限制了飞地程序的性能和可编程性。 Cerberus的核心是设计了一个简单而强大的共享模型,它允许在多个安全区之间共享和不可变地使用内存,而不削弱现有的安全保证。这一方法扩展了安全区平台,引入了额外的操作,使得内存能够在保持安全性的前提下进行共享。为了减轻形式化验证的复杂性,研究团队对比了多种共享模型,并选择了最优方案。 Cerberus建立在名为可信抽象平台(Trusted Abstract Platform, TAP)的现有正式模型之上,并对其进行了增量验证。通过扩展后的TAP模型,他们能够正式验证Cerberus的设计不会破坏飞地的安全特性,即使在启用内存共享的情况下也是如此。特别是,他们证明了Cerberus满足安全远程执行(Secure Remote Execution, SRE)的属性,这是衡量安全执行的关键标准。 为了证明其可行性,Cerberus被实施在RISC-V Keystone这个现有的飞地平台上。这一实现进一步巩固了Cerberus作为安全高效的内存共享解决方案的地位。 文章的关键词包括安全性、形式化方法、编程语言、安全远程执行等,强调了在安全计算领域的重要进展。论文的贡献归功于两位主要作者,同时也遵循了知识共享署名国际4.0许可协议,允许合理使用和分享研究成果。 Cerberus为硬件安全区提供了一种新的内存共享策略,通过形式化的方法确保了安全性和效率,为未来飞地系统的设计和优化提供了重要的理论基础和技术支持。