A framework for application partitioning using trusted execution environments

被引:2
|
作者
Atamli-Reineh, Ahmad [1 ]
Paverd, Andrew [2 ]
Petracca, Giuseppe [3 ]
Martin, Andrew [1 ]
机构
[1] Univ Oxford, Dept Comp Sci, Oxford, England
[2] Aalto Univ, Dept Comp Sci, Espoo, Finland
[3] Penn State Univ, Dept Comp Sci & Engn, State Coll, PA USA
来源
关键词
SGX; software vulnerabilities; hardware security; trusted execution environment; ADVERSARY MODEL; PROTECTION; PERMISSIONS; DEVICES;
D O I
10.1002/cpe.4130
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The size and complexity of modern applications are the underlying causes of numerous security vulnerabilities. In order to mitigate the risks arising from such vulnerabilities, various techniques have been proposed to isolate the execution of sensitive code from the rest of the application and from other software on the platform (such as the operating system). New technologies, notably Intel's Software Guard Extensions (SGX), are becoming available to enhance the security of partitioned applications. SGX provides a trusted execution environment (TEE), called an enclave, that protects the integrity of the code and the confidentiality of the data inside it from other software, including the operating system (OS). However, even with these partitioning techniques, it is not immediately clear exactly how they can and should be used to partition applications. How should a particular application be partitioned? How many TEEs should be used? What granularity of partitioning should be applied? To some extent, this is dependent on the capabilities and performance of the partitioning technology in use. However, as partitioning becomes increasingly common, there is a need for systematisation in the design of partitioning schemes. To address this need, we present a novel framework consisting of four overarching types of partitioning schemes through which applications can make use of TEEs. These schemes range from coarse-grained partitioning, in which the whole application is included in a single TEE, through to ultra-fine partitioning, in which each piece of security-sensitive code and data is protected in an individual TEE. Although partitioning schemes themselves are application specific, we establish application-independent relationships between the types we have defined. Because these relationships have an impact on both the security and performance of the partitioning scheme, we envisage that our framework can be used by software architects to guide the design of application partitioning schemes. To demonstrate the applicability of our framework, we have carried out case studies on two widely used software packages, the Apache Web server and the OpenSSL library. In each case study, we provide four high-level partitioning schemesone for each of the types in our framework. We also systematically review the related work on hardware-enforced partitioning by categorising previous research efforts according to our framework. Copyright (c) 2017 John Wiley & Sons, Ltd.
引用
收藏
页数:23
相关论文
共 50 条
  • [21] Trustworthy Distributed Computations on Personal Data Using Trusted Execution Environments
    Ladjel, Riad
    Anciaux, Nicolas
    Pucheral, Philippe
    Scerri, Guillaume
    2019 18TH IEEE INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS/13TH IEEE INTERNATIONAL CONFERENCE ON BIG DATA SCIENCE AND ENGINEERING (TRUSTCOM/BIGDATASE 2019), 2019, : 381 - 388
  • [22] Towards Trained Model Confidentiality and Integrity Using Trusted Execution Environments
    Nakai, Tsunato
    Suzuki, Daisuke
    Fujino, Takeshi
    APPLIED CRYPTOGRAPHY AND NETWORK SECURITY WORKSHOPS, ACNS 2021, 2021, 12809 : 151 - 168
  • [23] SECAUCTEE: Securing Auction Smart Contracts using Trusted Execution Environments
    Desai, Harsh
    Kantarcioglu, Murat
    2021 IEEE INTERNATIONAL CONFERENCE ON BLOCKCHAIN (BLOCKCHAIN 2021), 2021, : 448 - 455
  • [24] sNPU: Trusted Execution Environments on Integrated NPUs
    Feng, Erhu
    Feng, Dahu
    Du, Dong
    Xia, Yubin
    Chen, Haibo
    2024 ACM/IEEE 51ST ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, ISCA 2024, 2024, : 708 - 723
  • [25] Attestation Mechanisms for Trusted Execution Environments Demystified
    James, Menetrey
    Gottel, Christian
    Khurshid, Anum
    Pasin, Marcelo
    Felber, Pascal
    Schiavoni, Valerio
    Raza, Shahid
    DISTRIBUTED APPLICATIONS AND INTEROPERABLE SYSTEMS (DAIS 2022), 2022, 13272 : 95 - 113
  • [26] Quantitative and Qualitative Investigations into Trusted Execution Environments
    Karl, Ryan
    SECURITY AND PRIVACY IN COMMUNICATION NETWORKS, SECURECOMM 2021, PT II, 2021, 399 : 372 - 383
  • [27] HasTEE: Programming Trusted Execution Environments with Haskell
    Sarkar, Abhiroop
    Krook, Robert
    Russo, Alejandro
    Claessen, Koen
    PROCEEDINGS OF THE 16TH ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON HASKELL, HASKELL 2023, 2023, : 72 - 88
  • [28] Key Attestation from Trusted Execution Environments
    Kostiainen, Kari
    Dmitrienko, Alexandra
    Ekberg, Jan-Erik
    Sadeghi, Ahmad-Reza
    Asokan, N.
    TRUST AND TRUSTWORTHY COMPUTING, PROCEEDINGS, 2010, 6101 : 30 - +
  • [29] Trusted Execution Environments: Applications and Organizational Challenges
    Geppert, Tim
    Deml, Stefan
    Sturzenegger, David
    Ebert, Nico
    FRONTIERS IN COMPUTER SCIENCE, 2022, 4
  • [30] Trusted Execution Environments: Properties, Applications, and Challenges
    Jauernig, Patrick
    Sadeghi, Ahmad-Reza
    Stapf, Emmanuel
    IEEE SECURITY & PRIVACY, 2020, 18 (02) : 56 - 60