ISRG(互联网安全研究小组)组织是 Let's Encrypt 项目的创始人,致力于促进技术的发展以提高互联网的安全性,该组织提出了 zlib-rs 项目来创建 zlib 数据压缩库的安全模拟。 zlib-rs 代码是用 Rust 编写的,并根据 Zlib 许可证分发。开发是针对 zlib-ng 项目进行的,该项目开发了 zlib 的高性能版本。该项目开发了两个库: zlib-rs,不使用不安全块的 zlib API 的实现; libz-rs-sys 是一个具有 C API 支持的附加组件,其中包含“不安全”模式的代码。
据说创建 zlib-rs 的原因是为了提供 zlib 的变体,以避免内存错误导致的潜在故障。据微软和谷歌称,大约 70% 的漏洞是由不安全的内存处理引起的。预计使用Rust语言开发zlib-rs将降低因不安全使用内存而导致的漏洞风险,并消除诸如访问已释放的内存区域和溢出缓冲区等错误的发生。
尽管 Zlib 代码中会定期出现危险漏洞,但 Zlib 库分布广泛,并作为许多系统的依赖项使用。例如,在 2022 年,当尝试压缩专门准备的字符序列时,zlib 中发现了缓冲区溢出,这使得通过传输特殊格式的传入数据来利用该漏洞成为可能。
来源: opennet.ru
