文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

谷歌对Rust的采用终于得到了回报

2024-11-29 18:23

关注

自2019年以来,Android团队一直专注于用内存安全语言编写新功能。对于新的系统级组件,他们一直在使Rust而不是C++,因为Rust具有同样的性能并提供内存安全保证。

他们也一直在使用kotlin而不是java,因为它有null安全等优势。这一策略产生了重大影响,在最近一篇题为“从源头上消除内存安全漏洞”的文章中,谷歌的安全团队透露,Android的内存安全漏洞从总漏洞的76%下降到24%,这是一个惊人的50%以上的下降,这真是太疯狂了。

在这里,我们看到一个图表,显示了在代码库中采用内存安全语言来实现新功能的情况。

图片

多年来,使用内存安全语言编写的代码行数急剧增加,而使用内存不安全语言编写的遗留代码则随着代码库的维护而逐渐减少。这种策略导致内存安全漏洞的急剧减少,谷歌发现这是因为随着代码成熟,内存安全漏洞在新代码或最近更改的代码中被压倒性地发现。

它的安全性呈指数级增长,这是通过采用诸如Rust之类的内存安全语言以及在代码库中使用新特性来实现的。

所以只要采用像Rust这样的内存安全语言,并在代码库中添加新功能,你就能大大减少内存安全漏洞,但这只是理论,当你把这种策略应用到真正的代码库中会发生什么,这正是Android团队所尝试的。

你可以从这张图表中看到,随着Android团队优先使用Rust和kotlin构建新功能,使用内存安全语言编写的代码行数逐年增加。

例如,管理文件共享设备的系统是用Rust编写的,管理加密密钥的新密钥存储系统也是用Rust编写的,一般来说,使用Rust来处理这些底层组件是有意义的,因为Rust是一种系统语言。

请注意,在这段时间内,使用内存不安全语言编写的代码行数也有所增加。但尽管如此,内存安全漏洞的数量也急剧下降,这是因为Android团队一直使用Rust和kotlin编写新功能。

他们也注意到使用Rust的一些关键好处,他们提到Rust更改代码后的回滚率不到C++的一半。这意味着,与更改Rust代码相比,更改C++代码导致bug的可能性是更改Rust代码的两倍。

现在,由于这个计划的成功,谷歌对Rust进行了加倍投资,以使用Rust编写新功能变得更容易,并使在Rust和C++之间以及Rust和kotlin之间的互操作性方面变得更容易。

今年早些时候,谷歌向Rust基金会提供了100万美元的资助,以改善Rust和C++之间的互操作性,并且他们正在积极开发开源工具,如Crubit,这是一种C++和Rust双向中断工具,或者Autocxx,这是一种以自动方式从Rust调用C++代码的工具,这样的工具不仅可以让谷歌使用Rust更容易,也可以让其他公司更轻松的使用Rust。

现在我们知道,在2022年,当Android 13发布时,大约21%的Native代码是用Rust编写的,这相当于向Android项目添加了大约150万行Rust代码。

图片

不幸的是,我们没有2024年的最新统计数据,希望我们很快就能得到它们,总的来说,很高兴看到Rust的采用为谷歌带来了回报以及继续对Rust进行投资的承诺。

谷歌的安全团队证实,大多数同事现在都在以这样或那样的形式使用Rust。其他公司很可能会效仿谷歌的做法,特别是知道只要用Rust等内存安全语言编写新代码,内存安全漏洞就会大大减少。

来源:coding到灯火阑珊内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯