深度分析:美国多角色参与的软件供应链安全保护措施

一颗小胡椒2023-02-13 10:36:36

自2020年底政府和企业网络遭受大范围SolarWinds攻击以来,美国加快推出软件供应链安全的各类措施。根据2023年2月初的公开报道,美网络安全和基础设施安全局(CISA)正在组建一个新办公室,专注于政府供应链安全并负责向政府机构、行业及其他合作方提供供应链风险管理政策及技术指导。

早在去年9至11月间,CISA就联合美国家安全局(NSA)和国家情报总监办公室(ODNI)陆续发布了三份《软件供应链安全推荐实践指南》,分别针对开发者(Developer)、供应商(Supplier)和用户(Customer),给出了一组涵盖安全原则、威胁场景、缓解措施的指导。

相比之下,这种区分角色的指南更便于软件供应链各参与方明确自己的目标和责任、形成协作机制;此外,该系列指南的缓解措施给出了具体的实现技术和操作方法,便于各角色参照使用。

一、软件供应链安全推荐实践系列指南解读

该系列指南由持久安全框架(ESF)组织具体编制,它们并非行政令EO 140238要求的成果,但参考了《安全软件开发框架(SSDF)》等标准,指南附录部分也列出了各章节与SSDF安全实践的对应关系表。系列指南主要有以下特点:

1、根据角色确定安全实践的形式和范围

指南编制的基本指导思想是:组织在软件供应链周期中的角色决定了其建立安全实践的形式和范围。从发布者CISA、NSA和ODNI来看,其关注的场景应主要聚焦于政企组织的供应链安全,包括开发者、用户(即采购组织),以及负责联络它们的供应商(即卖方)三种角色,它们之间的关系及典型的安全活动如下图所示。

其中,开发者的安全职责包括安全需求规划、从安全角度设计软件架构、添加安全特性,以及维护软件和底层基础设施(如环境、源码的审计和测试)的安全等;供应商通过合同协议、软件发布和更新、通知及漏洞缓解来确保软件的完整性和安全性;用户则主要负责推动实施软件产品采购、部署和运营阶段的安全活动和措施。

2、不同角色的安全活动兼具差异和协同

鉴于以上思路并考虑到常见的软件供应链安全风险,指南把各角色的安全活动进一步分类和细化,形成了“推荐的安全原则”,即软件供应链各类参与者应关注的安全领域,如下表所示。

从表中可以看出,开发者侧重于生产研发的安全、供应商侧重于保障的安全(验证和完整性等)、用户侧重于部署运营和使用的安全。但它们之间不是割裂的,例如,三者都涉及交付的安全活动,另外,漏洞响应更是一个“反馈(用户->供应商->开发者)”和“修复(开发者->供应商->用户)”的双向协同过程。因此,它们既有各自的安全职责,同时也高度协作,共同保护软件供应链的安全。

3、缓解措施定位在技术实现和操作层面

对于每条安全原则,指南详细描述了对应的“威胁场景”和“推荐的缓解措施”,下表总结了开发者“验证第三方组件”类原则的核心内容,针对第三方组件的来源审查、安全扫描、集成前评估、集成后维护、信息记录(SBOM)等环节给出了缓解措施,并且具体到了实现技术、参考条例和操作流程的粒度,较为详细。

二、美国软件供应链安全指南的角色适用性分析

自2021年以来,美国加快了软件供应链安全的建设,特别是通过行政令的专门章节强化了对软件供应链安全各方面的要求,涉及标准、指南、措施等规范性文件的制定和修订。由NIST修订完成的SSDF 1.1和《系统和组织网络安全供应链风险管理实践》(SP 800-161r1)是其中的重要成果。

 面向软件提供者的SSDF

SSDF 1.1的安全实践涉及需求、设计、第三方软件集成、编码、构建、源代码和可执行码测试、漏洞修复响应和分析等阶段,重点关注实现实践的结果,而未对实现的具体工具、技术和机制进行展开。SSDF侧重于软件的提供者(大致与《软件供应链安全推荐实践指南》中“开发者+供应商”的角色对应)。

考虑到SSDF适用对象的局限,为了帮助美联邦机构(购买者)响应行政令的要求,NIST还编制了补充文件《基于EO 14028 4e的软件供应链安全指引》,指引提供一组建议,用来确保软件生产商遵循了基于风险的安全软件开发方法,并非具体的指导实践内容。

 面向需求方的SP 800-161r1补充指引

另一重要指南SP 800-161r1,旨在帮助组织开展网络安全供应链风险管理(C-SCRM),为它们提供识别、评估、选择、实施风险管理过程和缓解控制的指导。但软件供应链安全管理是C-SCRM的关键子学科,因此,为了响应行政令,并能够更有针对性的给组织的IT、C-SCRM、采购等部门提供第三方软件和服务的获取、使用及维护等方面的安全指导,NIST编制了《基于EO 14028 4c/4d的软件供应链安全指引》(也是SP 800-161r1的附录F)。

指引包括“现有的标准、工具和推荐实践”和“演进中的标准、工具和推荐实践”两大部分。前者涉及“EO关键软件定义”、《关键软件使用安全措施》、SSDF 1.1、《开发者验证软件的最低标准指南》等行政令要求制定的文件对SP 800-161r1各章节内容,特别是C-SCRM安全控制项的影响或与它们的对应关系;后者针对为美联邦机构量身定制的SBOM、开源软件控制、漏洞管理、供应商风险评估等软件供应链新概念,定义了多层级的能力标准。这些都是面向需求方/用户(包括美联邦机构)的。

美国软件(供应链)安全相关的标准、指南、框架多以软件开发生命周期作为基础模型(参见《美国“加强软件供应链安全实践的指南”(SSDF V1.1草案)解读》和《从主流安全开发框架看软件供应链安全保障的落地》),比较容易在每个环节中结合参与角色的(安全)职责,确定针对性的安全策略和安全措施。这一过程可使用一个矩阵来表示,姑且叫做软件供应链安全责任矩阵,下图是《软件供应链安全推荐实践指南》对应的矩阵。

三、对我国软件供应链安全标准的相关建议

国家标准《软件供应链安全要求(送审稿)》规定了对软件供需双方的安全要求和控制措施,更侧重于对需方的要求;此外,国内正在编制的一些软件供应链安全行业和团体标准也多从供需双方考虑安全要求。

《ICT供应链安全风险管理指南(GB/T 36637-2018)》规定了ICT供应链的安全风险管理过程和控制措施,适用于ICT产品和服务的供方和需方、第三方测评机构等。标准中风险管理和控制措施部分的详细条目未明确指定对应的具体角色,统一使用“组织”作为规范对象;《信息技术产品供应方行为安全准则(GB/T 32921-2016)》面向信息技术产品供应方,规定了其行为安全准则。

总体而言,目前我国的供应链安全标准大都考虑到了不同的角色,且与SSDF类似,基本都关注于目标和结果,对于具体实现的技术、工具、机制等讨论较少。鉴于这一现状,建议可从两个方面深化对软件供应链安全的规范和指导:

  • 制定行业和领域标准时应首先确定供应链参与各方。对于通用标准,从供需双方进行角色划分可满足普适的指导要求。但对于特定的行业和领域场景,软件供应链参与者可能更加多元和细分。因此在编制此类标准指南时,可首先根据实际情况确定安全职责矩阵,而后制定具体的安全措施。
  • 可基于现有标准细化实施方法以形成强操作性指南。现有的标准在科学性和完备性等方面已经过了充分的论证,也较多给出了各方面应达到的安全目标和结果。如果能够在此基础上细化各条目的实现路径,包括技术、工具、方法等内容,则可让组织和企业“按图索骥”,从而提升软件供应链安全保护工作的可操作性和效率。
软件供应链系统
本作品采用《CC 协议》,转载必须注明作者和本文链接
信息通信技术(ICT)供应链包括硬件供应链软件供应链,通常涵盖采购、开发、外包、集成等环节。其最终的安全很大程度上取决于这些中间环节,涉及到采购方、系统集成方、网络提供方以 及软硬件供应商等【1】。ICT 供应链是所有其他供应链的基础,是“供应链供应链”【2】。
分析技术如今已经成为企业管理业务的基础,分析带来的一些好处实际上是相互叠加的。 越来越多的企业正在使用分析来增强其安全性。他们还使用数据分析工具来帮助简化物流流程,并确保供应链更有效地运作。这些企业意识到,分析对于帮助提高供应链系统的安全性是无价的。 到2026年,全球安全分析市场规模将超过250亿美元。人们需要了解分析在供应链安全中的更多好处。
鉴于国家关键基础设施和重要资源(Critical Infrastructure and Key Resources, CIKR)对ICT技术的依赖,通过国家安全审查识别和控制ICT供应链风险成为保障国家安全的重要手段。国外的做法通常是利用与外国投资相关的国家安全审查手段,我国则是利用网络安全审查的方式,这在我国的《国家安全法》中有所提及,网络安全审查是国家安全审查在关键信息基础设施保护方面的延伸。
新推出的开放框架寻求为公司和安全团队提供全面且可行的方式深入了解软件供应链攻击行为及技术。这项名为开放软件供应链攻击参考(OSC&R)的计划由以色列软件物料安全管理公司OX Security主导,评估软件供应链安全威胁,覆盖一系列攻击途径,比如第三方库和组件漏洞、构建及开发系统供应链攻击,以及被黑或恶意软件更新包。
凭借在软件供应链安全的丰富实践和技术积累,奇安信申报的“基于DevOps的供应链安全实践”和“开源软件安全治理体系”获2022安全守卫者计划优秀案例。中国信通院还公布了“业务安全推进计划”成员单位,奇安信集团入选为首批成员单位。
近日,OX Security发布了业界首个软件供应链攻击框架——OSC&R(开放软件供应链攻击参考框架),可帮助企业评估软件供应链安全威胁。
不幸的是,“软件供应链安全指南”再次强化了这种谬误。该指南要求集中化管理的安全团队对软件工程活动施加重大限制,从而实现“将安全作为重中之重”。为了安全起见,速度甚至可靠性都被视为合理的“伤亡代价”。对于政府情报部门而言,国家安全是主要使命,因此他们认为安全摩擦和障碍是值得的。该指南明确表示不鼓励开源软件。事实上,为了推销厂商的安全产品,指南甚至给出了诸如手动发布流程之类的危险建议。
随着软件产业的快速发展,现代软件大多数是被“组装”出来的,不是被“开发”出来的。各类信息系统的软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。如今软件供应链已经成为国内外对抗的焦点,直接影响关键基础设施和重要信息系统安全。
一颗小胡椒
暂无描述