Rust 真的会让软件更加安全吗?
文章通过研究西门子 Nucleus 实时操作系统中发现的 DNS 响应处理漏洞(影响超 30 亿设备),对比 C 和 Rust 编写代码的安全性。团队让工程师用 Rust 实现 RFC1035 风格 DNS 消息解码,经压力测试发现,Rust 代码无任意代码执行漏洞,且在测试完备性、开发效率上表现更好,有力证明使用 Rust 能让软件更安全。
实验过程
给 2 名实习生和 2 名员工布置用 Rust 实现 RFC1035 风格 DNS 消息编码的任务,要求 3 - 4 小时完成,然后对他们的代码进行 6 个正常路径测试和 12 个压力测试。结果如下:
实现 | 正常路径测试 | 压力测试 |
---|---|---|
Nucleus NET | 全部通过 | 多个失败,含严重问题 |
工程师 1 | 1 个失败 | 多数通过,无严重问题 |
工程师 2 | 全部通过 | 多数通过,无严重问题 |
工程师 3 | 全部通过 | 多数通过,无严重问题 |
工程师 4 | 全部通过 | 多数通过,无严重问题 |
从测试过程总结如下:
- 安全性:Rust 实现无任意代码执行漏洞,未使用
unsafe
关键字。 - 错误可恢复:所有 Rust 解决方案都能避免软件异常终止。
- 测试完备:工程师在规定时间内编写单元测试和模糊测试,发现关键错误。
- 开发高效:Rust 开发速度快,C 实现安全版本耗时至少 3 倍。
原文:https://tweedegolf.nl/en/blog/152/does-using-rust-really-make-your-software-safer
Ubuntu 计划在 25.10 版本将核心工具包迁移至 rust-coreutils
Ubuntu 计划在 25.10 版本将核心工具包迁移至 rust-coreutils 作为新默认选项。由于核心工具包的重要性,采用重命名现有包、引入新包并设置复杂依赖关系的方式迁移。这一迁移存在镜像体积增大(Docker 镜像从 75MB 增至 93MB)、AppArmor 配置问题等影响。
原文:https://discourse.ubuntu.com/t/migration-to-rust-coreutils-in-25-10/59708
cargo-seek v0.1 发布:TUI 的 crate 管理工具
cargo-seek 是一个 TUI 的 cargo 包管理器,可以搜索、添加和安装 cargo crate。
特性:
- 搜索
- 排序依据:相关性、名称、下载量、近期下载量、最近更新时间、新添加时间
- 搜索范围:在线、项目、已安装或全部
- 直观标记项目依赖项和已安装的二进制文件
- 分页
- 向项目中添加、移除 crate
- 安装、卸载 cargo 二进制文件
- 打开文档
- 打开存储库
- 在 crates.io 上打开 crate
- 在 lib.rs 上打开 crate
Github 仓库:https://github.com/tareqimbasher/cargo-seek
--
From 日报小组 Yuan YQ
社区学习交流平台订阅:
评论区
写评论还没有评论