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


从 Android 12 开始,Google 就在 Android 系统中带来了 Rust 语言的支持,作为 C/C++ 的替代方案,他们的目标并不是把现有的 C/C++ 代码都转换成为 Rust,而是在新编写的代码中使用 Rust 语言开发。

通过将越来越多的 Rust 代码集成到其 Android 操作系统中,Google 在减少漏洞方面的努力最终是获得了回报。

Google 在公告中表示,"在过去几年/几个 Android 系统版本中,内存安全漏洞的数量大幅下降"。

具体而言,2019 年至 2022 年期间,每年的内存安全漏洞数量从最初的 223 个下降到如今的 85 个。内存安全漏洞现在在 Android 系统总漏洞的占比也只有 35%,四年前的占比则是 76%,而且 2022 年也是内存安全漏洞首次不再是 Android 系统漏洞最大占比的一年。

在此期间,进入 Android 系统的新内存不安全代码的数量也已经减少。

Rust 占了 Android 13 所有新的原生代码的 21%,在 AOSP 中已经有大约 150 万行 Rust 代码,涵盖各种功能和元件,其中就包括超宽带(UWB)栈、DNS-over-HTTP3、Keystore2、Android 的虚拟化框架(AVF),以及各种其他组件及其开源依赖。

到目前为止,在整个 Android 12 和 13 系统中,Rust 代码中发现的内存安全漏洞为零,这是一个重要的发现,因为过去 Android 漏洞密度大于 1/kLOC,也就是说,每一千行代码至少会发现一个漏洞,基于 Rust 代码的行数来看,此举可能已经阻挡了成百上千个漏洞进入 Android 系统。


相關推薦

2024-09-26

的库和工具。 虽然这么说,但也并不影响Linux、Windows、Android 三大操作系统积极探索和引入 Rust 语言,以利用其在内存安全和并发编程方面的优势。 为什么都三大操作系统都看好Rust,它是怎么实现内存安全的?以至于谷歌甚

2023-05-05

是提升它们在内存方面的安全性,确保它们不再遭受内存安全漏洞的困扰,并进一步增强 Linux 和开源生态系统的安全性。 据介绍,Prossimo 选择的软件会重点关注以下方面: 使用非常广泛(几乎每个服务器/客户端都在使用)

2022-11-15

指出,与过去相比,Web 开发人员能接受的框架数量日益减少;研究人员认为,开发者正在减少实验,变得更加坚持使用他们所已知和有效的东西。React 是目前使用最广泛的客户端框架;在过去两年中,React 的采用率一直保持稳

2023-01-12

的基础,再加上如今的汽车智能化程度也越来越高,内存安全漏洞的多少对汽车来说也至关重要。研究表明,内存安全漏洞占各种操作系统中所有漏洞的 60-70%,这通常是在 C 和 C++ 中普遍存在的问题,Rust 正逐渐成为安全关键型

2023-08-31

是提升它们在内存方面的安全性,确保它们不再遭受内存安全漏洞的困扰,并进一步增强 Linux 和开源生态系统的安全性。 sudo(substitute user [或 superuser] do),是一种计算机程序,用于类 Unix 操作系统如 BSD、Mac OS X/macOS 以及

2023-05-27

署的代码通常却需要满足更严格的要求,比如确保有没有内存安全问题,使用最新的密码术以及符合标准和规范。因此在使用和共享审计结果时,重要的是要考虑项目的要求与审计期间记录的事实的关系。 目前,ChromeOS 和 Fuchsi

2023-02-14

持 OpenType,但也支持 Apple Advanced Typography。HarfBuzz 被用于 Android、Chrome、chromeOS、Firefox、GNOME、GTK+、KDE、LibreOffice、OpenJDK、PlayStation、Qt 和 XeTeX 等地方。 新的 hb-paint API 主要用于绘制 COLRv1 字形,但也可以作为一个统一的 API 来

2024-06-29

目往往依赖于用内存不安全语言编写的组件,凸显了内存安全漏洞的普遍性。例如,对一些项目进行的依赖性分析表明,看似安全的项目往往包含了用不安全语言编写的模块,用于实现密码学和系统接口等功能,从而导致这些项

2021-12-10

-19 压缩等级导致 Initramfs 出现非常严重的解压时间和内存消耗问题,目前他正在努力进行测试,以为 Ubuntu 重新设计恰当的 initramfs  压缩策略。 Initramfs 全称 init ram filesystem ——是 Linux 一种基于内存的虚拟文件

2022-09-30

及 ABI 与内核的兼容性问题。 2021 年,谷歌称 AOSP (Android Open Source Project) 现已支持使用 Rust 开发 Android 操作系统(Android 也属于 Linux 发行版)。 2021 年,Linus 再度发表自己对 Linux 内核支持 Rust 的看法,他对此持观望和开放

2024-07-02

优化,性能提升数倍(相关性能POC报告后续发布)。 内存映射文件和零拷贝技术: 为了最大限度地减少I/O开销,Zeta Engine采用了内存映射(mmap)技术和零拷贝(zero-copy)技术,直接在内存中操作文件数据。这样不仅加快了数

2022-09-30

re Computer 原型上,与 Signal Broker(现在的 BeamyBroker)进行 Android 集成。这是一种针对 broker 的硬件抽象层(HAL),本身是用 Elixir 编写的;但他使用 Rust 和 async Futures 完成了这个任务。“这也是一个很大的确认,这确实是有用的东

2023-07-19

更好的衔接整个产品研发生命周期中的各个环节与工序,大幅提升各环节人员的操作便捷性并通过质量标准与质量把控来提升过程交付物的质量,从而提高整个产品的交付质量。TeamVision 为流程的高质量和高效率运行提供了良好

2024-07-05

用。 StarRocks 3.3 针对大查询、数据压缩和数据湖场景的内存占用进行了显著优化。通过 GA 级别的算子落盘能力(Spill to Disk),有效地优化了复杂查询的内存占用和 Spill 调度,确保大查询能够稳定执行而不会导致内存溢出(OOM