论文标题
CERBERUS:一种确保有效的飞地内存共享的正式方法
Cerberus: A Formal Approach to Secure and Efficient Enclave Memory Sharing
论文作者
论文摘要
硬件飞地依赖于不相交的内存模型,该模型将每个物理地址映射到飞地以实现强烈的内存隔离。但是,这严重限制了飞地程序的性能和可编程性。尽管一些先前的工作提出了飞地内存共享,但它没有提供其设计的正式模型或验证。本文介绍了Cerberus,这是一种确保有效的飞地内存共享的正式方法。为了减少正式验证的负担,我们比较了不同的共享模型,并选择一个简单而强大的共享模型。基于共享模型,Cerberus扩展了一个飞地平台,因此可以通过其他操作在多个飞地之间使飞地内存成为现象和共享。我们使用逐步验证,从现有的正式模型开始,称为Trusted Abstract Platform(TAP)。使用我们的扩展TAP模型,我们正式验证Cerberus尽管允许内存共享,但Cerberus不会破坏或削弱飞地的安全保证。更具体地说,我们证明了正式模型上的安全远程执行(SRE)属性。最后,该论文通过在现有的飞地平台RISC-V Keystone中实现Cerberus的可行性。
Hardware enclaves rely on a disjoint memory model, which maps each physical address to an enclave to achieve strong memory isolation. However, this severely limits the performance and programmability of enclave programs. While some prior work proposes enclave memory sharing, it does not provide a formal model or verification of their designs. This paper presents Cerberus, a formal approach to secure and efficient enclave memory sharing. To reduce the burden of formal verification, we compare different sharing models and choose a simple yet powerful sharing model. Based on the sharing model, Cerberus extends an enclave platform such that enclave memory can be made immutable and shareable across multiple enclaves via additional operations. We use incremental verification starting with an existing formal model called the Trusted Abstract Platform (TAP). Using our extended TAP model, we formally verify that Cerberus does not break or weaken the security guarantees of the enclaves despite allowing memory sharing. More specifically, we prove the Secure Remote Execution (SRE) property on our formal model. Finally, the paper shows the feasibility of Cerberus by implementing it in an existing enclave platform, RISC-V Keystone.