几乎所有的谷歌Chrome安全漏洞都与内存缺陷有关

该公司的研究人员宣称,在谷歌Chrome中发现的绝大多数安全漏洞都与内存管理有关。

在对2015年以来在稳定通道上发现的900多个高/关键安全漏洞进行分析之后,谷歌的工程师已经确认,其中大约70%与内存管理和安全性有关。

内存安全问题本质上是C和c++编码错误,这是Chrome和icrosoft代码库中的两种主要编码语言。在上述的百分比中,50%是基于管理不正确的内存指针的“后用”漏洞。

根本的问题是C和c++是较老的编程语言,它们没有考虑到网络攻击的可能性。它们允许程序员完全控制内存指针的管理,并且不会在开发阶段自动警告后者潜在的内存管理错误。

因此,这些错误和由此产生的内存管理缺陷,如使用后空闲、竞争条件、双空闲、缓冲区溢出等,都嵌入到Chrome和Microsoft应用程序中。

内存管理弱点是潜在攻击者首先要寻找的东西之一,因为他们可以利用这些弱点简单地将恶意代码嵌入到设备内存中,然后等待受害者自己的应用程序执行。

内存管理漏洞已经成为一个严重的问题,以至于谷歌的工程师在编写新的Chrome程序时必须遵循“规则2”。在这个标准下,新功能的代码不能违反以下两种以上的条件:

这一发现与微软一名工程师在2019年2月的安全会议上的说法相符。该工程师称,在过去十多年里,通过微软安全更新,每年有70%的安全问题与内存安全有关。

Mozilla已经采用Rust作为Firefox的编程语言。Rust被认为是最安全的编程语言之一,对于缓解C和c++中固有的漏洞非常理想。微软除了构建一种专有的安全编程语言外,还在试验Rust。

Chromium项目的工程师说,他们觉得沙箱和网站隔离已经达到极限,最好的办法是“从源头上消灭细菌,而不是试图在以后遏制它们”。

今后,谷歌的工程师们计划探索一些解决方案,比如定制c++库、硬件减轻以及尽可能使用更安全的语言。选项包括Rust、JavaScript、Java和Swift。开发人员也在关注MiraclePtr项目,该项目建议将无使用后的bug“从安全bug转换为非安全崩溃”。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,多谢