写点什么

谷歌发布最新报告: Rust 可显著减少安全漏洞

  • 2024-10-16
    北京
  • 本文字数:1529 字

    阅读完需:约 5 分钟

大小:735.69K时长:04:11
谷歌发布最新报告: Rust 可显著减少安全漏洞

谷歌表示,过去六年来,其优先考虑内存安全软件开发的努力已大幅减少安卓操作系统中的内存安全漏洞数量。

 

在最近发布的报告中,谷歌透露,因内存安全问题导致的安卓漏洞比例已从 2019 年的 76%下降至预计 2024 年底的 24%,这显著低于行业标准的 70%。

 

这是安卓代码风险状况的显著改善,安卓安全团队成员 Jeff Vander Stoep 和谷歌高级软件工程师 Alex Rebert 将此归功于采用了安全编码(Safe Coding)。这是一套软件开发实践,旨在通过内存安全编程语言(包括 Rust)、静态分析和 API 设计来避免引入漏洞。

 

据安卓团队观察,Rust 变更的回滚率不到 C++ 的一半。

 

Vander Stoep 和 Rebert 说:“前几代人向安全编码所做的转变可以通过开发代码时所做断言的可量化性来体现。”

 

“安全编码使我们能够对代码的属性以及基于这些属性可能发生或不可能发生的情况做出强有力的断言,而不是关注所应用的干预措施(如缓解和模糊测试),或试图利用过去的表现来预测未来的安全性。”

 

使用 C#、Go、Java、Python、Swift 和 Rust 等内存安全编程语言开发软件是安全编码的重要组成部分。在大型代码库中,大多数的严重安全漏洞都源于缓冲区溢出等内存安全缺陷。这一认识促使公共和私营部门广泛推动减少内存安全漏洞的发生。

 

为了实现这一目标,我们主要建议避免使用 C 和 C++,因为这两种语言需要手动进行内存管理,除非开发人员特别敬业,否则容易导致内存漏洞。(这一点在 C/C++ 社区中也得到了关注,内存安全已成为该社区的首要任务。)

 

对谷歌而言,国际内存安全运动意味着在安卓和其他项目中更多地采用 Rust 进行开发,这在大多数情况下能够提供内存安全保障而不影响性能。同时,这种做法还提高了工作效率。

 

Vander Stoep 和 Rebert 说到,“安全编码将缺陷查找工作进一步向左转移,甚至在代码提交之前,从而提高了代码的正确性和开发人员的工作效率”。

 

“我们看到这种转变体现在一些重要的指标上,比如回滚率(因意外错误导致的代码紧急回退)。安卓团队观察到,Rust 变更的回滚率不到 C++ 的一半。”

 

对于拥有大量不安全遗留代码的企业来说,好消息是可能不需要用新语言重写旧代码。正如 Vander Stoep 和 Rebert 所指出的,漏洞是有半衰期的——它们会随着时间的推移而衰减。他们说,“举例来说,根据平均漏洞寿命,5 年前的代码比新代码的漏洞密度低 3.4 倍(基于研究结果中的寿命)到 7.4 倍(基于在安卓和 Chromium 中观察到的寿命),”。

 

这并不是说旧漏洞会奇迹般地变得不可利用。相反,漏洞总体密度的降低,这是统计上的胜利,但并不意味着安全有了保障。

 

即便如此,通过使旧代码与内存安全代码实现互操作,以及使用内存安全语言编写新代码,现有漏洞的自然衰减率往往会使大型代码库随着时间的推移变得更加安全,而无需进行繁琐的代码修订。如果你停止制造新的内存安全漏洞,旧的漏洞至少在总体上就不会成为问题。

 

Vander Stoep 和 Rebert 说,“在新代码中采用安全编码是一种范式转变,使我们能够利用漏洞的固有衰减特性来发挥我们的优势,即使在大型现有系统中也是如此。”

 

“这个概念很简单:一旦我们切断了新漏洞的源头,这些漏洞就会呈指数级减少,从而使我们所有的代码更加安全,提高安全设计的有效性,并缓解与现有内存安全策略相关的可扩展性挑战,使这些策略能够更加有效和更加有针对性地得到应用。”

 

作者简介:

Thomas Claburn,The Register 网络杂志的资深记者。他的专长在于政府信息技术、软件开发以及人工智能的伦理使用。Thomas 在技术出版领域拥有近 30 年的经验,曾担任过从杂志版块编辑到特约编辑的多种职务。

 

原文链接:

 

https://www.theregister.com/2024/09/25/google_rust_safe_code_android

 

声明:本文为 InfoQ 翻译整理,未经许可禁止转载。

2024-10-16 16:5010758

评论

发布
暂无评论
发现更多内容

用WeLink连接每一位员工,加速打造“数字易立德”

平平无奇爱好科技

PDF怎么转换成PPT文件?用这个AI在线转换工具,轻松搞定!

彭宏豪95

效率 职场 在线白板 办公软件 AIGC

Adjustable Precision Shunt Regulator

芯动大师

释放心中的野兽

一跃皑皑

研发效能是不是一个伪命题:关于研发效能的思考

思码逸研发效能

专家+教授联手打造,带你快速掌握人工智能测试开发技术,快速提升竞争力

霍格沃兹测试开发学社

通过 Kong Gateway 性能基准和开源测试套件实现透明度和信任

Gingxing

kong API网关 Kong 网关 消息网关 Kong Gateway

开启软件架构设计之门:初识软件架构设计的奥秘

灸哥漫谈

架构师 软件架构设计 系统架构师 系统架构设计

OpenAI 视频生成模型发布,创作者如何利用 AI 工具最大化提升创作效率?

算法的秘密

基于 Amazon S3 Express One Zone 和 Amazon SageMaker 的图像分类模型实战—深析新旧产品突显 Express One Zone 在性能上的优势

亚马逊云科技 (Amazon Web Services)

AI板块的火热,现在参与Gensyn来得及吗?

币离海

AI Gensyn

软件质效领航者!思码逸荣获中国信通院2023“软件质效领航者”优秀案例

思码逸研发效能

探秘软件公司开发各种小程序、APP、网站、应用程序的开发方案及优惠报价

天津汇柏科技有限公司

创业 软件定制 定制开发 定制软件开发 软件开发定制

Java 包和 API 深度解析:组织代码,避免命名冲突

小万哥

Java 程序人生 编程语言 软件工程 后端开发

预算有限,资源冗余?DWS集群缩容如何帮你解决烦劳

华为云开发者联盟

数据库 华为云 华为云开发者联盟 华为云GaussDB(DWS)

CQ 社区版 2.9.0 | 新增告警配置、GaussDB-DWS、脱敏数据可明文查询等

BinTools图尔兹

告警 数据脱敏 数据库管控 SQLite编辑器

揭秘百度数仓融合计算引擎

百度Geek说

百度 数据引擎

听到心声,看见变化——WeLink助力上海理工大学打造“校园12345服务平台”

平平无奇爱好科技

谷歌发布最新报告: Rust 可显著减少安全漏洞_编程语言_Thomas Claburn_InfoQ精选文章