在电子计算机安全领域,网络攻击的方式也在与时俱进。为了更好地构建牢靠的电脑浏览器安全性防御,Google早已为 Chrome 打造出了根据沙盒和网站防护的多进程构架。但是在近日公布的一篇网络文章中,Chrome 安全性团队进一步详细介绍了她们在内存安全系数层面的全新勤奋。
(来源于: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语言编译器可以早在编码到达客户机器设备前清除指针不正确,进而防止进一步的性能损害。对于 C 能不能与 Rust 优良相互配合,仍尚需時间去检测。