当前位置: 首页 > 科技观察

Android内存安全漏洞大幅减少,Rust成为关键因素

时间:2023-03-17 20:35:28 科技观察

从Android12开始,谷歌在Android系统中带来了Rust语言支持。作为C/C++的替代品,他们的目标不是将现有的C/C++代码全部转换为Rust,而是将新编写的代码使用Rust语言开发。通过将越来越多的Rust代码集成到其Android操作系统中,谷歌减少漏洞的努力终于得到回报。谷歌在公告中表示:“在过去几年/Android系统的版本中,内存安全漏洞的数量显着下降。”具体来说,在2019年到2022年之间,内存安全漏洞的数量从最初的每年223个下降到现在的85个。内存安全漏洞现在仅占Android系统漏洞总数的35%,而四年前这一比例为76%,而2022年是内存安全漏洞不再是Android系统漏洞中占比最大的第一年。在此期间,进入Android的新内存不安全代码量也有所减少。Rust占Android13所有新原生代码的21%,AOSP中已有约150万行Rust代码,涵盖各种功能和组件,包括超宽带(UWB)堆栈、DNS-over-HTTP3、Keystore2、Android的虚拟化框架(AVF)以及各种其他组件及其开源依赖项。纵观Android12和13至今,在Rust代码中发现零内存安全漏洞,这是一个重要的发现,因为以往Android漏洞密度大于1/kLOC,即每千行代码至少有一个bug会被发现,并且根据Rust代码的行数,这可能会阻止数百个错误到达Android。