论文标题

通过守门员获得从T恤中获得不受信任的服务的访问

Securing Access to Untrusted Services From TEEs with GateKeeper

论文作者

Orenbach, Meni, Raveh, Bar, Berkenstadt, Alon, Michalevsky, Yan, Itzhaky, Shachar, Silberstein, Mark

论文摘要

在受信任的执行环境(TEE)中运行的应用程序通常使用不信任的外部服务,例如主机文件系统。对手可能会恶意改变正常的服务行为,以触发在正确的服务操作下从未发生过的微妙应用程序错误,从而导致数据泄漏和违反完整性。不幸的是,现有的手动保护是不完整的,临时保护,而正式验证的手动保护需要特殊的专业知识。 我们介绍了Gatekeeper,这是一个框架,通过利用轻巧的不受信任服务的正式模型来开发缓解和漏洞检查器进行此类攻击。由于攻击被视为违反服务的功能正确性,看门人采用一种新颖的方法来开发服务的全面模型,而无需正式的方法专业知识。我们利用可用的测试套件通常用于服务开发中,以将模型收紧到已知的正确服务实现。 Gatekeeper使用结果模型自动生成(1)C中正确的运行时服务验证器,该验证器与受信任的应用程序链接,并守护每个服务调用以符合模型; (2)一个针对性的模型驱动漏洞检查器,用于分析黑框应用程序。 我们在英特尔SGX飞地上评估网守。我们开发了POSIX文件系统和操作系统同步原始词的全面模型,同时使用数千个现有的测试套件将其模型收紧到实际的Linux实现。我们生成验证器并将其与石墨烯-SGX集成,并成功保护未修改的内存和SQLite,并用可忽略不计的开销。生成的漏洞检查器检测到石墨烯-SGX保护层和生产应用中的新漏洞。

Applications running in Trusted Execution Environments (TEEs) commonly use untrusted external services such as host File System. Adversaries may maliciously alter the normal service behavior to trigger subtle application bugs that would have never occurred under correct service operation, causing data leaks and integrity violations. Unfortunately, existing manual protections are incomplete and ad-hoc, whereas formally-verified ones require special expertise. We introduce GateKeeper, a framework to develop mitigations and vulnerability checkers for such attacks by leveraging lightweight formal models of untrusted services. With the attack seen as a violation of a services' functional correctness, GateKeeper takes a novel approach to develop a comprehensive model of a service without requiring formal methods expertise. We harness available testing suites routinely used in service development to tighten the model to known correct service implementation. GateKeeper uses the resulting model to automatically generate (1) a correct-by-construction runtime service validator in C that is linked with a trusted application and guards each service invocation to conform to the model; and (2) a targeted model-driven vulnerability checker for analyzing black-box applications. We evaluate GateKeeper on Intel SGX enclaves. We develop comprehensive models of a POSIX file system and OS synchronization primitives while using thousands of existing test suites to tighten their models to the actual Linux implementations. We generate the validator and integrate it with Graphene-SGX, and successfully protect unmodified Memcached and SQLite with negligible overheads. The generated vulnerability checker detects novel vulnerabilities in the Graphene-SGX protection layer and production applications.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源