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 条
  • [41] SeRoT: A Secure Runtime System on Trusted Execution Environments
    Liu, Jingbin
    Qin, Yu
    Feng, Dengguo
    2020 IEEE 19TH INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS (TRUSTCOM 2020), 2020, : 30 - 37
  • [42] Remote Attestation Assurance Arguments for Trusted Execution Environments
    Usman, Ahmad B.
    Cole, Nigel
    Asplund, Mikael
    Boeira, Felipe
    Vestlund, Christian
    PROCEEDINGS OF THE 2023 ACM WORKSHOP ON SECURE AND TRUSTWORTHY CYBER-PHYSICAL SYSTEMS, SAT-CPS 2023, 2023, : 33 - 42
  • [43] The Untapped Potential of Trusted Execution Environments on Mobile Devices
    Ekberg, Jan-Erik
    Kostiainen, Kari
    Asokan, N.
    IEEE SECURITY & PRIVACY, 2014, 12 (04) : 29 - 37
  • [44] Fortress: Securing IoT Peripherals with Trusted Execution Environments
    Yuhala, Peterson
    Menetrey, James
    Felber, Pascal
    Pasin, Marcelo
    Schiavoni, Valerio
    39TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, SAC 2024, 2024, : 243 - 250
  • [45] BOOMERANG: Exploiting the Semantic Gap in Trusted Execution Environments
    Machiry, Aravind
    Gustafson, Eric
    Spensky, Chad
    Salls, Chris
    Stephens, Nick
    Wang, Ruoyu
    Bianchi, Antonio
    Choe, Yung Ryn
    Kruegel, Christopher
    Vigna, Giovanni
    24TH ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2017), 2017,
  • [46] IBBE-SGX: Cryptographic Group Access Control using Trusted Execution Environments
    Contiu, Stefan
    Pires, Rafael
    Vaucher, Sebastien
    Pasin, Marcelo
    Felber, Pascal
    Reveillere, Laurent
    2018 48TH ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS (DSN), 2018, : 207 - 218
  • [47] Blockchain Query Framework Based on Trusted Execution Environment
    Zhang, Yufan
    Wu, Yaojiang
    Wang, Junjie
    Liu, Bokun
    Liu, Aodi
    Chen, Xiaowei
    2024 5TH INTERNATIONAL CONFERENCE ON COMPUTING, NETWORKS AND INTERNET OF THINGS, CNIOT 2024, 2024, : 182 - 185
  • [48] Secure and Trusted Application Execution on Embedded Devices
    Markantonakis, Konstantinos
    Akram, Raja Naeem
    Msgna, Mehari G.
    INNOVATIVE SECURITY SOLUTIONS FOR INFORMATION TECHNOLOGY AND COMMUNICATIONS, 2015, 9522 : 3 - 24
  • [49] TOWARDS A GENERIC APPLICATION PARTITIONING AND RETRACTION FRAMEWORK FOR PERVASIVE ENVIRONMENTS
    Jungum, Nevin Vunka
    Mohamudally, Nawaz
    Nissanke, Nimal
    PROCEEDINGS OF THE 2011 3RD INTERNATIONAL CONFERENCE ON FUTURE COMPUTER AND COMMUNICATION (ICFCC 2011), 2011, : 259 - 267
  • [50] SYSTEMATIZATION OF TRUSTED I/O SOLUTIONS FOR ISOLATED EXECUTION ENVIRONMENTS
    Stancu, Florin-Alexandru
    Mircea, Alexandru-Alin
    Rughiniș, Răzvan
    Chiroiu, Mihai
    UPB Scientific Bulletin, Series C: Electrical Engineering and Computer Science, 2022, 84 (02): : 3 - 14