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 系统。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
建木:为什么我们不支持手工上传镜像
自从我们提供公共镜像库以来,不少同学询问是否支持手工上传镜像到镜像库。答案是:不支持。 今天给大家聊一聊为什么公共镜像库不应该支持手工上传,主要基于以下几个方面的考量: Code First 建木作为一个完整实现GitOps理念的工具,开发团队在实现任何服务时所秉承和推广的当然也首选Code First的方式。 因此,我们提供的公共镜像库与GitHub和国内的Gitee都实现了集成,用户授权后可以直接选择代码库中的Dockerfile来进行镜像的构建,后续还会完成与更多代码托管平台的集成。 当然也支持根据分支、Tag等来设置自动构建计划的规则。 一旦使用了Code First的方式,用户就无需自己维护构建服务器或者在本地手工进行镜像构建。 镜像的变更与版本记录与镜像构建的过程一一对应,可追溯可审计,完美符合当前主流的工程理念。 便于生成软件物料清单(SBOM) 不提供手工上次镜像的功能的另一个理由是保证公共库镜像的安全性。最近的研究报告显示,恶意镜像已经成为软件供应链攻击中的攻击手段。而软件物料清单(SBOM)是应对软件供应链攻击的工具之一。 什么是SBOM 软件物料清单 (SBOM)...
- 下一篇
openKylin 荣获 OSCHINA“2022 年度优秀开源技术团队” 奖项!
2022年11月30日,国内知名开源技术社区OSCHINA(开源中国)公布了“2022年度优秀开源技术团队”获奖名单。openKylin(开放麒麟)凭借在开源技术创新和开源社区运营方面的积极表现,荣获“2022年度优秀开源技术团队”奖项。 作为国内首个桌面操作系统根社区,openKylin社区自成立以来便积极推动开源生态建设。截至目前,已有131家企业加入社区,包括操作系统厂商、CPU厂商、GPU厂商、整机厂商、以及软件厂商等,并成立了56个SIG组开展各类技术研究和创新。 此番获奖不仅是openKylin社区的荣誉,也是全体社区成员的共同荣誉,是大家共同努力的结果,促使openKylin社区蓬勃发展。未来,openKylin社区也将保持初心,为构建良好开源生态发展持续努力。 openKylin(开放麒麟)社区旨在以“共创”为核心,在开源、自愿、平等、协作的基础上,通过开源、开放的方式与企业构建合作伙伴生态体系,共同打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态繁荣发展。 社区首批理事成员单位包括麒麟软件、普华基础软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- Linux系统CentOS6、CentOS7手动修改IP地址
- 2048小游戏-低调大师作品
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8