首页游戏资讯谷歌:利用 Rust 后,安卓系统的内存平安破绽数量大幅下降

谷歌:利用 Rust 后,安卓系统的内存平安破绽数量大幅下降

misa2 04-11 3次浏览 0条评论

点击图片,查看会议报名详情

| CSDN(ID:CSDNnews)

软件平安专家近期表达,软件行业正在针对一组有害的破绽停止研究并获得停顿,那些破绽招致了绝大大都关键且可长途操纵 的疯狂进攻。

那类所谓的内存平安问题包罗缓冲区溢出和释放错误后的利用,占软件公司披露的大部门利用法式平安问题。目前,最新数据展现,内存平安语言(如Java、C#和比来的Rust)的利用越来越多,招致整类破绽在敏捷削减。

例如,谷歌透露,最新版本的 Android 操做系统利用内存平安编程语言(如Java、Rust 和 Kotlin)编写的新代码,比利用 C 和 C++ 等内存不平安语言编写的代码多,从而过往三年内存平安破绽从 223 个降至 85 个。

谷歌软件工程师 Jeffrey Vander Stoep 表达:“我们将陆续专注于消弭各类破绽,重点存眷最严峻的。跟着内存平安破绽变得越来越少,我们估量研究界会将其破绽发现工做重点放在其他破绽上。”

谷歌:利用 Rust 后,安卓系统的内存平安破绽数量大幅下降

内存平安破绽比例

几十年来,C 和 C++ 不断是软件行业的主力编程语言。然而,它们欠缺更多现代语言的内存庇护,如 C#、Go、Java、Python、Ruby、Rust 和 Swift。根据利用法式平安公司 Veracode 的《软件平安形态》第 11 卷陈述,59% 的 C++ 利用法式存在严峻缺陷,而 Java 和 Python 则别离为 9% 和 10%。

缓冲区溢出和蠕虫式破绽

法式员总会很随便地写出有破绽的代码,那已经成为大型软件公司的一个次要问题。例如,微软发现,曲到 2018 年,在该公司软件中发现的破绽中内存平安问题占了 70%。根据软件弹性工程师 Alex Gaynor 在 2020 年的研究,总体而言,内存平安问题已占各类生态系统中所有破绽的 60%-70%。

谷歌:利用 Rust 后,安卓系统的内存平安破绽数量大幅下降

展开全文

Veracode 首席手艺官 Chris Wysopal 表达,那些破绽很随便被操纵来进攻利用法式,所以它们是招致大量进侵事务背后的底子原因:“内存损坏问题是最严峻的缺陷之一,因为它们凡是容许进攻者操纵代码停止进攻,从而完全掌握利用法式,在最坏的情状下,以至能够创建蠕虫进攻,进而进攻其他破绽。”

谷歌在其比来的博客文章中指出,在 Android 开发中,固然内存平安破绽只占 36%,但在关键平安破绽中占 86%,在长途可操纵问题中占 89%。

转向平安语言

出于那个原因,谷歌和其他公司催促开发人员摘用内存平安语言。

就谷歌而言,C 和 C++ 如今只占所有新代码的一半不到。事实上,最新版本的 Android 13 是第一个用内存平安语言编写大部门代码的系统。对许多开发者来说,Rust 代替了 C 和 C++——Rust 是一种专注于创建平安代码的高效编程语言,以至国度平安局也在催促公司摘用内存平安的编程语言。

然而,转换内存平安语言是不敷的。固然那些语言大幅降低了 法式员 编写不平安代码的可能,但每种语言都有差别的庇护级别。出于那个原因,NSA 还定见开发人员利用各类利用法式平安东西,从编译器选项到静态扫描器再到运行时阐发,尽可能地强化利用法式。

美国国度平安局在陈述中表达:“软件阐发东西能够检测到内存治理问题,操做情况选项也能够供给一些庇护,但内存平安软件语言供给的固有庇护能够避免或减轻大大都内存治理问题。”

别的,Veracode 的 Wysopal 也指出:“固然内存平安编程语言并非处理软件破绽问题的独立处理计划,但它们为开发人员供给了批示,他们能够制止一些最严峻的编程错误。”

目前,还很难归纳综合并阐明内存平安语言中破绽数量较少的原因,因为它们的利用体例差别。但假设利用两种差别的语言来完成不异的使命,而且此中一种是内存平安语言时,那么一般它的破绽就会更少,也不那么严峻。

参考链接:

谷歌:利用 Rust 后,安卓系统的内存平安破绽数量大幅下降

博客软件
做科研,不成错过的38个学术资本网站 进职第一天就说本身熟知Excel,老哥在天堂形式中懊悔了
相关内容
发表评论

游客 回复需填写必要信息