首页> 外文会议>IEEE Computer Security Foundations Symposium >Language Support for Secure Software Development with Enclaves
【24h】

Language Support for Secure Software Development with Enclaves

机译:语言支持COMPAVES的安全软件开发

获取原文

摘要

Confidential computing is a promising technology for securing code and data-in-use on untrusted host machines, e.g., the cloud. Many hardware vendors offer different implementations of Trusted Execution Environments (TEEs). A TEE is a hardware protected execution environment that allows performing confidential computations over sensitive data on untrusted hosts. Despite the appeal of achieving strong security guarantees against low-level attackers, two challenges hinder the adoption of TEEs. First, developing software in high-level managed languages, e.g., Java or Scala, taking advantage of existing TEEs is complex and error-prone. Second, partitioning an application into components that run inside and outside a TEE may break application-level security policies, resulting in an insecure application when facing a realistic attacker. In this work, we study both these challenges. We present JE, a programming model that seamlessly integrates a TEE, abstracting away low-level programming details such as initialization and loading of data into the TEE. JE only requires developers to add annotations to their programs to enable the execution within the TEE. Drawing on information flow control, we develop a security type system that checks confidentiality and integrity policies against realistic attackers with full control over the code running outside the TEE. We formalize the security type system for the JE core and prove it sound for a semantic characterization of security. We implement JE and the security type system, enable Java programs to run on Intel SGX with strong security guarantees. We evaluate our approach on use cases from the literature, including a battleship game, a secure event processing system, and a popular processing framework for big data, showing that we correctly handle complex cases of partitioning, information flow, declassification, and trust.
机译:机密计算是一个有希望的技术,用于保护代码和数据在不受信任的主机上使用,例如云。许多硬件供应商提供了可信任执行环境(TEES)的不同实现。 TEE是一个硬件保护的执行环境,允许在不受信任的主机上执行关于敏感数据的机密计算。尽管对低级别攻击者实现了强大的安全保障,但两个挑战阻碍了T恤的采用。首先,在高级托管语言中开发软件,例如Java或Scala,利用现有T恤是复杂的并且容易出错。其次,将应用程序分区到TEE内外运行的组件可能会破坏应用程序级安全策略,从而在面向逼真的攻击者时产生不安全的应用程序。在这项工作中,我们研究了这些挑战。我们展示了J. E ,一种无缝集成TEE的编程模型,摘要远离低级编程细节,如初始化和加载到TEE中。 j E 只需要开发人员向他们的程序添加注释,以便在T恤中执行执行。绘制信息流控制,我们开发了一种安全型系统,该系统检查机密性和完整性策略,以完全控制TEE外部运行的代码。我们正式化J的安全型系统 E 核心并证明它对安全性表征的声音。我们实施J. E 和安全类型系统,启用Java程序以在Intel SGX上运行,具有强烈的安全保证。我们评估我们对文献的使用情况的方法,包括战舰游戏,安全事件处理系统以及大数据的流行处理框架,显示我们正确处理了分区,信息流,解密和信任的复杂案例。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号