谷歌为数亿行C++代码增强空间安全性

2024-11-16

谷歌正在其C++代码库中加强空间内存安全性,以减少漏洞利用。他们通过启用硬化版libc++,为标准C++数据结构添加边界检查,从而消除了一类重要的空间安全漏洞。这已部署到谷歌的服务端生产系统中,包括搜索、Gmail、Drive等关键产品。虽然性能影响平均仅为0.30%,但该改进已阻止了内部红队演习中的漏洞利用,发现了1000多个漏洞,并将生产环境中的段错误率降低了30%。谷歌还致力于将边界检查扩展到其他库,并迁移到安全缓冲区,以进一步提高C++代码的安全性。

阅读更多
未分类

从源头消除内存安全漏洞

2024-09-26

本文探讨了如何通过安全编码从源头消除内存安全漏洞。文章指出,尽管转向内存安全语言在短期内可能看起来增加了代码库的复杂性,但长期来看,由于漏洞的指数级衰减,这种转变最终会降低整体安全风险。文中以Android系统为例,展示了转向内存安全语言如何显著降低内存安全漏洞的数量。文章最后总结了安全编码的优势,并展望了未来安全编码在软件开发中的应用。

阅读更多
未分类 安全编码

在现有固件代码库中部署Rust

2024-09-06

这篇博文探讨了如何在现有固件代码库中逐步引入Rust,以提高安全性。文章重点介绍了优先替换新代码和安全关键代码,并详细讲解了使用Rust替换C代码的步骤,包括创建Rust shim、处理与C/C++代码的交互、连接固件的裸机环境、构建优化等方面。文章还提供了一些实用的技巧和注意事项,例如如何选择合适的Rust库、如何将std库移植到no_std环境、如何处理内存分配和恐慌等。

阅读更多
未分类