中文

内部之友或敌?探索通过进程内隔离维护不安全 Rust 的内存安全

密码学与安全 2025-10-09 v2 编程语言

摘要

Rust 是一种流行的内存安全系统编程语言。为与硬件交互或调用非 Rust 库,Rust 提供了“不安全(unsafe)”语言特性,将确保内存安全的责任转移给开发者。若未能做到,可能导致不安全代码中的内存安全违规,进而破坏整个应用的安全性。本工作中,我们探索使用内存保护密钥(Memory Protection Keys)的进程内隔离机制,以防护安全程序段免受不安全段中可能发生的安全违规影响。我们的方法易于使用且全面,可防止基于堆和栈的违规。我们进一步比较了基于进程和进程内的隔离机制,以及数据序列化、通信和上下文切换的必要需求。结果表明,进程内隔离高效且有效,允许高度自动化,并支持一种应用回滚机制,使安全程序段能够检测并安全处理不安全代码中的违规。

关键词

引用

@article{arxiv.2306.08127,
  title  = {Friend or Foe Inside? Exploring In-Process Isolation to Maintain Memory Safety for Unsafe Rust},
  author = {Merve Gülmez and Thomas Nyman and Christoph Baumann and Jan Tobias Mühlberg},
  journal= {arXiv preprint arXiv:2306.08127},
  year   = {2025}
}

备注

Author's version of manuscript to appear in 2023 IEEE Secure Development Conference (SecDev)