谷歌:使用 Rust 后,安卓系统的内存安全漏洞数量大幅下降

【CSDN 编者按】你最常用的开发语言是哪种呢?近日,一位 IT 安全方面的自由撰稿人 Robert Lemos 在一篇文章中表示,软件公司和国家安全局督促开发人员转向内存安全编程语言,以消除高危缺陷的一个主要来源。

原文链接:https://www.darkreading.com/application-security/shift-memory-safe-languages-gains-momentum

译者 | 禾木木
出品 | CSDN(ID:CSDNnews)软件安全专家近期表示,软件行业正在针对一组有害的漏洞进行研究并取得进展,这些漏洞导致了绝大多数关键且可远程利用疯狂攻击。这类所谓的内存安全问题包括缓冲区溢出和释放错误后的使用,占软件公司披露的大部分应用程序安全问题。目前,最新数据显示,内存安全语言(如Java、C#和最近的Rust)的使用越来越多,导致整类漏洞在迅速减少。例如,谷歌透露,最新版本的 Android 操作系统使用内存安全编程语言(如Java、Rust 和 Kotlin)编写的新代码,比使用 C 和 C++ 等内存不安全语言编写的代码多,从而过去三年内存安全漏洞从 223 个降至 85 个。歌软件工程师 Jeffrey Vander Stoep 表示:“我们将继续专注于消除各类漏洞,重点关注最严重的。随着内存安全漏洞变得越来越少,我们预计研究界会将其漏洞发现工作重点放在其他漏洞上。” 内存安全漏洞比例几十年来,C 和 C++ 一直是软件行业的主力编程语言。然而,它们缺乏更多现代语言的内存保护,如 C#、Go、Java、Python、Ruby、Rust 和 Swift。根据应用程序安全公司 Veracode 的《软件安全状态》第 11 卷报告,59% 的 C++ 应用程序存在严重缺陷,而 JavaScript 和 Python 则分别为 9% 和 10%。


缓冲区溢出和蠕虫式漏洞
程序员总会很容易地写出有漏洞的代码,这已经成为大型软件公司的一个主要问题。例如,微软发现,直到 2018 年,在该公司软件中发现的漏洞中内存安全问题占了 70%。据软件弹性工程师 Alex Gaynor 在 2020 年的研究,总体而言,内存安全问题已占各种生态系统中所有漏洞的 60%-70%。

Veracode 首席技术官 Chris Wysopal 表示,这些漏洞很容易被利用来攻击应用程序,所以它们是导致大量入侵事件背后的根本原因:“内存损坏问题是最严重的缺陷之一,因为它们通常允许攻击者利用代码进行攻击,从而完全控制应用程序,在最坏的情况下,甚至可以创建蠕虫攻击,进而攻击其他漏洞。” 谷歌在其最近的博客文章中指出,在 Android 开发中,虽然内存安全漏洞只占 36%,但在关键安全漏洞中占 86%,在远程可利用问题中占 89%。


转向安全语言
出于这个原因,谷歌和其他公司敦促开发人员采用内存安全语言。 就谷歌而言,C 和 C++ 现在只占所有新代码的一半不到。事实上,最新版本的 Android 13 是第一个用内存安全语言编写大部分代码的系统。对许多开发者来说,Rust 取代了 C 和 C++——Rust 是一种专注于创建安全代码的高效编程语言,甚至国家安全局也在敦促公司采用内存安全的编程语言。然而,转换内存安全语言是不够的。虽然这些语言大幅降低了序员编写不安全代码的可能,但每种语言都有不同的保护级别。出于这个原因,NSA 还建议开发人员使用各种应用程序安全工具,从编译器选项到静态扫描器再到运行时分析,尽可能地强化应用程序。美国国家安全局在报告中表示:“软件分析工具可以检测到内存管理问题,操作环境选项也可以提供一些保护,但内存安全软件语言提供的固有保护可以防止或减轻大多数内存管理问题。另外,Veracode 的 Wysopal 也指出:“虽然内存安全编程语言并不是解决软件漏洞问题的独立解决方案,但它们为开发人员提供了指导,他们可以避免一些最严重的编程错误。目前,还很难概括并解释内存安全语言中漏洞数量较少的原因,因为它们的使用方式不同。但如果使用两种不同的语言来完成相同的任务,并且其中一种是内存安全语言时,那么一般它的漏洞就会更少,也不那么严重。 参考链接:https://www.darkreading.com/application-security/shift-memory-safe-languages-gains-momentum

☞“辞职后,全职做开源操作系统的我,如今月入 2.8 万元”☞“因使用 GitHub ,我们被取消了参赛资格”

周鸿祎:ChatGPT可能两三年内产生自我意识;字节加入大模型之战;Ubuntu下一版本默认不再支持Flatpak| 极客头条

相关推荐

  • 年薪最高达 170,000 美元,芯片大神 Jim Keller 和自造芯片的硅神童创业搞晶圆厂,广发英雄帖!
  • 奇舞周刊第 483 期:2023 年你应该关注的 JavaScript 趋势
  • 四天工作制,是时候慢慢到来了。
  • 乔布斯出生 | 历史上的今天
  • 细数开源安全9大现状:恶意软件服务成为商品,人为错误成最大风险,全球形势喜忧参半
  • “因使用 GitHub ,我们被取消了参赛资格”
  • 她这样“博眼球”的网红,越多越好
  • 这种“茶里茶气”的墨镜今年太火,能折叠,多色可选(买1送1)
  • 董宇辉回应离职,首次透露工资收入:原来,我们都被骗了!
  • 携程Java三面面经,已OC!!
  • Puppet 2023 DevOps 现状报告:平台工程有助于提升开发效率
  • 中美云市场分析:未来4年1万亿,美国云收入比中国高8倍
  • 全球架构师峰会即将召开,看字节、阿里、施耐德、奔驰企业讲什么话题 | ArchSummit
  • ChatGPT版必应花式翻车:爱上用户诱其离婚,威胁人类“如果两个只能活一个,我选我自己”
  • 技术裁员正在助长新的创业潮:本来犹豫要不要创业,没想到公司替我做了决定
  • Spring Boot 部署打包成 jar 和 war 有什么不同?
  • 找个体面又高薪的工作,再找个漂亮老婆,然后...
  • 硅谷大佬:我为什么要逃离谷歌?
  • 一块RTX3090跑ChatGPT体量模型的方法来了!代码已开源
  • Web Speech API开发者指南:它是什么以及如何工作