当前位置: 首页 > 科技观察

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

时间:2023-03-11 22:06:11 科技观察

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,这些正在进行的计划仍处于实验阶段。本文转自OSCHINA文章标题:Chrome探索使用Rust解决内存安全问题本文地址:https://www.oschina.net/news/161500/an-update-on-memory-safety-in-铬合金