Automatically Generating Secure Wrappers for SGX Enclaves from Separation Logic Specifications

被引:6
|
作者
van Ginkel, Neline [1 ]
Strackx, Raoul [1 ]
Piessens, Frank [1 ]
机构
[1] Katholieke Univ Leuven, Imec DistriNet, Leuven, Belgium
基金
比利时弗兰德研究基金会;
关键词
D O I
10.1007/978-3-319-71237-6_6
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Intel Software Guard Extensions (SGX) is a recent technology from Intel that makes it possible to execute security-critical parts of an application in a so-called SGX enclave, an isolated area of the system that is shielded from all other software (including the OS and/or hypervisor). SGX was designed with the objective of making it relatively straightforward to take a single module of an existing C application, and put that module in an enclave. The SGX SDK includes tooling to semi-automatically generate wrappers for an enclaved C module. The wrapped enclave can then easily be linked to the legacy application that uses the module. However, when the enclaved module and the surrounding application share a part of the heap and exchange pointers (a very common case in C programs), the generation of these wrappers requires programmer annotations and is error-prone - it is easy to introduce security vulnerabilities or program crashes. This paper proposes a separation logic based language for specifying the interface of the enclaved C module, and shows how such an interface specification can be used to automatically generate secure wrappers that avoid these vulnerabilities and crashes.
引用
收藏
页码:105 / 123
页数:19
相关论文
共 9 条
  • [1] Automatically generating tree adjoining grammars from abstract specifications
    Xia, F
    Palmer, M
    Vijay-Shanker, K
    [J]. COMPUTATIONAL INTELLIGENCE, 2005, 21 (03) : 246 - 285
  • [2] Automatically generating C++ programs from LOTOS behavior specifications
    Kim, C
    Kim, K
    Jeong, C
    Oh, Y
    [J]. 1998 ASIA PACIFIC SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 1998, : 54 - 60
  • [3] Automatically Generating Precise Oracles from Structured Natural Language Specifications
    Motwani, Manish
    Brun, Yuriy
    [J]. 2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2019), 2019, : 188 - 199
  • [4] Theorems for Free from Separation Logic Specifications
    Birkedal, Lars
    Dinsdale-Young, Thomas
    Gueneau, Armael
    Jaber, Guilhem
    Svendsen, Kasper
    Tzevelekos, Nikos
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5
  • [5] ProtoGen: Automatically Generating Directory Cache Coherence Protocols from Atomic Specifications
    Oswald, Nicolai
    Nagarajan, Vijay
    Sorin, Daniel J.
    [J]. 2018 ACM/IEEE 45TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA), 2018, : 247 - 260
  • [6] Generating online test oracles from temporal logic specifications
    John Håkansson
    Bengt Jonsson
    Ola Lundqvist
    [J]. International Journal on Software Tools for Technology Transfer, 2003, 4 (4) : 456 - 471
  • [7] Formal techniques for automatically generating marshalling code from high-level specifications
    Dietz, P
    Weigert, T
    Weil, F
    [J]. 2ND IEEE WORKSHOP ON INDUSTRIAL STRENGTH FORMAL SPECIFICATION TECHNIQUES - PROCEEDINGS, 1999, : 40 - 47
  • [8] GENERATING TEST CASES FOR REAL-TIME SYSTEMS FROM LOGIC SPECIFICATIONS
    MANDRIOLI, D
    MORASCA, S
    MORZENTI, A
    [J]. ACM TRANSACTIONS ON COMPUTER SYSTEMS, 1995, 13 (04): : 365 - 398
  • [9] Automatically Generating a MEP Logic Chain from Building Information Models with Identification Rules
    Xiao, Ya-Qi
    Li, Sun-Wei
    Hu, Zhen-Zhong
    [J]. APPLIED SCIENCES-BASEL, 2019, 9 (11):