团队如何利用白宫关于安全和可测量软件的报告

  • 2025-05-13
  • 1

政府报告呼吁加强软件安全

关键要点

白宫国家网络主任办公室ONCD提出软件安全和可测量性的重要性。鼓励软件制造商使用内存安全的编程语言,避免因使用传统语言带来的风险。强调开发有效的指标来衡量软件的网络安全质量,涵盖开发过程、软件分析和运行环境。

上周,白宫国家网络主任办公室ONCD发布了一份关于如何使行业走向安全且可测量的软件的报告。报告突出以下两个方面,这些方面能够改善软件安全,并呼吁技术社区采取措施解决这些问题。

第一个方面是采用内存安全的编程语言。第二个是关注开发诊断工具,以便衡量网络安全的质量。

以下是主要内容概述:

内存安全的编程语言

报告特别建议软件制造商避免使用 C 和 C 等传统编程语言,因为它们引入了内存安全风险,而这些问题在新一代编程语言中得到了很大程度的解决。

团队如何利用白宫关于安全和可测量软件的报告

衡量网络安全质量

ONCD 报告还提出,行业需要更好的方法来衡量软件的安全性,主要集中在三个不同的领域:开发过程、软件分析与测试,以及执行运行时环境。

尽管 C 和 C 语言存在明显的安全问题,但它们仍然获得了广泛的应用。这是因为这些语言在很多情况下较快,并且提供了更高的细粒度,例如内存分配,而这又造成了它们所需消除的风险。此外,这些语言在硬件、内核、驱动程序和操作系统等多个领域发挥着重要作用,难以被其他语言所取代。

衡量软件安全的挑战

衡量软件安全是一项挑战,主要由于当前应用开发的复杂性和各个部分的相互关联缺乏可见性和理解,导致缺乏上下文。这种情况下,衡量指标变得笼统且无效。例如,当前使用的 CVSS 分数在如何将漏洞映射到实际风险时,往往意义不大。

建设安全且可测量软件的建议

首先,尽可能使用现代编程语言,这些语言是内存安全的,从而避免旧语言中存在的已知风险,例如越界读写或“释放后使用”漏洞。在已经使用传统语言开发的产品中,可以采取一些步骤增强安全性。首先,使用现代编程范式生成更安全可靠的代码。其次,应用安全工具如模糊测试和清理器在生产前找到问题。最后,在可能的情况下进行适当的权限分离,以最小化应用中漏洞被利用时的影响范围。

加速器小火箭

关于指标,一切归结于可见性和关联性。如果公司关于应用程序的信息处于孤立状态,就很难创建有意义的指标。应用安全态势管理工具可以帮助整合和关联来自公司不同安全工具、开发环境和云环境的信息。

了解与组织及其风险承受能力相关的风险指标也将帮助团队制定通用政策,使其能够更轻松地建立能展示组织在应用安全程序中进展的指标。

团队还需使用显示相关且实际的风险降低的指标。这需要了解应用程序、运行时环境和缓解措施之间的联系,而这需要从整体上了解软件工厂及其所生成的代码。我们刚刚解决了一些不重要的低风险漏洞吗?我们是否花费时间在已经在其他地方缓解的关键漏洞上,或这些漏洞并不适用于我们的风险状况?

团队需要结合可见性,创建有意义的指标,以推动应用安全程序,并提供 ONCD 报告所提及的安全且可测量的软件。

Joe Nicastro,Legit Security 首席技术官