美国政府发布关于“通过软件安全开发实践增强软件供应链安全”的备忘录(全文)
数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。
随着软件产业的快速发展,软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危害也越来越严重。
为此,我们推出“供应链安全”栏目。本栏目汇聚供应链安全资讯,分析供应链安全风险,提供缓解建议,为供应链安全保驾护航。
注:以往发布的部分供应链安全相关内容,请见文末“推荐阅读”部分。
美国总统行政办公室的下属机构管理和预算办公室 (OMB) 发布了关于“通过软件安全开发实践增强软件供应链安全”主题的备忘录。如下是奇安信代码卫士团队的翻译。文章共分四部分:范围、措施、责任、政策协助。
联邦政府依靠信息和通信技术 (ICT) 产品和服务履行重要职能。ICT技术的全球供应链面临着民族国家和犯罪团伙持续不断的威胁,它们意欲窃取敏感信息和知识财产、攻陷政府系统的完整性等,对美国政府安全可靠地提供公众服务造成影响。
2021年5月发布的第14028号行政令 (EO) 《提升国家网络安全》关注软件供应链的安全性和完整性,强调了软件安全开发环境的重要性。该行政令要求美国国家标准和技术研究院 (NIST) 发布关于“识别增强软件供应链安全实践”的指南。《NIST软件安全开发框架 (SSDF) ,SP 800-218》和《NIST软件供应链安全指南》文档(下文将这两份文档统称为“NIST指南”)中包括了一系列实践,为软件安全开发奠定了基础。该行政令进一步指示管理和预算办公室 (OMB) ,要求机构遵循这类指南。本备忘录要求机构遵循NIST指南以及后续更新要求。(注:本文提到的“机构”均指“联邦机构”。)
《2014年联邦信息安全现代化法案》(FISMA) 要求每个联邦机构同时为“机构或代表机构所收集或维护的信息”和“机构或机构承包商或代表机构的其它组织机构所使用或运营的信息系统”提供安全防御措施。FISMA和其它联邦法律条款授权管理和预算办公室 (OMB) 总监为信息安全系统发布信息安全标准,其中包括确保遵循NIST所发布标准。
本备忘录与这些机关及行政令14028指令一致,要求每个联邦机构在其信息系统上使用第三方软件时,必须遵循这些NIST指南。本备忘录中使用的术语“软件”包括固件、操作系统、应用程序和应用服务(如基于云的软件)以及包含软件的产品。如下条件适用于本备忘录的要求:
这些要求适用于联邦机构对如下软件的使用:本备忘录生效日期之后所开发的软件及因主版本更改而做出修改的已有软件(例如使用“主要”、“次要”、“补丁”(Major.Minor.Patch) 的语义版本控制架构,软件版本号为从2.5到3.0)。
这些要求不适用于由机构开发的软件,尽管如此,鼓励机构采取恰当措施,采用并为机构开发的软件执行软件安全开发实践。
授权可能会被其它机构使用的合约的机构,负责执行本备忘录的要求。
二、措施
确保软件的完整性对于保护联邦系统免受威胁和漏洞困扰、降低整体风险起着重要作用。NIST指南“向联邦机构提供了关于确保所购软件的制造商遵循基于风险的软件安全开发方法”。联邦机构所使用软件的提供商必须能够证明遵循由这些政府指定的软件安全开发实践,如NIST指南中所提到的实践。
按照行政令14028和NIST指南的要求,机构的首席信息官与所要求办公室和首席收购官,必须采取如下措施,确保软件厂商已执行并将证明遵循软件安全开发实践。
1、 按照NIST指南要求及如下时间线,要求联邦机构在使用软件前,必须从软件厂商处获得自证明。
(a)NIST指南指出,软件厂商的自证明是“符合性声明”。联邦机构必须按照本备忘录的要求,为所使用的所有第三方软件获得自证明。这些第三方软件包括软件更新和主要版本变更等情况。
(i)联邦机构应当鼓励软件厂商包括所有产品,使同一份证明对于所有采购机构都是现成可用的。
(ii)如果软件厂商无法对标准自证明表格中所提到的一项或多项NIST指南进行证明,则提出请求的联邦机构将要求该软件厂商指明它们无法证明的实践、记录缓解这些风险所部署的实践、并要求开发行动和里程碑计划 (POA&M)。机构应采取恰当措施,确保这类文档未被厂商或机构本身公布。如果软件厂商提供了此类文档且达到该联邦机构的要求,则尽管该软件厂商无法提供完整的自证明,但机构仍可使用该软件。
软件厂商或联邦机构不得公布如上所述的用于替代完整自证明的文档。
(b)机构将保留该自证明文档,除非软件厂商将其公开并提供公开链接作为回复的一部分。
(c)一份可被接受的自证明必须包含如下最低要求:
(i)软件厂商的名称;
(ii)一份描述,说明该声明所指的一款或多款产品(倾向于公司或产品线级别,以及包含出售给联邦机构的所有非机密产品);
(iii)一份声明,证明该软件厂商遵循标准自证明表格中所列出的安全开发实践和任务;
(iv)自证明是最低要求;然而,机构可基于风险做出判断,认为所购买的服务或产品的重要性(如M-21-30所定义),需要进行第三方评估。
(d)由经过FedRAMP第三方评估机构方组织机构 (3PAO) 证明的机构或者由该机构批准的机构进行的第三方评估,将作为软件厂商的自证明替代方案被接受,包括集成开源软件的开源软件或产品的情况,前提是3PAO使用NIST指南作为评估基准。
(e)鼓励机构使用将发放给所有机构的标准自证明表格。联邦采购条例(FAR) 理事会计划提议就使用统一的标准自证明表格出台规定。
2、 必要时,相关机构可从软件厂商处获得工件,证明符合软件安全开发实践。
(a)按照M-21-30所定义的软件的重要性,或者按照机构的判断,机构在请求要求中可要求获得软件物料清单 (SBOMs)。如提出该要求,则机构将保留该SBOM,除非软件厂商将其公布并提供相关链接。
(b)必须按照美国国家电信和信息管理局 (NTIA)发布的《软件物料清单的最小元素》报告、或美国网络安全和基础设施安全局 (CISA) 公布的后续指南中提到的其中一种数据格式提供SBOMs。
(c)联邦机构应考虑,基于工件的直接应用性和通用性,负责维护软件厂商SBOM和其它工件的其它联邦机构互惠互利。
(d)如联邦机构认为必要,则可要求提供SBOM以外的工件(如使用自动化工具和流程,验证源代码的完整性并检查已知的或潜在漏洞)。
(e)联邦机构可能要求软件厂商提供参与漏洞披露计划的证明。
(f)鼓励联邦机构尽可能在采购流程早期要求告知潜在厂商,如利用预请求活动进行告知等。
做到符合行政令和NIST指南要求,需要联邦机构进行适当的规划。为了确保合规性、降低风险,联邦机构必须将NIST指南集成到软件评估流程中并遵循如下时间线。由于联邦机构制定的要求中包括使用新软件,因此必须获得关于软件厂商使用软件安全开发实践的证实。这可通过在提议请求 (RFP) 或其它请求文档中指定这些要求的方式实现,但不管该联邦机构如何确保合规性,都必须确保软件厂商在整个软件开发生命周期中,执行并证明NIST指南中提到的软件安全开发实践。
1、联邦机构的责任
机构必须按照如下时间线,整合本备忘录要求:
(1)自本备忘录发布之日起90天内,机构应按照本备忘录的要求,清点所有软件,且单独清点“关键软件”。
(2)自本备忘录发布之日起120天内,机构应开发一致流程,与厂商沟通本备忘录中提到的相关要求,并确保软件厂商不会公开披露证明函并收集到一个中心机构系统中。
(3)自本备忘录发布之日起270天内,机构应当按照本备忘录要求,收集关于“关键软件”的证明函且软件厂商不得公开发布该证明函。
(4)自本备忘录发布之日起365天内,联邦机构应当按照本备忘录要求,收集关于所有软件的证明函且软件厂商不得公开发布该证明函。
(5)自本备忘录发布之日起180天内,机构首席信息官,协调机构所需活动和机构首席采购官 (CAOs),应当评估培训需求并开发培训计划,审计并验证完整的证明文档和工件。
(6)延期。机构可要求与满足本备忘录要求相关的延期。该延期请求应当提交给OMB总监,且必须在本备忘录相关最后期限日截止时提前30天提交,且需提供满足底层要求的计划。
关于提交延期请求的具体指南将发布在本URL (https://community.max.gov/x/LhtGJw)。
(7)豁免。联邦机构可要求对本备忘录任何指定的要求进行豁免(仅在异常情况下且有限期限内)。豁免请求必须提交给OMB总监,且必须在本备忘录相关最后期限日截止时提前30天提交,且需提供缓解潜在风险的计划。OMB总监将根据与总统助理和国家安全顾问 (APNSA)的咨询情况,基于具体案例批准该请求。
关于提交豁免请求的具体指南将发布在本URL (https://community.max.gov/x/LhtGJw)。
(8)与其它相关机构的合规性。在执行本备忘录要求活动的过程中,联邦机构应当遵守和信息收集、使用和传播有关的法律要求。
2、管理和预算办公室 (OMB) 的责任
(1)自本备忘录发布之日起90天内,OMB将发布向MAX.gov链接提交相关的豁免或延期请求的具体指南。
(2)自本备忘录发布之日起180天内,OMB根据与CISA和联邦总务署 (GSA) 的咨询情况,将设立软件证明和工件的中心仓库要求,并部署联邦机构之间的防护和共享机制。
3、CISA的责任
(1)自本备忘录发布之日起120天内,CISA根据与OMB的咨询结果,将建立一个适合多家机构使用的标准自证明“常用表单”,用于《文书消减法 (PRA)》审批。
(2)自OMB确立要求之日起1年内,CISA根据与CISA和OMB的咨询,将设立政府范围内软件证明和工件仓库,并部署恰当的联邦机构信息防护和共享机制。
(3)自OMB确立要求之日起18个月内,CISA将展示该仓库的初始运营能力 (IOC)。
(4)自OMB确立要求之日起24个月内,CISA将通过传统的OMB流程,评估联邦机构间软件工件仓库的完整操作能力 (FOC)要求。
(5)CISA将适时为联邦机构发布软件物料清单指南更新。
4、NIST的责任
适时更新SSDF指南。
联邦首席信息官 (OFCIO) 的OMB办公室邮箱负责接收相关问题和质询。
附录
如下表格总结了本备忘录中提到的所有措施:
OpenSSF发布4份开源软件安全指南,涉及使用、开发、漏洞报告和包管理等环节
美国政府发布联邦机构软件安全法规要求,进一步提振IT供应链安全
Apache开源项目 Xalan-J 整数截断可导致任意代码执行
Linux和谷歌联合推出安全开源奖励计划,最高奖励1万美元或更多
开源软件 LibreOffice 修复多个与宏、密码等相关的漏洞
Juniper Networks修复200多个第三方组件漏洞
PyPI 仓库中的恶意Python包将被盗AWS密钥发送至不安全的站点
开源项目 Parse Server 出现严重漏洞,影响苹果 Game Center
奇安信开源软件供应链安全技术应用方案获2022数博会“新技术”奖
热门PyPI 包 “ctx” 和 PHP库 “phpass” 长时间未更新遭劫持,用于窃取AWS密钥
趁机买走热门包唯一维护人员的邮件域名,我差点发动npm 软件供应链攻击
和GitHub 打官司?热门包 SheetJS出走npmjs.com转向自有CDN
不满当免费劳力,NPM 热门库 “colors” 和 “faker” 的作者设无限循环
NPM流行包再起波澜:维护人员对俄罗斯用户发特定消息,谁来保证开源可信?
200多个恶意NPM程序包针对Azure 开发人员,发动供应链攻击
NPM 修复两个严重漏洞但无法确认是否已遭在野利用,可触发开源软件供应链攻击
热门NPM库 “coa” 和“rc” 接连遭劫持,影响全球的 React 管道
速修复!热门npm 库 netmask 被曝严重的软件供应链漏洞,已存在9年
Pwn2Own大赛回顾:利用开源服务中的严重漏洞,攻陷西部数据My Cloud PR4100
热门开源后端软件Parse Server中存在严重的 RCE ,CVSS评分10分
原文链接:
https://www.whitehouse.gov/wp-content/uploads/2022/09/M-22-18.pdf
题图:Pexels License
转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。