Asterinas:一个新的兼容 Linux 的内核项目

主要观点:Asterinas 是一个新的 Linux-ABI 兼容内核项目,用 Rust 编写,基于“帧内核架构”,旨在提高系统安全性同时保留单核内核的简单高效共享内存架构,与其他相关项目对比有不同特点,正努力实现形式化验证等目标,目前仍处于早期开发阶段。
关键信息:

  • “帧内核”概念:将需要 Rust 不安全特性的代码封装在库内,其余内核用安全抽象开发,服务在内核地址空间内但只能访问核心库给予的资源。
  • 相关工作:与 RedLeaf 等项目对比,Rust for Linux 项目目标相似但范围和方法不同。
  • 形式化验证:目标是使操作系统的 TCB 可形式化验证,Asterinas 与 CertiK 合作使用 Verus 进行验证。
  • 库和工具:有 OSTD 和 OSDK,OSTD 降低操作系统创新门槛等,支持 Intel 的 Trust Domain Extensions。
  • 当前状态:2024 年初发布,支持 x86 和 RISC-V 架构,有 206 个系统调用,处于早期开发,未运行应用,计划构建首个发行版。
  • 近期目标:扩展 CPU 架构和硬件支持,关注云环境中的实际可用性,聚焦中国云市场。

重要细节:

  • 传统单核内核将所有内容放在一个内核模式地址空间,微内核则在内核空间实现最小 TCB 并依赖用户模式服务,这种分离导致 IPC 影响性能。
  • Asterinas 博客文章解释了团队动机和内存安全问题,强调 Rust 的好处,提及即将在 2025 USENIX 年度技术会议上的展示。
  • 项目的更新和报告可在 Asterinas 博客和相关资料中获取,如 CertiK 对 Asterinas 的审计报告。
  • OSTD 是一个 Rust OS 框架,有四个目标,文档在 docs.rs 上,部分内核代码使用 OSTD 的安全 API。
  • 项目有多个贡献者,主要是中国的一些高校学生和公司,目前支持的架构和系统调用数量等情况。
阅读 9
0 条评论