Fidelius Charm: Isolating Unsafe Rust Code

被引:10
|
作者
Almohri, Hussain M. J. [1 ,2 ]
Evans, David [2 ]
机构
[1] Kuwait Univ, Dept Comp Sci, Kuwait, Kuwait
[2] Univ Virginia, Dept Comp Sci, Charlottesville, VA 22903 USA
基金
美国国家科学基金会;
关键词
Isolation; Rust; Compartmentalization; Sandboxing;
D O I
10.1145/3176258.3176330
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The Rust programming language has a safe memory model that promises to eliminate critical memory bugs. While the language is strong in doing so, its memory guarantees are lost when any unsafe blocks are used. Unsafe code is often needed to call library functions written in an unsafe language inside a Rust program. We present Fidelius Charm (FC), a system that protects a programmer-specified subset of data in memory from unauthorized access through vulnerable unsafe libraries. FC does this by limiting access to the program's memory while executing unsafe libraries. FC uses standard features of Rust and utilizes the Linux kernel as a trusted base for splitting the address space into a trusted privileged region under the control of functions written in Rust and a region available to unsafe external libraries. This paper presents our design and implementation of FC, presents two case studies for using FC in Rust TLS libraries, and reports on experiments showing its performance overhead is low for typical uses.
引用
收藏
页码:248 / 255
页数:8
相关论文
共 34 条
  • [31] TRUST: A Compilation Framework for In-process Isolation to Protect Safe Rust against Untrusted Code
    Bang, Inyoung
    Kayondo, Martin
    Moon, Hyungon
    Paek, Yunheung
    [J]. PROCEEDINGS OF THE 32ND USENIX SECURITY SYMPOSIUM, 2023, : 6947 - 6964
  • [32] Remote Monitoring Systems of Unsafe Software Execution using QR Code-based Power Consumption Profile for IoT Edge Devices
    Kang, Myeongjin
    Park, Daejin
    [J]. 2021 INTERNATIONAL CONFERENCE ON ELECTRONICS, INFORMATION, AND COMMUNICATION (ICEIC), 2021,
  • [33] Benchmarking the Parallel 1D Heat Equation Solver in Chapel, Charm++, C++, HPX, Go, Julia, Python, Rust, Swift, and Java
    Diehl, Patrick
    Brandt, Steven R.
    Morris, Max
    Gupta, Nikunj
    Kaiser, Hartmut
    [J]. arXiv, 2023,
  • [34] Benchmarking the Parallel 1D Heat Equation Solver in Chapel, Charm plus plus , C plus plus , HPX, Go, Julia, Python']Python, Rust, Swift, and Java']Java
    Diehl, Patrick
    Morris, Max
    Brandt, Steven R.
    Gupta, Nikunj
    Kaiser, Hartmut
    [J]. EURO-PAR 2023: PARALLEL PROCESSING WORKSHOPS, PT II, EURO-PAR 2023, 2024, 14352 : 127 - 138