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开源社区
你也许感兴趣的:
- Android 全力押注 Rust,Linux 却在原地踏步?谷歌:用 Rust 重写固件太简单了!
- C 语言老将从中作梗,Rust for Linux 项目内讧升级!核心维护者愤然离职:不受尊重、热情被消耗光
- 从电梯故障到编程新宠,Rust为何连续七年称霸「最受推崇语言」
- 【外评】不要把 Rust 写成 Java
- 语言设计: Rust 的几乎规则
- 美国国防部建议将C代码转换为Rust
- 【外评】Why Not Rust?
- 【外评】 我使用(并喜爱)Rust 已经有 10 年了, 以下是它让我失望的地方
- 【外评】为什么我希望不要让 Rust 锈化一切?
- 【外评】Rust 版的 Linux 文件系统
你对本文的反应是: