Fuzzing trusted execution environments with Rust

被引:0
|
作者
Blinowski, Grzegorz [1 ]
Szaknis, Michal [2 ]
机构
[1] Warsaw Univ Technol, Inst Comp Sci, Nowowiejska 15 19, PL-00665 Warsaw, Poland
[2] Samsung R&D Inst Poland, Pl Europejski 1, PL-00844 Warsaw, Poland
关键词
Operating Systems Security; Operating System Fuzzing; Trusted Execution Environments; Rust;
D O I
10.1016/j.cose.2024.104196
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Fuzzing, a software testing technique, aims to uncover bugs by subjecting the target program to random inputs, thus discerning abnormal program behaviors such as crashes. In this paper, we present the design and implementation of a fuzzing framework designed to test TEEs (Trusted Execution Environment). Our framework leverages established software tools in a novel way: (1) We employ the Rust programming language in a two-way code generator: to translate fuzzer output to a sequence of system calls and in a "reverse translation" process, where sample code snippets are used to seed the fuzzer - a single API specification suffices for both endeavors; (2) Our fuzzer exhibits the ability to iteratively traverse the API's specification, scrutinize object dependencies, and judiciously reuse objects. These features significantly amplify its bug-finding prowess. (3) A versatile Rust proc macro mechanism is used to process the API specification. The fuzzer's code is built with the Rust compiler sans the necessity for additional specialized tools. (4) To enable the efficient stateful execution of TEEs, we have tailored the QEMU system emulator accordingly. To verify the usability and performance of our fuzzer, and to test various configuration options we conducted a series of tests with a popular open-source OP-TEE trusted operating system.
引用
收藏
页数:14
相关论文
共 50 条
  • [1] 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
  • [2] 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
  • [3] Building Open Trusted Execution Environments
    Kohlbrenner, David
    Shinde, Shweta
    Lee, Dayeol
    Asanovic, Krste
    Song, Dawn
    IEEE SECURITY & PRIVACY, 2020, 18 (05) : 47 - 56
  • [4] MultiTEE: Distributing Trusted Execution Environments
    Ott, Simon
    Orthen, Benjamin
    Weidinger, Alexander
    Horsch, Julian
    Nayani, Vijayanand
    Ekberg, Jan-Erik
    PROCEEDINGS OF THE 19TH ACM ASIA CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, ACM ASIACCS 2024, 2024, : 1617 - 1629
  • [5] A survey on the (in)security of trusted execution environments
    Munoz, Antonio
    Rios, Ruben
    Roman, Rodrigo
    Lopez, Javier
    COMPUTERS & SECURITY, 2023, 129
  • [6] Towards Modular Trusted Execution Environments
    Weinhold, Carsten
    Asmussen, Nils
    Goehringer, Diana
    Roitzsch, Michael
    PROCEEDINGS OF THE 2023 6TH WORKSHOP ON SYSTEM SOFTWARE FOR TRUSTED EXECUTION, SYSTEX 2023, 2023, : 10 - 16
  • [7] Bug detection in embedded environments by fuzzing and symbolic execution
    Vijtiuk, Juraj
    Perkov, Luka
    Krog, Antonio
    2020 43RD INTERNATIONAL CONVENTION ON INFORMATION, COMMUNICATION AND ELECTRONIC TECHNOLOGY (MIPRO 2020), 2020, : 1218 - 1223
  • [8] sNPU: Trusted Execution Environments on Integrated NPUs
    Feng, Erhu
    Feng, Dahu
    Du, Dong
    Xia, Yubin
    Chen, Haibo
    2024 ACM/IEEE 51ST ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, ISCA 2024, 2024, : 708 - 723
  • [9] Attestation Mechanisms for Trusted Execution Environments Demystified
    James, Menetrey
    Gottel, Christian
    Khurshid, Anum
    Pasin, Marcelo
    Felber, Pascal
    Schiavoni, Valerio
    Raza, Shahid
    DISTRIBUTED APPLICATIONS AND INTEROPERABLE SYSTEMS (DAIS 2022), 2022, 13272 : 95 - 113
  • [10] Quantitative and Qualitative Investigations into Trusted Execution Environments
    Karl, Ryan
    SECURITY AND PRIVACY IN COMMUNICATION NETWORKS, SECURECOMM 2021, PT II, 2021, 399 : 372 - 383