在 Rust 中实现 sudo 和 su 实用程序的项目

ISRG(互联网安全研究小组)是 Let's Encrypt 项目的创始人,它促进 HTTPS 和技术的发展以提高互联网的安全性,提出了 Sudo-rs 项目来创建 sudo 和 su 实用程序的实现Rust 允许您代表其他用户执行命令。 根据 Apache 2.0 和 MIT 许可,Sudo-rs 的预发布版本已经发布,尚未准备好供一般使用。 该项目于 2022 年 2023 月开工,计划于 XNUMX 年 XNUMX 月完工。

目前的工作重点是在 Sudo-rs 中实现功能,使其在典型用例中用作 sudo 的透明替代品(Ubuntu、Fedora 和 Debian 上的默认 sudoers 配置)。 将来,计划创建一个库,允许将 sudo 功能嵌入到其他程序中,并提供一种替代配置方法,避免解析 sudoers 配置文件的语法。 基于已实现的 sudo 功能,还将准备 su 实用程序的变体。 此外,该计划还提到了对 SELinux、AppArmor、LDAP、审计工具的支持、不使用 PAM 进行身份验证的能力,以及所有 sudo 命令行选项的实现。

据微软和谷歌称,大约 70% 的漏洞是由不安全的内存管理引起的。 预计使用 Rust 语言开发 su 和 sudo 将降低不安全内存处理导致的漏洞风险,并消除内存区域被释放后访问和缓冲区溢出等错误的发生。 Sudo-rs 由 Ferrous Systems 和 Tweede Golf 的工程师开发,资金由 Google、Cisco、Amazon Web Services 等公司提供。

Rust 在编译时通过引用检查、跟踪对象所有权和对象生命周期(作用域)以及在代码执行期间评估内存访问的正确性来提供内存安全处理。 Rust 还提供防止整数溢出的保护,要求在使用前强制初始化变量值,更好地处理标准库中的错误,默认应用不可变引用和变量的概念,提供强静态类型以最小化逻辑错误。

来源: opennet.ru

添加评论