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,这些进行中的方案仍处于实验阶段。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Chrome 94 新 API 引争议,Mozilla 和苹果联合反对
前天 Google 正式发布了 Chrome 94,在该版本中 Google 引入了一个新的有争议的功能:Idle Detection API(空闲检测 API)。顾名思义,该 API 可以由网站实施以发现用户是否处于闲置状态。闲置就意味着用户没有操作任何设备或特定的硬件(如:键盘或鼠标),也没有通过某些系统事件(如:启动屏保或锁定状态)来进行交互。 网络会议、聊天,以及在线游戏等 Web 应用可以通过使用这个 API 获得用户对电脑是否有进行交互的数据。 Slack 和 Google Chat 的开发人员表达了对该 API 的支持: 与仅考虑用户与 Web 应用自己的标签页是否有交互的现有机制相比,促进协作的应用程序需要更多关于用户是否空闲的全局信息。 因为该 API 可被用于监视用户的使用模式,目前 Mozilla 和苹果都站出来反对 Google 的这一做法,并且表示不会在 Firefox 和 Safari 中实施该功能。 其中 Mozilla 表示: 按照目前的规范,我们认为空闲检测 API 对于有监视动机的网站来说是一个具有诱惑力的功能,可被用于侵犯用户隐私、长期记录用户行为...
- 下一篇
BaikalDB在百度统计的应用实践
作者简介:林江红,百度商业平台研发部资深研发工程师。主要负责百度统计数据系统研发,对构建高性能、高可用的数据处理系统有较多实践和较深入的理解。 欢迎关注 Star github.com/baidu/BaikalDB 国内加速镜像库gitee 1. 百度统计介绍 百度统计是百度推出的一款稳定、专业、安全、全球领先的中文网站流量分析平台,为网站的精细化运营决策提供数据支持,进而有效提高企业的投资回报率。 1.1 百度统计是什么 百度统计产品的使用十分简单,只需要在页面中嵌入一段JS代码,就会自动开始记录用户行为,并沉淀为宝贵的数据资产。在此基础上,提供了用户分层、数据看板、访客流失分析、打通投放平台等各种手段,帮助客户将一个个的访客变成忠实的客户。 经过12年的发展,累积服务客户数超过1千万,月活客户22万+,每天帮助客户沉淀数据资产150亿+。 1.2 数据系统简介 先介绍数据处理系统的输入输出,以线下超市作为类比,统计的SDK就相当于超市中的监控探头,探头记录每个顾客逛超市的各种路径:走进超市、看了一件商品就走了/继续买买买、结账离开等;而统计的SDK则是记录每个访客进来之后打开一个页...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS8安装Docker,最新的服务器搭配容器使用
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题