Fidelius Charm: Isolating Unsafe Rust Code

被引:14
作者
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
来源
PROCEEDINGS OF THE EIGHTH ACM CONFERENCE ON DATA AND APPLICATION SECURITY AND PRIVACY (CODASPY'18) | 2018年
基金
美国国家科学基金会;
关键词
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
相关论文
共 30 条
  • [1] Process Authentication for High System Assurance
    Almohri, Hussain M. J.
    Yao, Danfeng
    Kafura, Dennis
    [J]. IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, 2014, 11 (02) : 168 - 180
  • [2] [Anonymous], P ACM PROGR LANG POP
  • [3] Banga G, 1999, USENIX ASSOCIATION PROCEEDINGS OF THE THIRD SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION (OSDI '99), P45
  • [4] Bittau A., 2008, P 5 S NETWORK SYST D, P309
  • [5] Brumley David, 2004, USENIX SEC S
  • [6] DataShield: Configurable Data Confidentiality and Integrity
    Carr, Scott A.
    Payer, Mathias
    [J]. PROCEEDINGS OF THE 2017 ACM ASIA CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY (ASIA CCS'17), 2017, : 193 - 204
  • [7] SHARING AND PROTECTION IN A SINGLE-ADDRESS-SPACE OPERATING SYSTEM
    CHASE, JS
    LEVY, HM
    FEELEY, MJ
    LAZOWSKA, ED
    [J]. ACM TRANSACTIONS ON COMPUTER SYSTEMS, 1994, 12 (04): : 271 - 307
  • [8] Shreds: Fine-grained Execution Units with Private Memory
    Chen, Yaohui
    Reymondjohnson, Sebassujeen
    Sun, Zhichuang
    Lu, Long
    [J]. 2016 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP), 2016, : 56 - 71
  • [9] El Hajj Izzat, 2016, ASPLOS
  • [10] Ford Bryan., 2008, USENIX 2008 ANN TECH, P293