更新时间:2021-09-27 03:04:43
Chrome工程师在本周的博文(通过ZDNet)中透露,Chrome代码库中近70%的错误都是与内存管理和安全相关的错误。这些错误中几乎有一半是发布后使用错误,当程序在发布指针后使用它时就会发生。这些是最常见的浏览器漏洞类别,黑客可以利用它们来攻击Chrome的内部组件。
Chrome工程师分析了2015年以来912个高风险、严重的安全漏洞,发现其中近36.1%是“售后”漏洞,32.9%是内存不安全漏洞,7.1%是安全相关漏洞。这些错误平均分布在我们的代码库中,大量不安全的稳定性错误有着相同的根源。这些漏洞不仅给我们的用户带来了风险,也给我们修复和交付Chrome带来了实实在在的成本。”工程师在博客中指出。
有趣的是,这些数字与微软去年在安全会议上分享的数字相同。据ZDNet报道,一位微软工程师去年透露,微软产品中几乎70%的错误都是内存安全问题。
这两个平台的另一个相似之处是C和C的使用,这是开发人员使用的旧编程语言。当它们出现内存分配错误并且通常被认为“不安全”时,它们不会警告或限制开发人员。如果没有发现这些早期错误,它们可能会在应用程序中造成漏洞,然后为黑客提供控制Chrome进程的网关。
谷歌表示,沙盒技术是工程师用来防止黑客接管主机的最常用技术之一。“在过去的几年里,架构得到了增强,以确保网站彼此隔离。巨大的努力使我们能够领先于攻击者。但我们正在达到沙盒和网站隔离的极限。”
与内存管理相关的问题变得如此之大,以至于工程师们现在正在使用规则2编写代码。这条规则意味着工程师不能违反以下三条规则中的两条:
-处理输入不当的代码。
-用不安全的语言(C/C)编写的代码。
-运行时没有沙箱的代码。
然而,使用2规则会阻止开发人员向Chrome交付功能。
该公司通过“大规模修复错误类别,而不仅仅是包含它们”来解决这个问题。它预计其新战略将为C开发人员的体验带来重大变化。此外,谷歌正在探索“一种为编译时安全检查而设计的编程语言,它对运行时性能的影响较小。”