首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Chrome 探索使用 Rust 解决内存安全问题

出品|开源中国

作者|局长

Chrome 安全团队发表文章称,谷歌正在探索使用内存安全语言 Rust 重写或开发?Chrome 的部分模块。

去年谷歌曾指出,Chrome 70% 的安全漏洞是内存安全问题,主要由 C/C++ 中的指针错误导致。针对此问题,谷歌表示 Chrome 探索通过以下三个方向来解决:

在编译时检查指针是否正确,使 C++ 更安全

在运行时检查指针是否正确,使 C++ 更安全

调查代码库中内存安全语言的使用情况

“编译时检查”意味着在 Chrome 构建过程中保证安全,“运行时”意味着在设备上运行 Chrome 时进行检查。理想情况下,通常会选择选项 1 —— 在编译时使 C++ 更安全。不过语言的设计理念并非如此,因此 Chrome 没有选择此方法,而是试验了?2 和 3。

Chrome 安全团队介绍了他们对 C++ 安全解决方案的重大投入 —— 例如MiraclePtr和ABSL/STL 强化模式。他们希望消除相当一部分可利用的安全漏洞,同时也预计会出现部分性能损失的情况。

此外,他们还在探索未来是否可以使用内存安全语言 Rust 重写或开发?Chrome 的部分模块。Rust 是由 Mozilla 开发的编程语言,能在编译时发现指针错误,因此不会造成性能损失。但要让 Rust 和 C++ 一起良好地搭配使用仍存在不少问题。

Chrome 安全团队表示,即使从明天开始使用 Rust 编写新的大型组件,他们也不太可能在几年内消除大部分安全漏洞。能否让语言边界足够干净,以便可以使用 Rust 编写部分现有组件?Chrome 安全团队也无法回答这个问题。不过他们已经开始在Chromium 源代码树中进行有限的、非面向用户的 Rust 实验,暂时没有在 Chrome 的生产版本中使用 Rust,这些进行中的方案仍处于实验阶段。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210924A06ULA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com