美国当地时间2021年5月12日,总统拜登发布关于增强国家网络安全的第14028号行政令(EO),要求美国商务部下属机构国家标准技术局 (NIST) 在行政令发布45天内,给出“关键软件”的定义。

当地时间6月24日,NIST 发布了该定义并给出了隶属于“关键软件”的初步软件分类。NIST 指出,关于按照行政令应用该定义的其它指南由关键基础设施安全局(CISA)和管理预算办公室 (OMB) 发布,CISA 将发布在初步和未来执行行政令所需的最终软件分类。

NIST 发布的这份文档首先介绍了关于“关键软件(critical software)“中”关键“的定义,其次介绍了”关键软件“的定义,最后给出了属于该定义的初步软件分类以及相关问答。

“关键”的定义

NIST 指出,现在已有很多关于“关键”一词的定义和用法,不过它们大多基于技术如何支持多种任务或进程,如“安全关键”或“关键的基础设施”这些词语。而行政令中使用的“关键”一词稍有不同,因为它并非基于用法的上下文,而是基于既定软件的属性使其在多数情况下是“关键“的。即,它关注的是解决网络操作和安全的底层基础设施的关键功能。

NIST 指出,为了区分常见的“关键“用法以及行政令中的定义,文档中使用”EO-关键“来区分可能引起歧义的情况。

“关键软件”的定义

NIST 文档指出,“EO-关键软件”指的是具有如下特点的任意软件:拥有一个或多个组件且组件具备以下至少一种属性,或者拥有直接的软件依赖关系且该依赖关系所依赖的组件具备以下至少一种属性:

  • 组件旨在以提升后的特权运行或者旨在管理特权;

  • 具有对网络或计算资源的直接或特权访问权限;

  • 旨在控制对数据或运营技术的访问权限;

  • 执行信任关键功能;或者

  • 以特权访问权限在正常信任边界以外操作。

其中,“信任关键”涵盖了用于安全功能的软件类别,如网络控制、端点安全和网络防护。该定义适用于所购买或部署在生产环境和用于操作目的的所有形式的软件(如独立软件、某具体设备或硬件组件包含的软件、云软件)。其它使用情况如仅用于研究或测试、未部署到生产系统种的软件并不在涵盖在内。

NIST提到“关键软件”的定义关注的是软件的功能而非用途,因此各机构不能根据软件的用途来判定是否为“EO-关键软件”。

NIST 在文档种特别提到,如果开源软件执行的功能符合“EO-关键”的定义,则属于“EO-关键”软件。在实践中,开源软件通常集成在其它产品中。在这种情况下,产品开发人员认为开源组件是自身开发流程中的一部分。在其它情况下,开源软件是一种独立产品。在这种情况下,行政令的要求仍然适用。

所含11类软件

NIST 建议行政令的初步实现阶段主要关注具有安全关键功能的软件,或者如遭攻陷会造成类似潜在重要损害的软件。之后的实现阶段可解决其它软件类别,如:

  • 控制数据访问权限的软件;

  • 基于云的软件和混合软件;

  • 软件开发工具如代码仓库系统、开发工具、测试软件、集成软件、封装软件和部署软件;

  • 引导层固件种的软件组件;或

  • 运营技术(OT)中的软件组件。

NIST 给出的属于“关键软件”的初步软件类别如下,共11类。

完整文档可见:https://www.nist.gov/system/files/documents/2021/06/25/EO%20Critical%20FINAL_1.pdf

声明:本文来自代码卫士,版权归作者所有。文章内容仅代表作者独立观点,不代表士冗科技立场,转载目的在于传递更多信息。如有侵权,请联系 service@expshell.com。