写点什么

谷歌:Android 内存安全漏洞比例下降与使用 Rust 相关

  • 2022-12-04
    北京
  • 本文字数:828 字

    阅读完需:约 3 分钟

谷歌:Android 内存安全漏洞比例下降与使用Rust相关

根据谷歌安全消息,十多年来,内存安全漏洞一直占整个产品和整个行业漏洞的 65% 以上。但近期在 Android 上,内存安全漏洞显着减少,并且相关的漏洞严重性也有所下降。

 

“从 2019 年到 2022 年,内存安全漏洞的年度数量从 223 个下降到 85 个,”Android 安全工程师 Jeffrey Vander Stoep 在博客文章中说道。Jeffrey 表示,这种下降与放弃内存不安全编程语言的努力相吻合,这里的“内存不安全编程语言”指的是 C/C++。



从去年的 Android 12 开始,Rust 成为了 Android 平台语言。Jeffrey 表示,现在在 Android 13 中,添加到该版本中的大部分新代码都是用内存安全语言——Rust、Java 或 Kotlin 编写的。

 

随着 Android 内存不安全代码越来越少,内存安全漏洞占 Android 漏洞的比例从 2019 年的 76% 下降到 2022 年的 35%。2022 年是内存安全漏洞不再是 Android 大部分漏洞代表的第一年。

 

“虽然有相关性并不一定意味着有因果关系,但值得注意的是,由内存安全问题引起的漏洞的百分比似乎与用于新代码的开发语言密切相关。”Jeffrey 说道。

 

据悉,在 Android 13 中,大约 21% 的新原生代码(C/C++/Rust)是 Rust。AOSP 中大约有 150 万行 Rust 代码,涵盖了各种新功能和组件,例如 Keystore2、新的超宽带 (UWB) 堆栈、DNS-over-HTTP3、Android 的虚拟化框架 (AVF) 以及各种其他组件及其开源依赖项。这些是需要系统语言的低级组件,否则这些组件将在 C++ 中实现。迄今为止,在 Android 的 Rust 代码中发现的内存安全漏洞为零。

 

不过,Jeffrey 也表示,谷歌的目标不是将现有的 C/C++ 转换为 Rust,而是随着时间的推移,将新代码的开发转移到内存安全语言。

 

谷歌并不是唯一一家认识到内存安全代码好处的大型科技公司。Meta 层表达过对 Rust 的赞赏。几个月前,微软 CTO Mark Russinovich 宣布不应再使用 C/C++ 来启动新项目,并表示应该在需要没有垃圾收集的语言的地方部署 Rust。

 

参考链接:

https://security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html

2022-12-04 22:086002

评论 1 条评论

发布
用户头像
微软 CTO Mark Russinovich X
微软Azure CTO Mark Russinovich √
2022-12-05 09:49 · 上海
回复
没有更多了
发现更多内容

连Python都不熟也能跑通AI人脸识别?“隐藏Boss”竟是它!

华为云开发者联盟

Python AI OpenCV 人脸识别 图像检测

阿里内网热搜开发者工具在线教程推荐

阿里巴巴云原生

Java 开发者 云原生 工具 Arthas

区块链在医疗领域应用所要面临哪些挑战

CECBC

区块链 医疗

产品经理问我:手动创建线程不香吗,为什么非要用线程池呢?

Java鱼仔

Java 线程池

Serverless 躁动背后的 5 大落地之痛

阿里巴巴云原生

Serverless 微服务 开发者 云原生 k8s

第四章作业

ALone

阿里内部人手一份!P8大佬也叫好的 高性能MySQL系列文档

Java架构之路

Java 程序员 架构 面试 编程语言

架构师week13总结

Geek_xq

不服不行!阿里曝光内部高并发实战手册,Github星标98K

Java架构之路

Java 程序员 架构 面试 编程语言

RPC框架-dubbo:架构及源码分析-初篇

程序员架构进阶

微服务 dubbo 七日更 28天写作 2月春节不断更

新手如何靠区块链赚钱?

CECBC

区块链

滴滴内部分享:如何提高代码的可读性,学习笔记

Java架构师迁哥

都在说云原生,它的技术图谱你真的了解吗?

云原生

你真的了解什么是「暴力解法」吗 ...

宫水三叶的刷题日记

面试 算法 LeetCode 数据结构与算法 贪心算法

阿里架构师道延:我对技术架构的理解与架构师角色的思考

阿里巴巴中间件

阿里云 架构 云原生 架构师

场景化面试:在读多写少的情况下,如何优化 MySQL 的数据查询方案

面试官问

MySQL 数据库 面试 主从同步 读写分离

Linux 多线程详解 —— 什么是线程

赖猫

Linux 线程 Linux内核

Spring RSocket:基于服务注册发现的 RSocket 负载均衡

阿里巴巴云原生

Java 开发者 云原生 API 应用服务中间件

实习记录:PB协议编写

YUKI0506

AI窥人(三):你想靠AI实现永生吗?

脑极体

为什么 Python 的 f-string 可以连接字符串与数字?

Python猫

Python 开源 编程语言 后端 C语言

区块链产品走向普及之不完全指南

CECBC

比特币 区块链

ZEGO全新语音聊天解决方案,4步搭建爆火的语音聊天室

ZEGO即构

在 Kubernetes 上弹性深度学习训练利器 -- Elastic Training Operator

阿里巴巴云原生

人工智能 云计算 容器 云原生 k8s

十年再出发,Dubbo 3.0 Preview 即将在 3 月发布

阿里巴巴云原生

Java 微服务 云原生 dubbo 应用服务中间件

iOS进阶模块(逆向安防)

ios 逆向

架构师week13作业

Geek_xq

【得物技术】Keep-alive 原理及业务解决方案

得物技术

大前端 标签 页面 得物技术 keepalive

4种方法帮你解决IntelliJ IDEA控制台中文乱码问题

华为云开发者联盟

Web 虚拟机 编码 IntelliJ IDEA 控制台

话题讨论 | 每逢佳节胖三斤,过完年你胖了吗?

石云升

话题讨论 减肥 2月春节不断更

字节跳动,三面我败了!但是我把经验记录了下来,倒下了一个我,还有千千万万个程序员!

Java架构之路

Java 程序员 架构 面试 编程语言

谷歌:Android 内存安全漏洞比例下降与使用Rust相关_语言 & 开发_褚杏娟_InfoQ精选文章