写点什么

谷歌: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:085469

评论 1 条评论

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

JavaScript进阶(五)节流

Augus

JavaScript 9月日更

利用 Kotlin 协程提升应用性能

Changing Lin

9月日更

Linux创建/删除新用户

在即

9月日更

☕【Java 技术指南】「并发编程专题」Fork/Join 框架基本使用和原理探究(原理篇)

洛神灬殇

forkjoin forkjoinpool 9月日更 任务盗取

穿越时空,跟我一起探索云栖数字谷

阿里巴巴云原生

云栖大会

Canvas API 的基本用法

devpoint

html5 canvas 9月日更

写给互联网工程师的5G书 | 5. 高级功能

俞凡

架构 5G 网络 通信

写给互联网工程师的5G书 | 4. RAN详解

俞凡

架构 5G 网络 通信

手撸二叉树之从中序与后序遍历序列构造二叉树

HelloWorld杰少

9月日更

在线将JS/JavaScript-Object转JSON工具

入门小站

工具

什么是操作型系统

奔向架构师

数据仓库 9月日更

超全面Redis分布式高可用方案:哨兵机制

架构精进之路

redis 后端 引航计划 内容合集

SpringMVC源码分析-HandlerAdapter(1)-初始化和简单实现

Brave

源码 springmvc 9月日更

每个开发人员都应该知道的 JavaScript Web API

Regan Yue

JavaScript web api 9月日更

MLOps RNN 卷积神经网络- 吴恩达Andrew Ng 论文等资料汇总 易筋 ARTS 打卡 Week 66

John(易筋)

ARTS 打卡计划

消息队列存储消息数据的MySQL表格设计

gawaine

架构师训练

详细讲解服务幂等性设计

架构精进之路

后端 幂等性 引航计划 内容合集

千万级学生管理系统的考试试卷存储方案

michael

#架构实战营

模块八作业

SAKIN

一个不错的投屏软件

IT蜗壳-Tango

9月日更

Prometheus 2.24.0 新特性

耳东@Erdong

release Prometheus 9月日更

手撸二叉树之二叉树的锯齿形层序遍历

HelloWorld杰少

9月日更

CoroutineWorker

Changing Lin

9月日更

消息队列:发送消息实现

正向成长

RocketMQ

参数校验如何优雅的处理

卢卡多多

参数校验 9月日更

【Flutter 专题】41 图解神秘的 SystemChrome

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

Opus从入门到精通(八)Opus编码基础之压缩编码

轻口味

android 音视频 9月日更

看直播拿证书 | 12 天,0 基础晋级 Serverless 高手

阿里巴巴云原生

阿里云 Serverless 云原生 直播

Vue进阶(幺贰贰):ES6 判断是否为空对象

No Silver Bullet

Vue 9月日更

linux之lscpu命令

入门小站

Linux

给开发新人的信:学会深思熟虑

baiyutang

9月日更

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