美国网络安全和基础设施安全局(CISA)近日发布的报告调查了172个关键开源项目的内存安全问题。报告显示,超过半数项目的代码存在内存不安全的情况,尤其在资源限制和性能要求高的情况下,开发人员依然选择使用内存不安全的语言。
关键开源项目的内存安全状态分布 来源:CISA
内存安全的重要性
调查结果
- 52%的关键开源项目包含内存不安全的代码。这些项目中55%的代码行数(LoC)是内存不安全的。大型项目大多数使用内存不安全的语言。暗LoC计算十大项目的内存不安全代码比例均超过26%,平均比例为62.5%,有些项目高达94%。即使用内存安全语言编写的项目也常常依赖于用内存不安全语言编写的组件。
一些关键开源项目的内存不安全代码比例如下:
- Linux:95%Tor:93%Chromium:51%MySQLServer:84%glibc:85%Redis:85%SystemD:65%Electron:47%
建议措施
此外,CISA还建议开发人员遵循安全编码实践,仔细管理和审核依赖关系,并执行持续测试,包括静态分析、动态分析和模糊测试,以检测和解决内存安全问题。
转自goupsec,原文链接:https://mp.weixin.qq.com/s/8YHlFJa0ujhhdjt80i0gIw
封面来源于网络,如有侵权请联系删除