在第十届互联网安全大会(ISC 2022)上,悬镜安全出品并主办了软件供应链安全治理与运营论坛,特邀中国信息通信研究院(以下简称“信通院”)云计算与大数据研究所开源和软件安全部副主任郭雪,发表了主题为“软件供应链安全标准体系建设与洞察”的精彩演讲。
图1 信通院郭雪在悬镜软件供应链安全治理与运营论坛发表主题演讲
以下为演讲实录:
大家好,我是信通院云大所的郭雪,非常荣幸能够参与悬镜软件供应链安全与运营论坛,与大家分享软件供应链产业的发展现状以及信通院在软件供应链安全相关标准体系方向的建设成果和对产业的洞察。
软件供应链安全研究背景
为何两年来软件供应链安全关注度如此之高?这与相关安全事件的频发是密切相关的,尤其2021年年末爆发的Log4j2.x漏洞事件产生了非常大的影响,无论是传统行业的公司还是软件开发公司抑或是安全厂商,都关注到了软件供应链安全。欧盟调研数据显示,软件供应链安全事件近年来的增长速度高于以往。也有报告显示,大约45%的受访企业在软件供应链保护方面的工作只完成了一半。
在这样的软件供应链产业大背景下,首先最重要的是要明确软件供应链安全的定义。不同人对软件供应链安全的认知差异很大,有的人甚至将软件供应链与软件安全、开发安全划上等号。
2019年,某家全球知名网络安全公司提出了软件供应链的定义:从开发到将产品或服务从供应商交付给客户所涉及的组织、人员、活动、信息和资源系统。Linux基金会在《开源软件供应链安全报告》中指出,软件供应链组成要素包括开发者、存储库、包依赖关系管理器和最终用户。
信通院认为,软件供应链概念是由传统供应链定义演进而来。传统供应链在国标中是指生产及流通过程中,围绕核心企业,将所涉及的原材料供应商、制造商、分销商、零售商直到最终用户等成员通过上游或下游成员链接所形成的网链结构。在此基础上便衍生出软件供应链的定义:根据软件生命周期中一系列环节与传统供应链的相似性,由传统供应链扩展而来,包括第三方代码/组件引入、应用开发测试、渠道分发、交付下载使用等。
此外,尚未发布的在研标准对软件供应链的定义是为满足软件供应关系通过资源和过程将需方、供方相互连接的网链结构,可用于将软件产品和服务提供给需方,包括协商、生产、交付、获取、维护、废止等过程。
软件供应链安全主要包含两部分,一个是链条交界面的安全包括来源安全和交付安全,另一个是各链条内的安全即安全开发。软件供应链安全管理的目标是保障供应链下游安全和最终使用侧安全。
我们以牛奶为例,试着来区分软件供应链安全和软件安全。奶源、生产厂商等信息不明的一盒三无包装牛奶,让小白鼠喝了后没出现问题,只是通过了基本的结果测试后便上市。而另一盒牛奶的包装上标明了奶源、生产厂商等信息。
软件安全更倾向于前者,强调结果安全,通过一系列测试来确保安全。而软件供应链安全强调过程安全,要求来源清晰、加工过程安全以及传输链条安全。而安全开发是软件供应链安全范畴内的概念,是保障各链条内安全的必要工作。
当下,从软件生命周期来看,软件供应链安全面临设计开发复杂化导致漏洞产生、开源引入存在安全风险、快速交付致使安全验证周期缩短、交付机制面临安全隐患、使用阶段补丁安全存疑五大现实挑战。软件供应链安全具有攻击门槛低、隐蔽性强、影响范围广三大特点。从Log4j2.x事件中就可见一斑。
软件供应链安全标准体系
信通院致力于软件供应链安全标准体系的建设,旨在帮助企业从需求侧的角度做好软件供应链安全管理工作、建设完善的软件供应链安全管理体系并选择合适的工具产品。整个软件供应链安全系列标准体系架构包含几部分:
《软件供应链安全管理能力成熟度模型》
关于软件供应链交界面的安全管理,侧重从入口和出口对软件供应链安全进行管理;
《可信研发运营安全能力成熟度模型》
关于供应链内的安全开发;
《软件物料清单建设总体框架》
关于软件供应链安全保障过程中的信息传输;
软件供应链安全工具标准体系
包括SAST、IAST、SCA等。
●●●
《软件供应链安全管理能力成熟度模型》
其中最重要的是《软件供应链安全管理能力成熟度模型》。软件供应链交界面的安全管理既包含在软件供应链的上游,针对商业软件、开源、外包服务以及云服务这四大引入方式,在代码来源、代码质量、知识产权合规、软件物料清单规范性、责任划分清晰度方面做到安全可控准入;也包含在软件供应链的下游,发布投产阶段,针对最终形成的商业产品云服务以及内部信息系统,进行交付物安全检查,而且同时需要建立一套持续性的服务支持机制和运行监控机制。与此同时,企业内部要建立管理机制,包括组织架构、人员配备、基础设施建设等。
图2 信通院软件供应链安全系列标准体系架构
《软件供应链安全管理能力成熟度模型》关注的重点是:
● 针对软件来源进行安全审查,确保来源可信,包括供应商资质、开源组件来源等;
● 第三方软件引入前进行安全测试评估,并建立评估模型,避免存在风险软件引入;
● 构建软件物料清单,明确软件组件信息及各组件之间关系;
● 建立动态安全防护机制,针对软件供应链安全事件有明确处置流程及团队。
整个标准针对软件供应链交界面从供应链上游可追溯、生产链安全、下游可监控三部分进行核心安全要素提取,搭建软件供应链安全模型,包括四部分能力:
● 软件供应链安全管理能力:涉及组织架构、规章制度、人员管理和基础设施;
● 供应链上游安全可控能力:涉及软件组成成分清晰、供应可持续、软件可用、知识产权合规和安全责任划分;
● 生产链安全可控能力:涉及风险控制和安全开发;
● 供应链下游安全可控能力:涉及交付物信息可追溯、运行稳定和退出规划。
在标准落地层面,平安银行、浙江移动都通过了信通院的相关评估和检测。信通院在这个过程中洞察发现,目前企业的软件供应链安全管理仍以以安全部门牵头为主,部分企业会建立自己的虚拟组织去进行软件供应链管理。整个产业在发展初期面临许多痛点:软件物料清单建设尚处于起步阶段、老旧系统梳理存在难点、开源治理面临挑战、管理体系仍待完善、商业采购流程相对成熟但评价体系仍待加强。
●●●
《可信研发运营安全能力成熟度模型》
第二个标准《可信研发运营安全能力成熟度模型》针对的是软件供应链链条内的安全开发,强调安全前置,即从需求设计阶段开始就引入安全理念。
整个标准涉及一套管理制度,包含要求阶段、安全需求分析阶段、设计阶段、开发阶段、验证阶段、发布阶段、运营阶段和停用下线阶段。它强调四大要素,包括:
● 自上而下推动研运安全体系的落地,建设安全文化,打破研发和安全壁垒;
● 建立调度及协作流程,协调人员和资源,规范人员操作;
● 构建研运安全工具平台和工具链,嵌入现有研发流程;
● 进行数据反馈,形成安全闭环,不断优化流程实践。
标准要求企业在管理制度、要求阶段等环节具备相对应的能力,如下图所示。
图3 《可信研发运营安全能力成熟度模型》能力要求
信通院在对该标准进行测试评估的过程中发现,参评企业100%已建立高级别的安全管理组织架构,同时具有明确的人员分工,清晰的岗位职责和权限,但仍有进一步完善的空间,比如安全考核结果量化并与员工能力评价相结合。在研发层面,受攻击面分析已成基本要求,但是在需求挖掘、编码安全及开源管控方面相对薄弱。在运营层面,安全防御技术相对成熟,安全反馈及主动防御仍待进一步加强。
●●●
软件供应链安全工具标准体系
软件供应链安全的落地一定涉及相对应的安全工具。信通院基于SAST、IAST、SCA、RASP构建起了软件供应链安全工具标准体系。
每个工具的标准都涉及功能项要求,包括支持的编程语言、支持的扫描方式等,同时信通院会提供测试例,进行漏报率、误报率的检测,此外还会对工具的性能进行测试。
在具体测试过程中,我们发现目前相关工具的产品功能已基本完善,检测缺陷类型也对标CWE、OWASP Top10等国际标准,性能指标都达到基线要求,不过也存在一些待优化的点,比如IAST工具的语言覆盖度有限;SAST工具的误报率较高;针对这种不同缺陷和漏洞类型分类,各工具定义规范存在差异,横向对比存在难度;被测工具对于Sql注入等常见缺陷类型检测结果差异较小,对于配置缺陷、弱密码等类型缺陷及漏洞检测结果存在较大差异。
●●●
《软件物料清单建设总体框架》
整个标准体系架构中数据传输相关的就是《软件物料清单建设总体框架》,它是提升软件供应链透明度非常重要的一个标准。信通院对国际上已有的诸如SPDX、SWID等SBOM相关标准进行充分的借鉴和参考,联合国内专家编写而成的《软件物料清单建设总体框架》,涉及三部分内容:
● 数据层:明确组织软件物料清单体系建设所应关注的数据要素与格式要求。这是SBOM最关键的点,因为数据传输需要确保接收的数据格式基本一致;
● 构建层:明确组织在构建、维护和使用软件物料清单数据过程中应该遵循的机制和实践流程;
● 应用层:明确组织在建立软件物料清单体系后,利用清单数据,与内部已有工作联动,更好应用软件物料清单助力软件供应链安全体系建设。
软件供应链安全生态建设
信通院在软件供应链安全生态建设方面大力投入,持续发布相关的行业标准、团体标准并积极申请国家标准,定期发布研究报告和白皮书,总结软件供应链产业发展趋势,同时我们也组建了国内首个软件供应链安全实验室(3S-Lab),组织行业同仁共同讨论软件供应链的发展问题。
图4 悬镜安全是3S-Lab的副理事长单位
产业趋势展望和工作规划
软件供应链安全有三个发展趋势:
标准建设
软件供应链安全标准体系将进一步完善,涵盖软件供应链安全管理、技术、工具等各个方面,普及软件供应链安全防范意识,鼓励和指导重要行业、领域加快软件供应链安全工作建设落地,重点包括供应链安全准入技术基线、软件供应链商安全基线要求、软件供应链安全技术规范等标准。
技术突破
软件供应链安全关键技术将快速发展。软件供应链安全保障工作的落地离不开安全工具的建设使用。面对日益迫切的软件供应链安全需求,安全工具建设及使用将步入快车道,重点如协议分析、软件成分分析等技术。
生态构建
软件供应链安全生态将逐步建立。软件供应链安全涉及上下游众多组织机构,行业头部企业将从自身安全角度出发,建设软件供应链安全架构体系,进一步推动供应链上下游企业完善自身安全管理体系,建立软件供应链安全可信生态。
在这样的背景下,信通院将持续推进软件供应链安全技术、框架等相关研究,完善软件供应链安全标准体系。今年,我们将编制RASP以及DevSecOps平台相关标准,同时也会持续地输出相关的评估和研究报告。我们真诚地希望大家能持续地关注软件供应链安全,关注信通院的相关研究成果。