游戏传奇首页
游戏我的天下首页
最好看的新闻,最实用的信息
06月03日 12.0°C-14.0°C
澳元 : 人民币=4.82
悉尼
今日澳洲app下载
登录 注册

Chrome安全团队希望将指针错误消灭在编译阶段

2021-09-24 来源: cnBeta 原文链接 评论0条

Chrome安全团队希望将指针错误消灭在编译阶段 - 1

(来自:GoogleSecurity Blog)

Chrome 安全团队称,尽管他们在努力坚守上述主要的安全防线,但模糊测试的结果表明,这些措施的防护效果已达到极限,意味着浏览器开发商无法再单纯依靠单纯的策略来抵御野外攻击。

数据表明,去年的时候,有超过 70% 的严重安全漏洞都与内存相关,尤其是 C / C++ 编程语言中的指针 bug 会导致内存误解。在浏览器应用之外,内存安全也是一个需要全球软件工程社区认真对待的问题。

与此同时,Chrome 安全团队认为这也是一个机遇,毕竟许多 bug 都具有类似的根本原因,意味着我们能够一次搞定大部分问题。为此,Chrome 安全团队提出了三个着力点:

(1)在编译时检查指针是否正确;

(2)在运行时检查指针是否正确;

(3)调查现有代码库部分内存安全语言的使用。

“编译时检查”意味着在 Chrome 构建过程中确保安全,甚至早于向用户设备推送更新之前。

“运行时检查”意味着 Chrome 浏览器会在终端设备上运行软件时进行检查。当然,这么做也会有一定的性能成本开销。

考虑到有数百万计的指针,即使每个指针的影响都极其细微,数十亿的用户量级,累加起来还是相当可观的,尤其许多用户仍在使用资源相对受限的低功耗移动设备。

在理想情况下,Chrome 安全团队倾向于优先选择第(1)套方案。遗憾的是,C++ 编程语言在设计之初并没有考虑到这一点。

权衡利弊之后,我们最终只剩下了让 C++ 更安全(但也更慢)的第(2)和第(3)种选项,或尝试开始使用其它编程语言。

换言之,Chrome 安全团队将在 C++ 安全解决方案上倾注大量的心力,例如 MiraclePtr 和 ABSL / STL 强化模式。

在每种情况下,我们都希望消除相当一部分可被利用的安全漏洞,但预计也会造成一些性能损失。

比如借助 MiraclePtr 隔离潜在会被引用的内存,以预防释放后的隐患。而在内存资源更加宝贵的大部分移动设备上,我们很难专门腾出一块专门的隔离区。

即便如此,MiraclePtr 仍有望消除浏览器进程中超过 50% 的释放后错误使用 —— 对于当前的 Chrome 安全性来说,这已经算得上是一个相当瞩目的成就。

同时,Chrome 安全团队将探索未来是否能够把 Chrome 的某些部分用“内存安全语言”进行重构 —— 比如当前被寄予厚望的 Rust(由 Mozilla 雇员 Graydon Hoare 创立)。

由于 Rust 编程语言保障了编译时的安全性,所以编译器能够早在代码抵达用户设备前排除指针错误,从而避免进一步的性能损失。至于 C++ 能否与 Rust 良好配合,仍有待时间去检验。

转载声明:本文为转载发布,仅代表原作者或原平台态度,不代表我方观点。今日澳洲仅提供信息发布平台,文章或有适当删改。对转载有异议和删稿要求的原著方,可联络content@sydneytoday.com。
今日评论 网友评论仅供其表达个人看法,并不表明网站立场。
最新评论(0)
暂无评论


Copyright Media Today Group Pty Ltd.隐私条款联系我们商务合作加入我们

分享新闻电话: (02) 8999 8797

联系邮箱: info@sydneytoday.com 商业合作: business@sydneytoday.com网站地图

法律顾问:AHL法律 – 澳洲最大华人律师行新闻爆料:news@sydneytoday.com

友情链接: 华人找房 到家 今日支付Umall今日优选