Friend or Foe Inside? Exploring In-Process Isolation to Maintain Memory Safety for Unsafe Rust

被引:1
|
作者
Gulmez, Merve [1 ,4 ]
Nyman, Thomas [2 ]
Baumann, Christoph [3 ]
Muhlberg, Jan Tobias [4 ,5 ]
机构
[1] Ericsson Secur Res Kista, Kista, Sweden
[2] Ericsson Prod Secur Kista, Kista, Sweden
[3] Ericsson Secur Res Kista, Kista, Sweden
[4] Katholieke Univ Leuven, Imec DistriNet, Leuven, Belgium
[5] Univ Libre Bruxelles, Brussels, Belgium
关键词
D O I
10.1109/SecDev56634.2023.00020
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Rust is a popular memory-safe systems programming language. In order to interact with hardware or call into non-Rust libraries, Rust provides unsafe language features that shift responsibility for ensuring memory safety to the developer. Failing to do so, may lead to memory-safety violations in unsafe code which can violate safety of the entire application. In this work we explore in-process isolation with Memory Protection Keys as a mechanism to shield safe program sections from safety violations that may happen in unsafe sections. Our approach is easy to use and comprehensive as it prevents heap and stack-based violations. We further compare process-based and inprocess isolation mechanisms and the necessary requirements for data serialization, communication, and context switching. Our results show that in-process isolation can be effective and efficient, permits for a high degree of automation, and also enables a notion of application rewinding where the safe program section may detect and safely handle violations in unsafe code.
引用
收藏
页码:54 / 66
页数:13
相关论文
共 5 条
  • [1] IMIX: In-Process Memory Isolation EXtension
    Frassetto, Tommaso
    Jauernig, Patrick
    Liebchen, Christopher
    Sadeghi, Ahmad-Reza
    PROCEEDINGS OF THE 27TH USENIX SECURITY SYMPOSIUM, 2018, : 83 - 97
  • [2] In-process Memory Isolation Using Hardware Watchpoint
    Jang, Jinsoo
    Kang, Brent Byunghoon
    PROCEEDINGS OF THE 2019 56TH ACM/EDAC/IEEE DESIGN AUTOMATION CONFERENCE (DAC), 2019,
  • [3] Exploring the Environmental Benefits of In-Process Isolation for Software Resilience
    Gulmez, Merve
    Nyman, Thomas
    Baumann, Christoph
    Muehlberg, Jan Tobias
    2023 53RD ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS - SUPPLEMENTAL VOLUME, DSN-S, 2023, : 203 - 205
  • [4] TRUST: A Compilation Framework for In-process Isolation to Protect Safe Rust against Untrusted Code
    Bang, Inyoung
    Kayondo, Martin
    Moon, Hyungon
    Paek, Yunheung
    PROCEEDINGS OF THE 32ND USENIX SECURITY SYMPOSIUM, 2023, : 6947 - 6964
  • [5] UnsafeCop: Towards Memory Safety for Real-World Unsafe Rust Code with Practical Bounded Model Checking
    Wane, Minghua
    Xue, Jingling
    Huang, Lin
    Zi, Yuan
    Wei, Tao
    FORMAL METHODS, PT II, FM 2024, 2025, 14934 : 307 - 324