美政府建议停止使用C/C++ 转用内存安全编程语言
2024-02-29 14:01:18 小编:3DM整理 我要评论
IT之家2月29日消息,美国政府近日发布了一份网络安全报告,呼吁开发人员停止使用容易出现内存安全漏洞的编程语言,例如C和C++,转而使用内存安全的编程语言进行开发。这份报告由美国网络空间总监办公室(ONCD)发布,旨在落实美国总统拜登的网络安全战略,目标是“保护网络空间的基石”。
内存安全指的是程序在访问内存时能够避免出现错误和漏洞,例如缓冲区溢出和悬空指针。Java由于其runtime错误检测功能,被认为是一种内存安全的语言。然而,C和C++允许直接操作内存地址,并且缺乏边界检查,容易出现内存安全问题。
报告援引微软和谷歌的研究数据,指出超过70%的安全漏洞都与内存安全问题有关。报告还引用了美国网络安全和基础设施安全局(CISA)的开源软件安全路线图,建议开发人员从一开始就使用内存安全的编程语言,进行“安全设计”式的开发。
这份报告长达19页,旨在强调网络安全不仅仅是个人的责任,更是大型组织、科技公司和政府的共同责任。报告没有推荐特定的编程语言替代C和C++,而是强调有多种内存安全的编程语言可供选择。报告还呼吁企业和工程师采用最佳软件开发实践,并使用内存安全的硬件,以减少恶意攻击的可能性。
据悉,美国国家安全局(NSA)在去年11月发布的网络安全信息文件中,列出了他们认为安全的编程语言,其中包括:
Rust
Go
C#
Java
Swift
JavaScript
Ruby
但根据TIOBE指数(衡量编程语言流行程度的指标),C#位居排行榜第5位,Java第4位,JavaScript第6位,Go第8位,Swift第16位,Rust第18位,Ruby第20位。可见,NSA推荐的语言中只有4种属于开发者最常用的语言。
该报告还强调了软件安全评估的重要性,并认为更好地评估标准能够帮助科技公司更好地规划、预测和缓解漏洞风险。报告还以阿波罗13号登月任务为例,强调了在太空探索等关键领域使用内存安全代码的重要性。
这份报告是美国政府一系列网络安全举措的一部分。2023年3月,拜登总统签署了网络安全行政命令,旨在加强软件和硬件安全,并与科技行业建立合作关系。随着数字化的不断推进,更安全的编程语言和开发方式变得至关重要,这份报告正是呼吁业界重视这一问题的最新举措。