首页 > 其他分享 >谷歌:过渡到 Rust 使得 Android 漏洞大幅下降

谷歌:过渡到 Rust 使得 Android 漏洞大幅下降

时间:2024-10-05 09:21:59浏览次数:8  
标签:安全 代码 漏洞 内存 Android Rust

谷歌:过渡到 Rust 使得 Android 漏洞大幅下降

来源: OSCHINA 编辑: 白开水不加糖 2024-09-28 10:54:58  6

谷歌在最新的一篇文章中指出,内存安全问题导致的漏洞百分比与新代码使用的开发语言密切相关。而随着其将开发转向内存安全语言,Android 内存安全漏洞的百分比已经从 2019 年的 76% 下降到了 2024 年的仅 24%,远低于 70% 的行业标准,并且还在继续下降。

Android 安全团队成员 Jeff Vander Stoep 和 Google 高级软件工程师 Alex Rebert 解释称,漏洞具有半衰期,会随着代码的发展而逐渐衰减,绝大多数漏洞都存在于新的或最近修改的代码中。

这就意味着问题主要出在新代码上,需要从根本上改变代码开发方式。且随着时间的推移,代码会呈指数级成熟和更加安全;而随着代码老化,重写等投资的回报也会逐渐减少。

因此在维护旧代码的同时,使用 Rust 等内存安全语言编写新代码,最大限度地减少随着时间的推移出现新的缺陷,就能达到大幅减少内存安全漏洞的目的。

“根据我们的经验,很明显不需要丢弃或重写所有现有的内存不安全代码。相反,Android 专注于将互操作性作为内存安全之旅的主要功能,使其既安全又方便。互操作性提供了一种实用且渐进的方法来采用内存安全语言,使组织能够利用现有的代码和系统投资,同时加速新功能的开发。”

文章还总结了过去几十年间,业界在处理内存安全漏洞方面经历的四个主要阶段:

  1. 被动修补
  2. 主动缓解措施
  3. 主动发现漏洞
  4. 高保障预防(安全编码):强调通过使用 Rust 等内存安全语言从源头上预防漏洞。

“向内存安全语言的转变不仅代表着技术的变化,更是安全方法的根本转变...... 安全编码通过将错误查找进一步向左移动来提高代码正确性和开发人员生产力。我们看到这种转变体现在回滚率等重要指标中。Android 团队观察到 Rust 更改的回滚率不到 C++ 的一半。”

在过渡到内存安全代码后,谷歌预计对漏洞缓解措施的依赖、以及对模糊测试等主动检测方法的依赖也均会减少。

标签:安全,代码,漏洞,内存,Android,Rust
From: https://www.cnblogs.com/sexintercourse/p/18447617

相关文章

  • Android 工程目录结构
    App工程分为两个层次,第一个层次是项目,另一个层次是模块.模块依附于项目,每个项目至少有一个模块,也能拥有多个模块.一般所言的“编译运行App”,指的是运行某个模块,而非运行某个项目,因为模块才对应实际的App.App项目下面有两个分类:app(代表app模块)、GradleScripts.app下面有3个......
  • 中间件漏洞
    中间件漏洞常见的web中间件iisapachetomcatnginxjbossWeblogicWebSphereIIS6x篇1.1PUT漏洞1.漏洞描述IISServer在Web服务扩展中开启了WebDAV,配置了可以写入的权限,造成任意文件上传。版本:IIS6.02.漏洞复现1)开启WebDAV和写权限3.漏洞复现过程1)直接抓包......
  • android 反编译
    https://juejin.cn/post/6844903821257211911?searchId=202410031145152AA4BB76BB0670AB5957android:screenOrientation="landscape"apktoolempty-framework-dir--force//APKTool反编译apktoold-f1.apk//apktool编译:编译修改后的代码生成新的apkapktoolb1-onew.a......
  • 安卓Android虚拟机分享及使用
    不知道大家伙在安装安卓虚拟机时被各式各样的问题折磨过没,我在安装安卓虚拟机时,遇到的问题简直就像长江之水源源不断,就算是最后安装好了也会因为各式各样的原因无法进入启动桌面。当我发现这个可以直接导入到电脑一键开启运行的虚拟机时,今天我必须分享给大家!话不多说安排!这个可......
  • Android 简介
    安卓(Android)是一种基于Linux内核的自由及开放源代码码的操作系统.主要用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发.Android操作系统最初由AndyRubin开发,主要支持手机.Android是一种操作系统.Android系统是开放源代码的,......
  • RUST所有权相关问题
    先介绍一下RUST的所有权规则:1.Rust中的每一个值都有一个所有者(owner)。2.值在任一时刻有且只有一个所有者。3.当所有者(变量)离开作用域,这个值将被丢弃。变量与数据交互的方式包括两种:移动和克隆。移动就是转交值的所有权,如letx=y(x的类型未实现Copytrait),x失去了值的所有......
  • rustling学习随笔
    序言rustling是一个关于rust的练习题的项目.可以帮助大家通过完成一个项目的方式练习rust的语法,我认为对于补充我rust现学现卖过程中的情况很有帮助.下边是GPT对它的介绍:Rustling是专为那些想要学习Rust编程语言的人设计的一个交互式练习集合。无论你是编程新手还是有经......
  • Android 11.0 framework默认沉浸式导航栏功能实现
    1.前言在11.0的系统rom定制化开发中,在实现导航栏的某些定制化开发中,在某些产品需要实现沉浸式导航栏,就是需要app能全屏显示同样也能显示导航栏,接下来就来分析下相关的功能实现如图:2.framework默认沉浸式导航栏功能实现的核心类frameworks\base\core\java\android\a......
  • Salesforce AI Specialist篇之 Einstein Trust Layer
    本篇参考:https://trailhead.salesforce.com/content/learn/trails/drive-productivity-with-einstein-aihttps://help.salesforce.com/s/articleView?id=sf.generative_ai_trust_layer.htm&type=5https://blog.salesforceairesearch.com/meet-salesforces-trusted-ai-prin......
  • Android Debug Bridge(ADB)完全指南
    文章目录前言一、什么是ADB?二、ADB的工作原理ADB由三个部分组成:三、如何安装ADBWindows系统:macOS和Linux系统:四、ADB常用指令大全设备相关操作1.查看连接的设备:2.重启设备:3.进入Bootloader模式:4.进入恢复模式(Recovery):5.查看设备运行状态:6.获取设备的序列号:7.查......