Faulty Point Unit: ABI Poisoning Attacks on Trusted Execution Environments

被引:2
作者
Alder, Fritz [1 ]
Van Bulck, Jo [1 ]
Spielman, Jesse [2 ]
Oswald, David [2 ]
Piessens, Frank [1 ]
机构
[1] Katholieke Univ Leuven, imec DistriNet, Celestijnenlaan 200A Bus 2402, B-3001 Leuven, Belgium
[2] Univ Birmingham, Birmingham, W Midlands, England
来源
DIGITAL THREATS: RESEARCH AND PRACTICE | 2022年 / 3卷 / 02期
基金
比利时弗兰德研究基金会; 英国工程与自然科学研究理事会;
关键词
Trusted execution; Intel SGX; FPU; ABI; side channels;
D O I
10.1145/3491264
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
This article analyzes a previously overlooked attack surface that allows unprivileged adversaries to impact floating-point computations in enclaves through the Application Binary Interface (ABI). In a comprehensive study across 7 industry-standard and research enclave shielding runtimes for Intel Software Guard Extensions (SGX), we show that control and state registers of the x87 Floating-Point Unit (FPU) and Intel Streaming SIMD Extensions are not always properly sanitized on enclave entry. We furthermore show that this attack goes beyond the x86 architecture and can also affect RISC-V enclaves. Focusing on SGX, we abuse the adversary's control over precision and rounding modes as an ABI fault injection primitive to corrupt enclaved floating-point operations. Our analysis reveals that this is especially relevant for applications that use the older x87 FPU, which is still under certain conditions used by modern compilers. We exemplify the potential impact of ABI quality-degradation attacks for enclaved machine learning and for the SPEC benchmarks. We then explore the impact on confidentiality, showing that control over exception masks can be abused as a controlled channel to recover enclaved multiplication operands. Our findings, affecting 5 of 7 studied SGX runtimes and one RISC-V runtime, demonstrate the challenges of implementing high-assurance trusted execution across computing architectures.
引用
收藏
页数:26
相关论文
共 63 条
  • [1] S-FaaS: Trustworthy and Accountable Function-as-a-Service using Intel SGX
    Alder, Fritz
    Asokan, N.
    Kurnikov, Arseny
    Paverd, Andrew
    Steiner, Michael
    [J]. CCSW'19: PROCEEDINGS OF THE 2019 ACM SIGSAC CONFERENCE ON CLOUD COMPUTING SECURITY WORKSHOP, 2019, : 185 - 199
  • [2] [Anonymous], 2014, ConvNetJS: Deep Learning in your browser
  • [3] [Anonymous], Data-in-use protection on IBM Cloud using Intel SGX
  • [4] Guardian: Symbolic Validation of Orderliness in SGX Enclaves
    Antonino, Pedro
    Woloszyn, Wojciech Aleksander
    Roscoe, A. W.
    [J]. PROCEEDINGS OF THE 2021 CLOUD COMPUTING SECURITY WORKSHOP, CCSW 2021, 2021, : 111 - 122
  • [5] ARM, 2021, ARM DDI 0487G.a
  • [6] ARM, 2021, FPSCR, the Floatingpoint Status and Control Register
  • [7] Bahmani R, 2021, PROCEEDINGS OF THE 30TH USENIX SECURITY SYMPOSIUM, P1073
  • [8] Shielding Applications from an Untrusted Cloud with Haven
    Baumann, Andrew
    Peinado, Marcus
    Hunt, Galen
    [J]. ACM TRANSACTIONS ON COMPUTER SYSTEMS, 2015, 33 (03):
  • [9] Biondo A, 2018, PROCEEDINGS OF THE 27TH USENIX SECURITY SYMPOSIUM, P1213
  • [10] Bulck J. V., 2017, SYSTEX