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 条
  • [31] On (the Lack of) Code Confidentiality in Trusted Execution Environments
    Puddu, Ivan
    Schneider, Moritz
    Lain, Daniele
    Boschetto, Stefano
    Capkun, Srdjan
    45TH IEEE SYMPOSIUM ON SECURITY AND PRIVACY, SP 2024, 2024, : 4125 - 4142
  • [32] MATEE: Multimodal Attestation for Trusted Execution Environments
    Galanou, Anna
    Gregor, Franz
    Kapitza, Ruediger
    Fetzer, Christof
    PROCEEDINGS OF THE TWENTY-THIRD ACM/IFIP INTERNATIONAL MIDDLEWARE CONFERENCE, MIDDLEWARE 2022, 2022, : 121 - 134
  • [33] Lightweight Mobile Clients Privacy Protection Using Trusted Execution Environments for Blockchain
    Cheng, Jieren
    Li, Jun
    Xiong, Naixue
    Chen, Meizhu
    Guo, Hao
    Yao, Xinzhi
    CMC-COMPUTERS MATERIALS & CONTINUA, 2020, 65 (03): : 2247 - 2262
  • [34] Enhancing Security and Privacy of Tor's Ecosystem by using Trusted Execution Environments
    Kim, Seongmin
    Han, Juhyeng
    Ha, Jaehyung
    Kim, Taesoo
    Han, Dongsu
    PROCEEDINGS OF NSDI '17: 14TH USENIX SYMPOSIUM ON NETWORKED SYSTEMS DESIGN AND IMPLEMENTATION, 2017, : 145 - 161
  • [35] Rollback and Forking Detection for Trusted Execution Environments using Lightweight Collective Memory
    Brandenburger, Marcus
    Cachin, Christian
    Lorenz, Matthias
    Kapitza, Ruediger
    2017 47TH ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS (DSN), 2017, : 157 - 168
  • [36] Establishing Mutually Trusted Channels for Remote Sensing Devices with Trusted Execution Environments
    Shepherd, Carlton
    Akram, Raja Naeem
    Markantonakis, Konstantinos
    PROCEEDINGS OF THE 12TH INTERNATIONAL CONFERENCE ON AVAILABILITY, RELIABILITY AND SECURITY (ARES 2017), 2017,
  • [37] Cracking-Like Join for Trusted Execution Environments
    Maliszewski, Kajetan
    Quiane-Ruiz, Jorge-Arnulfo
    Markl, Volker
    PROCEEDINGS OF THE VLDB ENDOWMENT, 2023, 16 (09): : 2330 - 2343
  • [38] TEE-Perf: A Profiler for Trusted Execution Environments
    Bailleu, Maurice
    Dragoti, Donald
    Bhatotia, Pramod
    Fetzer, Christof
    2019 49TH ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS (DSN 2019), 2019, : 414 - 421
  • [39] Information Flow Control for Distributed Trusted Execution Environments
    Gollamudi, Anitha
    Chong, Stephen
    Arden, Owen
    2019 IEEE 32ND COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF 2019), 2019, : 304 - 318
  • [40] On Making Emerging Trusted Execution Environments Accessible to Developers
    Nyman, Thomas
    McGillion, Brian
    Asokan, N.
    TRUST AND TRUSTWORTHY COMPUTING, TRUST 2015, 2015, 9229 : 58 - 67