Rust重写万物?
互联网安全研究小组 (ISRG) 的 Prossimo 项目正在用 Rust 重写 sudo 和 su,目标是提升它们在内存方面的安全性,确保它们不再遭受内存安全漏洞的困扰,并进一步增强 Linux 和开源生态系统的安全性。
据介绍,Prossimo 对于选择的软件会重点关注以下方面:
-
使用非常广泛(几乎每个服务器 / 客户端都在使用)
-
被应用于重要的安全边界
-
执行关键功能
-
是否使用了内存不安全的语言编写(例如 C、C++、asm)
而 sudo 刚好满足了上面的情况,因此 Prossimo 决定保护这款最关键的软件,尤其是避免内存安全漏洞。
根据项目主页的信息,亚马逊 AWS 为此次“Rust 重写 sudo”计划提供了资金支持。
sudo(substitute user [或 superuser] do),是一种计算机程序,用于类 Unix 操作系统如 BSD、Mac OS X/macOS 以及 GNU/Linux,该计算机程序可以让用户以安全的方式使用特定的权限执行程序(通常为操作系统的超级用户)。
它最早开发于 1980 年代。几十年来,sudo 已成为执行更改同时最大程度降低操作系统风险的重要工具。
但因为它是用 C 编写的,所以 sudo 经历了很多与内存安全问题相关的漏洞。为了确保关键软件的安全性,防止内存安全漏洞,由 AWS 资助的 Ferrous Systems 和 Tweede Golf 正在联合将 sudo 和 su 从 C 移植到 Rust。
该项目现在托管在 GitHub:
https://github.com/memorysafety/sudo-rs
这项工作从去年 12 月开始,计划于 2023 年 9 月结束。具体开发计划查看:
https://www.memorysafety.org/initiative/sudo-su/sudo-su-work-plan/
最近发生了许多关于 Rust 的大新闻,给人一种 Rust 要重写万物的感觉,莫非著名的“Atwood定律”要加上 Rust 版本了吗?
比如前几天微软用 Rust 重写核心Windows 库:
“巨硬”要让 Windows 更硬,用 18 万行 Rust 代码重写核心 Windows 库
以及,Python Web 框架 Flask 创始人 Armin 用 Rust 写了一个包管理工具:
Flask 之父凭一己之力击败各种 GPT,称 Python 包管理比 LLM 更火热
还有 Ruff 创始人成立公司并宣布要改变 Python 生态,而该工具正是基于 Rust 编写:
本文文字及图片出自 OSC开源社区
你也许感兴趣的:
- 使用 Rust 真的能让软件更安全吗?
- 两年的 Rust 使用感悟
- 嵌入式 Rust 开发
- 氧化 Ubuntu:默认采用 Rust 实用工具
- “unsafe”是否会破坏 Rust 的保证?
- Rust 泛型 – 这是什么?
- 编程语言的选择
- 使用中的CSS :is 选择器
- Linus正面回应Linux内核“Rust之争”:未来必定使用,完全生产级别尚需时日!
- 【外评】一年的 Rust 开发总结
你对本文的反应是: