C/C++ 大限将至?美政府强推“去 C”行动,引发业界争议
2024 年 11 月 1 日 – 美国政府正在对软件安全问题采取前所未有的强硬措施,其最新举措将对 C/C++编程语言的未来产生深远影响。美国网络安全与基础设施安全局 (CISA) 和联邦调查局 (FBI) 近期发布的报告中,明确指出使用 C 和 C++ 语言开发关键基础设施软件存在重大安全风险,并要求相关企业在 2026 年 1 月 1 日前制定明确的内存安全迁移路线图。
CISA 的强硬立场引发了软件开发行业的广泛关注和争议。 尽管 CISA 强调其目标是确保国家安全、经济安全和公共安全,但许多开发者和专家对 C/C++的“全面去 C”计划表示担忧。
CISA 的担忧并非空穴来风。 C 和 C++ 语言因其灵活性和高效性而被广泛应用于各种软件开发领域,但其缺乏内存安全机制也使其成为攻击者的目标。近年来,利用 C/C++语言漏洞发起的网络攻击事件屡见不鲜,给关键基础设施和国家安全带来了巨大威胁。
CISA 的报告将“不良实践”分为三大类别:
- 产品属性: 涉及软件产品本身的安全属性,例如代码质量、漏洞数量等。
*安全功能: 描述产品所支持的安全功能,例如身份验证、加密等。 - 组织流程和政策: 描述软件开发商在安全方面采取的措施,例如代码审查、漏洞修复等。
CISA 的要求并非仅仅针对新开发的软件,也包括现有的C/C++ 代码库。 报告指出,到 2026 年 1 月 1 日,所有关键基础设施软件都必须制定明确的内存安全迁移路线图,否则将被视为存在安全风险。
然而,CISA 的要求也面临着巨大的挑战。首先,将现有的 C/C++ 代码库迁移到其他内存安全语言需要巨大的时间和成本,许多企业难以承受。其次,C/C++ 语言在许多领域仍然具有不可替代的优势,例如高性能计算、嵌入式系统等。
C++ 之父 Bjarne Stroustrup 对 CISA 的“去 C”计划提出了反驳。 他认为,C++ 语言一直在不断发展,现代 C++ 已经加入了大量安全特性,能够有效地降低安全风险。他强调,安全问题并非由编程语言本身决定,而是由开发人员的编码习惯和安全意识决定。
CISA 的“去 C”计划引发了业界广泛的讨论和争议。 许多专家认为,CISA 的目标是值得肯定的,但其方法过于激进,可能会对软件开发行业造成负面影响。
未来,CISA 的“去 C”计划将如何实施,C/C++ 语言将如何发展,这些问题都将继续引发关注。
参考文献:
- CISA Secure by Design: Memory Safety
- The Case for MemorySafe Roadmaps
- Bjarne Stroustrup: C++ is not the problem
请注意: 本文仅供参考,并非最终结论。CISA 的“去 C”计划是一个复杂的问题,需要从多个角度进行分析和讨论。
Views: 0