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 条
  • [31] 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,
  • [32] Making Malory Behave Maliciously: Targeted Fuzzing of Android Execution Environments
    Rasthofer, Siegfried
    Arzt, Steven
    Triller, Stefan
    Pradel, Michael
    2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2017, : 300 - 311
  • [33] 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
  • [34] 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
  • [35] How trusted execution environments fuel research on microarchitectural attacks
    Schwarz, Michael
    Gruss, Daniel
    IEEE Security and Privacy, 2020, 18 (05): : 18 - 27
  • [36] Profiling with trust: system monitoring from trusted execution environments
    Christian Eichler
    Jonas Röckl
    Benedikt Jung
    Ralph Schlenk
    Tilo Müller
    Timo Hönig
    Design Automation for Embedded Systems, 2024, 28 : 23 - 44
  • [37] Universal Trusted Execution Environments for Securing SDN/NFV Operations
    Lefebvre, Vincent
    Santinelli, Gianni
    Mueller, Tilo
    Goetzfried, Johannes
    13TH INTERNATIONAL CONFERENCE ON AVAILABILITY, RELIABILITY AND SECURITY (ARES 2018), 2019,
  • [38] Profiling with trust: system monitoring from trusted execution environments
    Eichler, Christian
    Roeckl, Jonas
    Jung, Benedikt
    Schlenk, Ralph
    Mueller, Tilo
    Hoenig, Timo
    DESIGN AUTOMATION FOR EMBEDDED SYSTEMS, 2024, 28 (01) : 23 - 44
  • [39] Trusted Execution Environments for Telecoms: Strengths, Weaknesses, Opportunities, and Threats
    Lacoste, Marc
    Lefebvre, Vincent
    IEEE SECURITY & PRIVACY, 2023, 21 (03) : 37 - 46
  • [40] A Secure IIoT Gateway Architecture based on Trusted Execution Environments
    Froehlich, Antonio Augusto
    Horstmann, Leonardo Passig
    Hoffmann, Jose Luis Conradi
    JOURNAL OF NETWORK AND SYSTEMS MANAGEMENT, 2023, 31 (02)