CISA:多数重要的开源项目未使用内存安全代码

aef8bd2e56a24e0b2ab90bab699799db.gif 聚焦源代码安全,网罗国内外最新资讯!

编译:代码卫士

dd07aeba9ad341e284360b4dd3ce67fc.gif

美国网络安全和基础设施安全局 (CISA) 对172个关键的开源项目开展了它们是否易受内存缺陷攻击的调查。该报告由美国联邦调查局 (FBI)、澳大利亚信号局 (ASD) 和澳大利亚网络安全中心 (ACSC) 以及加拿大网络安全中心 (CCCS) 联合签名,是对2023年12月发布的《内存安全路线图案例》的跟进研究,旨在提醒人们意识到内存安全代码的重要性。

6fc6318bbdcbadd64baa3d396d2e5664.gif

内存安全

0ee64dc2cd3b952861f17b41e2e11223.gif

内存安全语言是指旨在阻止常见的与内存相关的错误的编程语言,这些错误包括缓冲溢出、释放后使用和其它内存损坏类型。这些编程语言自动管理内存,而非依赖于程序人员执行安全内存分配和解除分配机制。

现代安全语言系统的一个例子是 Rust 的借用检查器,它会消除数据竞争。其它语言如 Golang、Java、C#和Python通过垃圾回收来管理内存,以自动化方式重新收回被释放的内存以阻止它们遭利用。

内存不安全语言是指不提供内置内存管理机制的语言,他们将这个责任转嫁给开发人员,从而增加了出现错误的可能性。这类语言包括C、C++、Objective-C、Assembly、Cython 和D。

广泛使用的开源代码是不安全的

6aee361cb21aed266c1c6c9d093d217e.gif

报告审计了172个广泛部署的开源项目,发现超过一半的项目包含内存不安全代码。

该报告的主要发现如下:

  • 52%的开源项目中包括使用内存不安全语言编写的代码。

  • 55%的代码使用内存不安全语言编写。

  • 最大规模的项目很大比例使用内存不安全语言编写。

  • 在按照代码总行数排列的十大项目中,每个项目的内存不安全代码总行数占比超过26%。

  • 这些大型项目中内存不安全代码总行数的中位数比例是63.5%,其中四个项目占比超过94%。

  • 即使是使用内存安全语言编写的项目也经常依赖于以内存不安全语言编写的组件。

一些值得关注的案例包括 Linux(不安全代码的比例95%)、Tor(93%)、Chromium(51%)、MySQL Server(84%)、glibc(85%)、Redis (85%)、SystemD (65%) 和 Electron (47%)。

内存不安全语言使用比例

项目数量

所有项目占比

内存不安全项目占比

0%

82

48%


>0%,≤25%

31

18%

34%

>25%,≤50%

12

7%

13%

>50%,≤75%

23

13%

26%

>75%,≤95%

20

12%

22%

>95%,≤100%

4

2%

5%

CISA 解释称,软件开发人员面临多种挑战,常常不得不使用内存安全语言,如资源限制和性能要求等。当执行底层功能如网络、加密和操作系统功能时更是如此。

CISA 在报告中指出,“我们发现很多重要的开源项目部分使用内存不安全语言编写,有限的依赖分析表明项目通过 继承了使用内存不安全语言编写的代码。在性能和资源限制是重要因素的情况下,我们发现并认为内存不安全语言会被继续使用。”

CISA 还强调了开发人员禁用内存安全性能的问题,或者是错误或者是故意为之,以满足特定要求,导致即使使用理论上更安全的构建块时,仍然存在风险。最后,CISA建议软件开发人员使用内存安全语言如 Rust、Java和GO来编写新代码并将现有项目尤其是关键组件的语言转化到这些语言。

另外,CISA建议遵守安全编码实践,仔细管理和审计依赖,持续测试包括静态分析、动态分析和模糊测试,检测并解决内存安全问题。

代码卫士试用地址:https://codesafe.qianxin.com

开源卫士试用地址:https://oss.qianxin.com


推荐阅读

美国政府督促开发人员使用内存安全语言

五眼联盟发布关于消除内存安全漏洞的指南

NSA发布软件内存安全问题缓解指南

70% 的Chrome漏洞是内存安全问题,谷歌和开发人员约法三章

原文链接

https://www.bleepingcomputer.com/news/security/cisa-most-critical-open-source-projects-not-using-memory-safe-code/

题图:Pexels License

本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

a89d9f53c3a38638d436f64433e3c9f9.jpeg

a7e8d2a7d01d2f55539162e474533084.jpeg

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。

   e6a11bb28190d5765f933ca8b0f14f6a.gif 觉得不错,就点个 “在看” 或 "赞” 吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值