Skip to main content
QUICK REVIEW

[论文解读] BesFS: Mechanized Proof of an Iago-Safe Filesystem for Enclaves.

Shweta Shinde, Shengyi Wang|arXiv (Cornell University)|Jul 2, 2018
Security and Verification in Computing参考文献 3被引用 4
一句话总结

BesFS 是一个经过形式化验证的、抵御 Iago 攻击的 Intel SGX 本地程序文件系统 API,通过 3,676 行 Coq 脚本证明,可防止通过系统调用操纵实现的操作系统级别篡改。它在受信任应用程序中实现安全且表达性强的文件操作,同时将可信代码基(TCB)开销降至最低(少于 750 行代码),消除已知缺陷,并可作为 Iago 安全性的测试基准。

ABSTRACT

New trusted computing primitives such as Intel SGX have shown the feasibility of running user-level applications in enclaves on a commodity trusted processor without trusting a large OS. However, the OS can compromise the integrity of the applications via the system call interface by tampering the return values. This class of attacks (commonly referred to as Iago attacks) have been shown to be powerful enough to execute arbitrary logic in enclave programs. To this end, we present BesFS -- a formal and provably Iago-safe API specification for the filesystem subset of the POSIX interface. We prove 118 lemmas and 2 key theorems in 3676 lines of CoQ proof scripts, which directly proves safety properties of BesFS implementation. BesFS API is expressive enough to support 17 real applications we test, and this principled approach eliminates several bugs. BesFS integrates into existing SGX-enabled applications with minimal impact to TCB (less than 750 LOC), and it can serve as concrete test oracle for other hand-coded Iago-safety checks.

研究动机与目标

  • 解决 Iago 攻击在 SGX 环境中通过操纵系统调用返回值破坏本地程序完整性的问题。
  • 设计一个可形式化证明 Iago 安全的文件系统 API,同时保持对真实世界应用的表达能力。
  • 在确保安全属性形式化验证的前提下,最小化可信代码基(TCB)。
  • 为验证其他 SGX 应用中的 Iago 安全机制提供一个具体的测试基准。

提出的方法

  • 使用 Coq 对 POSIX 接口的文件系统子集进行形式化规格说明,通过构造确保 Iago 安全性。
  • 在 3,676 行 Coq 代码上机械证明 118 个引理和 2 个关键定理,以验证安全属性。
  • 设计一个支持 17 个真实应用的 API,同时抵御操作系统对系统调用返回值的操纵。
  • 通过极小的 TCB 扩展(少于 750 行代码)集成到现有 SGX 应用中。
  • 使用形式化方法消除因手写 Iago 安全检查而引入的实现错误。

实验结果

研究问题

  • RQ1能否构建一个经过形式化验证的文件系统 API,使其在 SGX 本地程序中可证明具备 Iago 安全性?
  • RQ2此类文件系统在确保抵御系统调用篡改的同时,能在多大程度上保持表达能力?
  • RQ3在支持实际应用和形式化验证的前提下,可信代码基最小可以多小?
  • RQ4该形式化规格说明能否作为其他 Iago 安全机制的测试基准?

主要发现

  • 作者使用 3,676 行 Coq 证明脚本,形式化验证了 118 个引理和 2 个关键定理,为 BesFS 建立了强大的安全保证。
  • BesFS 支持 17 个真实世界应用,证明其在类似生产环境中的实际表达能力和可行性。
  • BesFS 的可信代码基少于 750 行代码,显著缩小了 SGX 环境中的攻击面。
  • 形式化规格成功消除了手写 Iago 安全机制中存在的一些已知缺陷。
  • BesFS 可作为验证其他 SGX 应用中 Iago 安全检查的可靠测试基准。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。