美国网络安全和基础设施安全局 (CISA) 和联邦调查局 (FBI) 最新发布了一份《Product Security Bad Practices》指南,旨在警示软件开发商在整个产品开发过程中优先考虑安全性、规避不良实践;其中还再次提及了使用 C/C++ 等 “内存不安全” 的编程语言风险性。
该文件主要面向开发用于支持关键基础设施或 NCF 的软件产品和服务(包括内部部署软件、云服务和软件即服务 (SaaS))的软件制造商。CISA、FBI 将不良实践具体划分为三大类:
文件指出,在有现成的内存安全替代语言可供替代的情况下,使用内存不安全语言(如 C 或 C++)开发服务于关键基础设施或国家控制框架的新产品线是危险的,会显着增加国家风险安全、国家经济安全、国家公共卫生和安全。
对于以内存不安全语言编写的现有产品,如果在 2026 年 1 月 1 日之前没有发布内存安全路线图,那将是非常危险的,会显着增加对国家安全、国家经济安全以及国家公共健康和安全的风险。内存安全路线图应概述开发商的优先方法,以消除优先代码组件(例如,面向网络的代码或处理加密操作等敏感功能的代码)中的内存安全漏洞。开发商应证明内存安全路线图将导致开发商产品中内存安全漏洞的显着、优先减少,并证明他们正在做出合理的努力来遵循内存安全路线图。这不适用于已宣布支持终止日期早于 2030 年 1 月 1 日的产品。
建议采取的措施:软件开发商应以系统地防止内存安全漏洞引入的方式构建产品,例如使用内存安全语言或防止内存安全漏洞的硬件功能。此外,软件开发商应在 2026 年 1 月 1 日之前发布内存安全路线图。
一些其他不良实践具体还包括:
CISA 鼓励组织遵循指南中的建议,但该指南并不具有约束力。CISA 已就其指南开启了公众意见征询期,截止日期为 2024 年 12 月 16 日。
(文/开源中国)