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 条
  • [21] Information Flow Control for Distributed Trusted Execution Environments
    Gollamudi, Anitha
    Chong, Stephen
    Arden, Owen
    2019 IEEE 32ND COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF 2019), 2019, : 304 - 318
  • [22] On Making Emerging Trusted Execution Environments Accessible to Developers
    Nyman, Thomas
    McGillion, Brian
    Asokan, N.
    TRUST AND TRUSTWORTHY COMPUTING, TRUST 2015, 2015, 9229 : 58 - 67
  • [23] 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
  • [24] 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,
  • [25] SeRoT: A Secure Runtime System on Trusted Execution Environments
    Liu, Jingbin
    Qin, Yu
    Feng, Dengguo
    2020 IEEE 19TH INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS (TRUSTCOM 2020), 2020, : 30 - 37
  • [26] Remote Attestation Assurance Arguments for Trusted Execution Environments
    Usman, Ahmad B.
    Cole, Nigel
    Asplund, Mikael
    Boeira, Felipe
    Vestlund, Christian
    PROCEEDINGS OF THE 2023 ACM WORKSHOP ON SECURE AND TRUSTWORTHY CYBER-PHYSICAL SYSTEMS, SAT-CPS 2023, 2023, : 33 - 42
  • [27] The Untapped Potential of Trusted Execution Environments on Mobile Devices
    Ekberg, Jan-Erik
    Kostiainen, Kari
    Asokan, N.
    IEEE SECURITY & PRIVACY, 2014, 12 (04) : 29 - 37
  • [28] 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
  • [29] A framework for application partitioning using trusted execution environments
    Atamli-Reineh, Ahmad
    Paverd, Andrew
    Petracca, Giuseppe
    Martin, Andrew
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2017, 29 (23):
  • [30] Fortress: Securing IoT Peripherals with Trusted Execution Environments
    Yuhala, Peterson
    Menetrey, James
    Felber, Pascal
    Pasin, Marcelo
    Schiavoni, Valerio
    39TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, SAC 2024, 2024, : 243 - 250