Despite significant research and engineering efforts, many of today's important computer systems suffer from bugs. To increase the reliability of software systems, recent work has applied formal verification to certify the correctness of such systems, with recent successes including certified file systems and certified cryptographic protocols, albeit using quite different proof tactics and toolchains. Unifying these concepts, we present the first certified file system that uses cryptographic primitives to protect itself against tampering. Our certified file system defends against adversaries that might wish to tamper with the raw disk. Such an "untrusted storage" threat model captures the behavior of storage devices that might silently return erroneous bits as well as adversaries who might have limited access to a disk, perhaps while in transit. In this paper, we present IFSCQ, a certified cryptographic file system with strong integrity guarantees. IFSCQ combines and extends work on cryptographic file systems and formally certified file systems to prove that our design is correct. It is the first certified file system that is secure against strong adversaries that can maliciously corrupt on-disk data and metadata, including attempting to roll back the disk to earlier versions of valid data. IFSCQ achieves this by constructing a Merkle hash tree of the whole disk, and by proving that tampered disk blocks will always be detected if they ever occur. We demonstrate that IFSCQ runs with reasonable overhead while detecting several kinds of attacks.
翻译:尽管进行了大量的研究和工程努力,但当今许多重要的计算机系统仍受到错误的困扰。为了提高软件系统的可靠性,最近的工作已经应用了正式的核查来证明这些系统的正确性,最近取得了一些成功,包括认证的文档系统和认证的加密协议,尽管使用了完全不同的验证策略和工具链。我们将这些概念统一起来,提出了第一个使用加密原始软件保护自己不受篡改的认证文档系统。我们认证的文档系统保护了可能希望篡改原始磁盘的对手。这样的“不受信任的存储”威胁模型捕捉了储存装置的行为,这些装置可能默默地返回错误的比特以及可能限制进入磁盘的对手。在本文件中,我们介绍了一个认证的加密文件系统IFSCQ,这是一个有强烈完整性保证的认证的加密文件系统。IFSCQ合并和扩展了加密原始文件系统的工作,以证明我们的设计是正确的。这是第一个认证的文档系统,可以防止恶意腐蚀的强大对手在故障数据和元数据上的行为,包括试图将磁盘倒回到合理的磁盘上,也许在运输过程中会限制进入磁盘的对手,也许在过境中。我们总是能够验证整个磁盘的磁盘运行。