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 条
  • [1] RPC Based Framework for Partitioning IoT Security Software for Trusted Execution Environments
    Fischer, Thomas
    Lesjak, Christian
    Pirker, Dominic
    Steger, Christian
    2019 IEEE 10TH ANNUAL INFORMATION TECHNOLOGY, ELECTRONICS AND MOBILE COMMUNICATION CONFERENCE (IEMCON), 2019, : 430 - 435
  • [2] Automated Partitioning of Android Applications for Trusted Execution Environments
    Rubinov, Konstantin
    Rosculete, Lucia
    Mitra, Tulika
    Roychoudhury, Abhik
    2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2016, : 923 - 934
  • [3] Keystone: An Open Framework for Architecting Trusted Execution Environments
    Lee, Dayeol
    Kohlbrenner, David
    Shinde, Shweta
    Asanovic, Krste
    Song, Dawn
    PROCEEDINGS OF THE FIFTEENTH EUROPEAN CONFERENCE ON COMPUTER SYSTEMS (EUROSYS'20), 2020,
  • [4] A Framework for Privacy-Preserving Genomic Data Analysis Using Trusted Execution Environments
    Asvadishirehjini, Aref
    Kantarcioglu, Murat
    Malin, Bradley
    2020 SECOND IEEE INTERNATIONAL CONFERENCE ON TRUST, PRIVACY AND SECURITY IN INTELLIGENT SYSTEMS AND APPLICATIONS (TPS-ISA 2020), 2020, : 138 - 147
  • [5] Obscuro: A Bitcoin Mixer using Trusted Execution Environments
    Tran, Muoi
    Luu, Loi
    Kang, Min Suk
    Bentov, Iddo
    Saxena, Prateek
    34TH ANNUAL COMPUTER SECURITY APPLICATIONS CONFERENCE (ACSAC 2018), 2018, : 692 - 701
  • [6] DELEGATEE: Brokered Delegation Using Trusted Execution Environments
    Matetic, Sinisa
    Schneider, Moritz
    Miller, Andrew
    Juels, Ari
    Capkun, Srdjan
    PROCEEDINGS OF THE 27TH USENIX SECURITY SYMPOSIUM, 2018, : 1387 - 1403
  • [7] TEEFuzzer: A fuzzing framework for trusted execution environments with heuristic seed mutation
    Duan, Guoyun
    Fu, Yuanzhi
    Zhang, Boyang
    Deng, Peiyao
    Sun, Jianhua
    Chen, Hao
    Chen, Zhiwen
    FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2023, 144 : 192 - 204
  • [8] SafeKeeper: Protecting Web Passwords using Trusted Execution Environments
    Krawiecka, Klaudia
    Kurnikov, Arseny
    Paverd, Andrew
    Mannan, Mohammad
    Asokan, N.
    WEB CONFERENCE 2018: PROCEEDINGS OF THE WORLD WIDE WEB CONFERENCE (WWW2018), 2018, : 349 - 358
  • [9] Graviton: Trusted Execution Environments on GPUs
    Volos, Stavros
    Vaswani, Kapil
    Bruno, Rodrigo
    PROCEEDINGS OF THE 13TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, 2018, : 681 - 696
  • [10] Secure and Efficient Mobile DNN Using Trusted Execution Environments
    Hu, Bin
    Wang, Yan
    Cheng, Jerry
    Zhao, Tianming
    Xie, Yucheng
    Guo, Xiaonan
    Chen, Yingying
    PROCEEDINGS OF THE 2023 ACM ASIA CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, ASIA CCS 2023, 2023, : 274 - 285