美国NIST《软件供应链安全指南》解析
2022-03-02 11:09:11   来源:安全妹儿jing FreeBuf.COM   评论:0 点击:

供应链安全是当下比较热门的安全话题,究其原因是供应链安全牵一发动全身,对各国经济发展和数字社会的稳定具有深刻的影响。

供应链攻击是一种危害和破坏性极强的网络攻击,是针对组织供应链(上游、中游、下游)中的薄弱环节实施的网络安全攻击,涉及范围广,且难以检测。

当前针对这一安全问题,已经有不少国家都出台了新的政策法规来指导本国的供应链安全管理,以提高供应链安全韧性。

英国于 2020 年 11 月推出《电信(安全)法案》(The Telecommunications (Security) Bill),并于 2021 年 1 月进行了更新,旨在赋予政府前所未有的新权力,以提高英国电信网络的安全标准,并消除高风险供应商(high risk vendors)的威胁。根据该法案,虽然高风险供应商已经被禁止进入网络中最敏感的"核心"部分,但法案将允许政府对电信运营商使用高风险供应商提供的货物、服务或设施的行为实施控制。如果公司没有履行新的义务,或者没有遵循关于使用高风险供应商的指示,可能会面临高达营业额 10%的重罚,如果持续违规,则每天罚款 10 万英镑。英国通信监管部门 OFCOM 将被赋予监控和评估电信运营商安全的职责。

澳大利亚于 11 月 15 日发布《关键技术供应链原则》(Critical Technology Supply Chain Principles),从安全设计、透明度和诚信三个方面制定了十项基本原则,帮助企业安全地采用和开发人工智能、量子计算、区块链等关键技术,供其自愿遵守。

美国拜登政府对供应链安全问题也十分重视,尤其是以半导体芯片为基础的硬件供应链以及软件供应链安全问题。

2021 年2月24日,拜登签署第 14017 号《确保美国供应链安全行政令》,要求对包括半导体芯片在内的 4 类产品的供应链展开为期 100 天的风险审查。4 月底,美国网络安全与基础设施安全局(CISA)和美国国家标准与技术院(NIST)联合发布《防御软件供应链攻击》报告,首次对软件供应链进行界定,并给出与软件供应链攻击相关的信息、关联风险以及缓解措施。

5月12日,拜登签署第 14028 号行政令《改善国家网络安全》(E.O 14028, Improving the Nation’s Cybersecurity),其中指示美国国家标准与技术研究院 (NIST) 发布软件供应链安全实践指南。2022年2月4日,NIST发布了“第 14028 号行政令 第 4e 节下的软件供应链安全指南”。

本篇文章主要介绍NIST在2月初发布的“第 14028 号行政令 第 4e 节下的软件供应链安全指南”,以供大家了解。

一、介绍

该文件是以拜登签署的第 14028 号行政令,其中第 4节: “Enhancing Software Supply Chain Security(增强软件供应链安全)”,(e)小节为背景。

以下为(e)小节文本开头,其后为(i)-(x)十个编号项目。

(e) Within 90 days of publication of the preliminary guidelines pursuant to subsection (c) of this section, the Secretary of Commerce acting through the Director of NIST, in consultation with the heads of such agencies as the Director of NIST deems appropriate, shall issue guidance identifying practices that enhance the security of the software supply chain. Such guidance may incorporate the guidelines published pursuant to subsections (c) and (i) of this section. Such guidance shall include standards, procedures, or criteria regarding:

在根据本节 (c) 小节发布初步指南后的 90 天内,商务部长通过 NIST主任或与 NIST 主任认为适当的此类机构的负责人协商, 应发布关于确定增强软件供应链安全的实践指南。指南中可能包含根据本节 (c) 和 (i) 小节发布的指南。

第 14028 号行政令还指示管理和预算办公室 (OMB) 要求各机构遵守已发布的指南。

1645782272_6218a5008f11bbceffb1b.png!small?1645782272823

该指南主要是为承担软件采购相关职责的联邦机构工作人员,例如,采购和采购官员、技术专业人员等给出了指导方针。这些指导方针用来帮助购买者了解软件生产者需要提供哪些信息来了解他们的安全软件开发实践。

二、指南目的及范围

第 14028 号行政令强调“联邦政府使用的软件的安全性对于联邦政府执行其关键职能的能力至关重要”,并且“迫切需要实施更严格和可预测的机制以确保产品安全并如期运行。” 因此,出于以上原因,应在整个软件生命周期中集成安全软件开发实践:

1)减少已发布软件中的漏洞数量;

2)减少利用未检测到或未解决的漏洞的潜在影响;

3)解决发生漏洞的根本原因,防止漏洞再次出现。

在发布该指南之前,NIST 已经发布了SP 800-218《安全软件开发框架(SSDF)v1.1:降低软件漏洞风险的建议》, 这份出版物从软件生产者的角度解决了第 4e 节中的要求。

软件生产者是实施 SSDF 实践的人。而第 14028 号行政令的 4k 节解释说,联邦机构将需要遵守针对第 4e 节的 NIST 指南。因为联邦机构是软件购买者,而不是软件生产者,所以需要额外的指导来从软件购买者的角度处理第 4e 节的要求。这也是该指南存在的原因。

软件购买者使用该指南中提供的建议,能够帮助他们在采购软件产品时,主动去了解软件生产者在整个软件生命周期中是否一直遵循基于风险的安全软件开发方法,并且要求软件生产者提供相应的证明信息,以便采购者做出基于风险的软件采购决策。这些建议从软件购买者的角度解决了第 4e 节中的所有要求。

该指南的范围包括采购固件、操作系统、应用程序和应用程序服务(例如,基于云的软件),以及包含软件的产品。另外,购买的软件捆绑、集成或以其他方式使用的开源软件也在本指南范围内。

三、术语

指南中给出了几个术语的定义,分别是:

合格评定:“满足特定要求的证明”。【来源:ISO/IEC 17000】。在第 4e 节的上下文中,“特定要求“对应的是安全软件开发实践,因此合格评定表明软件生产者已经为其软件遵循了安全的软件开发实践。

认证:“根据决定发表声明,表明已证明符合特定要求。” 【来源:ISO/IEC 17000】。

1)如果软件生产者自己证明它符合安全软件开发实践,则可以通过提供第一方证明、自我证明、声明和供应商的符合性声明等方式。

2)如果软件购买者证明软件生产者符合安全软件开发实践,则称为第二方证明。

3)如果独立第三方证明软件生产者符合安全软件开发实践,则称为第三方证明或认证。

工件:“一件证据”。【改编自NISTIR 7692】。证据是“相信或不相信的理由或依据、用来证明或证实真理或谬误的数据。”【来源:NIST SP 800-160 Vol.1]】。实际上,工件是提供安全软件开发实践的记录

1)在软件开发过程中将生成低等级工件,例如威胁模型、日志条目、源代码文件、源代码漏洞扫描报告、测试结果、特定软件的基于风险的缓解策略等。这些工件可以手动或通过自动方式生成,并由软件生产者维护。

2)可以通过总结来源于低等级工件的安全软件开发实践来生成高等级工件。例如:可公开访问的文档,该文档具体描述了软件生产者用于软件开发的安全实践方法、过程和流程。

第 14028 号行政令第 4e 节的以下小节中使用了这些术语:

(ii) 根据购买者要求,生成并提供证明符合本节第(e)(i)小节所述流程的工件;

(v) 根据购买者要求,提供本节 (e)(iii) 和 (iv) 小节所述工具和流程的执行工件,并公开完成这些操作的概要信息,包括评估和减轻风险的简要描述;

(ix) 证明符合安全软件开发实践。

换言之,当购买者购买软件或包含软件的产品时,其应从软件生产者处获得该软件开发符合政府规定的安全软件开发实践的证明。购买者还能要求软件生产者提供能够证明其符合第 4e 节 (i)、(iii) 和 (iv) 小节中描述的安全软件开发实践的材料。

(i) 安全的软件开发环境,包括:

A、使用管理上独立的开发架构环境;

B、审计参与软件开发相关人员之间的信任关系;

C、在整个企业范围内建立多因素、基于风险的身份验证和条件访问;

D、记录并最大限度地减少对企业产品的依赖,这些产品是用于开发、构建和编辑软件环境的一部分;

E、对数据进行加密;

F、监控操作和警报,并对潜在的和已发生的网络事件做出响应;

(iii) 使用自动化工具或类似流程来维护可信的源代码供应链,从而确保代码的完整性;

(iv) 使用自动化工具或类似流程来检查已知和潜在漏洞并进行修复,这些工具应定期运行,或至少在产品、版本或更新发布之前运行;

四、证明符合安全软件开发实践(SSDP)

NIST对购买者在购买软件或包含软件的产品时提供了以下最低水平建议,帮助购买者和软件生产者之间建立清晰的沟通。

1、使用SSDF 的专业术语和结构来进行有关安全软件开发要求的沟通(统一用语)。这使所有软件生产者在为购买者证明产品符合性时都可以使用相同的词汇。软件生产者可以将他们的安全开发方法映射到 SSDF 的安全软件开发实践。

2、要求软件生产者提供涵盖整个软件生命周期过程中一部分执行的安全软件开发实践证明。由于当今软件的高度动态性,证明事情是如何在持续的(流程和程序)基础上完成的通常比证明这些流程的一个实例生成的特定软件版本是如何完成的更有价值。对于发布后的实践(如漏洞披露和响应)来说尤其如此,在这些实践中,可能存在尚未针对最新版本的执行流程。

3、要求软件生产者提供第一方证明来证实其软件开发过程符合 SSDF 实践,除非考虑到额外风险,确实需要第二方或第三方证明,否则优先要求提供第一方证明。建议使用第一方证明来满足第 14028 号行政令的要求。 这与 NIST SP 800-161 Rev. 1(第二稿)中的指南一致,该指南在第1.2 节中指出:“有多种可接受的验证和再次验证方法,如必要的认证、现场访问、第三方评估或自我证明。所要求方法的类型和严格程度应与所购买的服务或产品的重要性以及相应的保证要求相称”。

4、优先要求软件生产者提供高等级工件。软件生产者应该能够将高等级工件中总结的实践同步到由这些实践生成的相应低等级工件中。不建议为特定软件版本要求低等级工件以满足第 14028 号行政令的要求,尽管可能需要满足其他机构的要求。 避免低等级工件的原因主要是:

低等级工件仅提供安全软件开发的一小部分快照,而高等级工件可以提供有关如何执行安全软件开发的全局视图。

工件应满足接收它们的受众的需求,从而以可用的格式为该受众提供必要的信息。了解低等级工件需要购买者花费大量技术资源和专业知识来分析它们,并确定如何在更广泛的安全软件开发实践的背景下考虑它们。

低等级工件通常包含知识产权或其他专有信息,或攻击者可用于恶意目的的详细信息,因此如果接受低等级工件,购买者将对额外敏感信息提供保,增加了不确定风险。

以上这些最基础的建议适用于购买者采购的在本指南范围内的所有软件,要求软件生产者提供的这些证明,应该是每个软件生产者在软件开发流程中的一部分。购买者可以在此基础上对安全软件开发提出的更严格的要求。

在某些情况下,这些最低限度的做法是不够的。例如,一个购买者可能需要更深入地了解特定产品的安全软件开发实践,以便更好地确定该产品是否会增加所在机构的网络安全风险。但有一点,购买者需要考虑到,如果对软件生产者提高软件开发安全要求,可能会增加软件生产者的开发成本,从而可能会增加产品价格。

五、常见问题(指南提供的答疑解惑)

1、在哪里可以了解更多关于合格评定的信息?

有关合格评定的更多详细信息可以在NIST SP 2000-01、NIST SP 2000-02和 ISO/IEC 17000:2020中查阅到。

2、在哪里可以了解更多关于第一方认证和供应商符合性声明的信息?

更多信息可从 NIST SP 2000-01和 ISO/IEC 17050-1:2004中获得。

3、NIST 是否有关于网络安全供应链风险管理 (C-SCRM) 的额外资源?

是的,请参阅 NIST 的 C-SCRM 项目网站以获取所有资源的链接。NIST主持了联邦 C-SCRM 论坛,该论坛促进联邦机构之间的协作和 C-SCRM 信息交换,以提高联邦供应链的安全性。NIST C-SCRM 指南的示例包括 SP 800-161《联邦信息系统和组织的供应链风险管理实践》和 SP 800-161 Rev. 1(第二稿)《系统和组织的网络安全供应链风险管理实践》。

4、第 14028 号行政令的任何其他部分是否与本指南相关?

是的。 第 4n 节引用了第 4k 节,这在本指南的介绍中进行了讨论。 以下是第 4n 节的文本:

(第 4n 条)在本命令发布之日起 1 年内,国土安全部部长与国防部长、司法部长、OMB 主任和 OMB 内电子政府办公室主任协商后,应向 FAR 委员会推荐合同语言,要求可供机构购买的软件供应商遵守,并证明遵守根据本节 (g) 至 (k) 小节发布的所有要求。

5、机构可以将此指南应用于联邦机构开发的软件吗?

是的,机构可以选择与软件开发者一起实施这些建议,以帮助评估与其软件相关的安全风险,并就其实施和使用做出基于风险的决策。

6、机构能否将本指南应用于他们免费直接获得的开源软件?

是的,机构可以选择使用来自提供此类内容的开源软件生产商的证明和工件。 这可以帮助机构评估与软件相关的安全风险,并就其实施和使用做出基于风险的决策。

7、SSDF 如何帮助解决第 14028 号行政令的第 4e 节?

下表将每个第 4e 小节映射到有助于解决每个小节的 SSDF 实践和任务。有关每个 SSDF 实践和任务的更多信息参考 SP 800-218。

与 EO 14028 第4e小节相对应的 SSDF 实践

1645783222_6218a8b6d9270f63be0e8.png!small?1645783223166

1645783237_6218a8c5665ee958cd3b1.png!small?1645783237866

8、对于承担与软件采购相关的职责(例如,采购和采购官员、技术专业人员)。 为了符合 EO 14028 第 4e 节,应该向软件生产者提出哪些关于其安全软件开发实践的要求?

软件购买者应至少要求软件生产者提供符合性声明,证明他们的软件开发过程遵循 SSDF 实践,符合性声明应包括:

1)软件开发者姓名;

2)对声明所指产品的描述。(注意:最好在公司或产品线级别来描述);

3)一份能够证明软件生产者遵循SP 800-218中SSDF实践,且适用的安全开发实践和任务的声明;

4)主要联系人的姓名和职务,如果购买者要求,可以提供与 EO 14028 第 4e(i)、4e(iii) 和 4e 节相关的安全软件开发活动生成的工件(iv)。

9、作为一名软件生产者,如果将自己的产品卖给联邦机构(购买者),需要向他们提供哪些有关安全软件开发的信息?

应该提供软件的符合性声明。此外,可以选择提供超过 EO 14028 第 4e 节的要求,方法是提供基于风险和缓解措施的,与 SSDF 实践和任务相关的安全软件开发活动概要的参考或URL,一个可供参考的格式如下:

1645783257_6218a8d9bb3689a2d282c.png!small?1645783258096

10、作为一个软件经销商。如何向购买者表明我转售的软件符合 EO 14028 第 4e 节的要求?

对于你转售给软件购买者的每个软件,你应该确保你可以提供一个参考软件生产者的符合性声明。

以上就是NIST今年2月份发布的软件供应链安全指南的大概内容,供各位参考,谢谢。

相关热词搜索:工业互联网安全

上一篇:2022年国际主要网络安全会议汇总
下一篇:俄媒:俄准备启用本国互联网

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306116;邮箱:aet@chinaaet.com。
分享到: 收藏