文│中国信息安全测评中心 王晓萌 王嘉捷

软件产品和服务关系生产、生活的各个方面,软件供应链安全直接影响社会的稳定运行。美国智库大西洋理事会梳理的关于近 10 年发生的 115 起软件供应链安全事件的报告显示,开发工具污染、依赖混淆、升级劫持等软件供应链攻击对国家安全造成巨大威胁。由于缺乏标准化软件供应链安全评估办法和安全意识,供需双方难以提前发现并消除潜在安全风险。因此,构建集管理和技术为一体、从开发环节到使用环节的全流程软件供应链安全评估机制,提前发现软件供应链安全风险,预防软件供应链攻击,将成为推动形成系统化、标准化软件供应链安全解决方案的必然趋势,也将成为保障网络空间安全和维护国家安全的重要手段。

一、软件供应链各环节安全风险众多,缺乏安全评估,危害严重,影响范围广

软件供应链可以划分为开发、交付和使用三个技术环节,每个环节均存在安全隐患,然而,安全评估工作较少,导致安全事件时有发生。

在使用环节,由于用户未对升级程序、组件、代码等进行严格检查,导致攻击者在更新升级或者打补丁过程中植入恶意代码控制用户系统。例如,2020 年 12 月,美国“太阳风”公司(SolarWinds)的 Orion 软件更新服务器上存在一个被感染的更新程序,导致美国多家企业及政府单位网络受到感染。火眼公司(FireEye)将该后门命名为“日爆”(Sunburst)。根据《纽约时报》报道,美国财政部系统等约 18000 家美国关键基础设施、联邦机构和企业受到影响,部分受影响设备可由攻击者完全操控。

在交付环节,软件提供方通过网站平台下载、镜像安装、固定销售网点购买等方式完成软件交付,由于交付渠道、交付环境等方面缺乏安全分析评估,为攻击者利用捆绑软件、下载劫持、依赖混淆等方法实施攻击提供了可乘之机。例如,2017 年 8 月,安全研究人员发现知名电信设备制造商 Iris 生产的调制解调器存在五个安全漏洞,其中三个硬编码后门账号漏洞。由于未及时开展漏洞挖掘和修复工作,直接导致攻击者利用三个后门账号控制设备,获取root 权限,安装新固件乃至架设僵尸网络。

开发环节处于供应链上游,具有开发工具安全评估难度大、开源代码复用率高、软件开发碎片化显著等特点。攻击者通过污染开发工具、复用开源代码等方式控制上游软件供应链,借助软件开发碎片化显著等特点促使污染代码快速传播影响中下游用户,例如 2015 年 9 月爆发的苹果开发工具XcodeGhost 事件。Xcode 是一款苹果的开发工具,攻击者利用当时通过官方渠道获取 Xcode 官方版本困难的情况 , 在非官方渠道发布的 Xcode 注入病毒,导致 2500 多款使用该开发工具开发的苹果 App 被植入恶意代码,受影响的苹果 iOS 用户达 1.28 亿。

软件供应链攻击虽然不直接攻击用户,但是能够通过破坏上游供应链对下游用户形成“隔山打牛”式攻击,且危害巨大。目前,开发者对开发工具依赖度高,对安全风险防范主要依赖官方补丁;国内用户使用破解软件、绿色软件现象较为普遍,而对其中漏洞、恶意代码等安全威胁鲜有评估,产生的安全风险不言而喻。因此,在软件供应链各个环节开展安全评估,尽早发现其中的安全问题并采取有效的修复措施,才能最大限度避免安全事件的发生。

二、美国在软件供应链安全领域的法律法规、标准制度建设等方面起步较早,较为完善,对我国具有较好的借鉴意义

美国政府率先将供应链安全上升至国家战略。早在 2008 年就开始制定相关政策法规,《国家网络安全综合计划(CNCI)》要求在产品、系统和服务的整个生命周期内综合应对国内和全球供应链风险;2009 年发布的《网络空间安全评估报告》,将信息通信技术(以下简称“ICT”)供应链安全纳入国家安全范畴。至此,美国率先完成了 ICT 供应链安全的框架结构设计,明确了其在国家安全中的重要地位。

美国多个国家组织机构自上而下贯彻落实《国家网络安全综合计划(CNCI)》,逐步形成较为完善的软件供应链安全管理及风险评估体系。2012 年,美国发布首个国家层级战略报告《全球供应链安全国家战略》,提出安全和高效两大目标。2013 年至2019 年,基于上述战略,美国国家标准与技术研究院、国土安全部、国家网络安全促进委员会等机构先后发布《联邦信息系统与机构供应链风险管理实践》《加强国家网络安全——促进数字经济的安全与发展》《供应链风险管理计划》《联邦信息技术供应链风险管理改进法案》,充分评估软件供应链开发、交付和使用三个环节的安全风险,并提供评估机制,形成了较为完善 ICT 供应链安全风险评估体系。

美国政府对其软件供应链涉及外国对手的部分和联邦政府使用的软件和服务空前重视,要求迅速实施更加严格的评估机制,进一步完善安全评估体系。2019 年,特朗普政府发布《确保信息和通信技术及服务供应链安全》行政令(13873 号政令),进一步加强其全球 ICT 供应链安全评估要求。2021 年,美国商务部发布《确保信息和通信技术及服务供应链安全》的最新规则生效,美国商务部明确提出就某些对美国关键基础设施或数据及经济造成不适当风险,或对美国国家或公民构成不可接受之风险的外国对手的信息通信技术和服务(ICTS)交易所进行识别、评估和风险消除程序,从而决定是否禁止交易。商业软件开发在透明性、抵抗攻击、恶意行为防御等方面存在明显不足。2021 年 5 月 12 日,美国总统拜登发布关于增强国家网络安全的 14028 号政令,明确要求联邦政府采取行动,迅速提高软件供应链的安全性和完整性,联邦政府使用的软件迫切需要实施更加严格的评估机制,通过试点计划创建“能源之星”类型标签等方式使政府和广大工作可以快速确保产品是否安全。美国政府通过不断深化软件供应链安全要求,进一步完善了软件供应链安全保障体系。

三、为应对复杂严峻的软件供应链安全风险,我国逐步完善相关政策法规,从国家层面不断加强软件供应链安全保障工作

我国软件供应链面临复杂的国际环境,欧美等国以维护国家安全为由对我国软件供应方进行打压。随着中华民族伟大复兴进入不可逆转的历史进程,在信息技术领域,美国等国与我国竞争日益激烈,自 2019 年至今,美国陆续将近 200 家科技企业、研究机构列入实体名单;2021 年,美国政府发布《确保信息和通信技术及服务供应链安全》,将中国列在“外国对手”首位,强调对外国对手供应的软件产品和服务进行安全识别、评估。例如,字节跳动公司在美国拓展抖音(TikTok)业务期间,美国以维护其网络安全为由,将 TikTok 业务从算法、数据、功能架构等方面层层拆解,牢牢控制其供应链。因此,为了避免我国软件提供商在国际贸易中的不平等待遇和保障国内软件的安全需求,需要在软件进出口方面做好供应链安全评估,为保障我国软件的合法权益提供技术支撑。

国内软件供应链发展迅速,开源贡献度逐年增多,开源软件使用不规范、软件交付渠道不可控,软件供应链安全风险丛生。根据 Github 数据统计,2020 年度 Github 活跃用户中北美用户占 34%,亚洲用户占 30.7%,北美用户减少了 2%,亚洲用户增长1.1%。美国开源用户贡献度下降至 22.7%,中国上升至 9.76%,预计到 2025 年,这一比例将上升至美国 16.4%,中国 13.3%。同时,国内一部分企业、开发者认为“开源即免费”,而开源软件协议 GPL 明确指出开源软件是指行为自由,规定了开源程序的免费使用范围和权力,而并非完全免费(When wespeak of free software, we are referring to freedom, not a price)。中国的商业使用者多忽视了这个协议,存在较大的知识产权法律风险和安全隐患。开源软件为敏捷开发带来极大便利,大量的代码克隆大大提升软件开发速度,但是开源项目引用过程中缺乏对漏洞、恶意代码的检测、修复。代码复用产生的漏洞成为软件供应链的重大安全威胁。在软件交付方面,App 端各种应用市场存在捆绑下载的情形,PC端存在大量的绿色软件、破解软件等第三方下载站,存在恶意软件、漏洞、后门等多种风险。软件使用方面 , 企业更多关注功能、业务的完成情况,对漏洞、后门等安全防范意识较为薄弱,技术安全问题整改高度依赖国家强制要求。为了充分应对软件供应链的安全威胁,提前发现安全隐患,从各个角度对软件供应链进行安全评估,将成为软件开发、交付和使用的重要工作内容。

国家层面高度重视软件供应链安全问题,不断建立健全法律法规、标准制度,专门针对软件供应链安全评估的政策法规有待完善加强。为应对国内外软件供应链安全威胁,近年来我国先后颁布的《中华人民共和国网络安全法》《网络安全审查办法》《中华人民共和国国民经济和社会发展第十四个五年规划和 2035 年远景目标纲要》《关键信息基础设施安全保护条例》等政策法规强调加强软件供应链的安全保障。2018 年,我国出台了供应链安全管理国家标准《信息安全技术 ICT 供应链安全风险管理指南》(GB/T 36637-2018)。该标准采用风险评估的思路,从产品全生命周期的角度开展风险分析及管理,以实现供应链的完整性、保密性、可用性和可控性安全目标。2020 年,中国电子技术标准化研究院发布的国家标准《信息技术产品供应链安全要求》征求意见稿,规定了信息技术产品供应方和需求方应满足的供应链基本安全要求;电信终端产业协会发布的《网络产品供应链安全要求》行业标准对网络产品在管理制度、组织机构和人员、信息系统等以及供应链环节提出了不同等级的安全要求。2021 年,我国率先开展针对软件供应链安全的国家标准立项工作,拟通过研究制定《信息安全技术 软件供应链安全要求》提升国内软件供应链各个环节的规范性和安全保障能力。

国家出台的一系列政策法规、标准制度是保障软件供应链安全,维护网络空间安全的坚实后盾,然而,如何评估和判断软件各环节中的实体、要素及行为是否达到相应安全要求目前尚未形成共识。当前,软件产品和服务在电子政务、军事装备、航天航空等领域发挥了无可替代的作用,一旦发生安全事件危害严重。为了缓解软件供应链攻击给政治安全、军事安全、网络空间安全等带来的诸多隐患和威胁,亟需构建软件供应链安全评估机制,全面保障软件产品和服务安全。

四、建立全流程软件供应链安全评估机制,推动相关政策法规和标准制度的落地实施,进一步提升软件供应链安全保障能力,维护网络空间安全

全流程软件供应链安全评估机制可从国家政策层面、管理措施层面和技术评估层面,明确对软件供应链开发、交付和使用各环节涉及的实体、要素的约束要求,同时,评估各种实体、要素带来的安全风险,并由权威机构对评估达标的软件产品和服务发放电子签名或证书,如图所示。

图 全流程软件供应链安全评估机制

在国家政策层面,持续加强国家层面在软件供应链安全方面的战略引导作用,制定专门针对软件供应链的法律法规,完善软件供应链安全评估政策体系。软件产品和服务作为 ICT 的重要组成部分已遍布我国社会的各个角落,与国民工作生活息息相关,现有政策法规尚未针对软件供应链各个环节实体、行为、要素明确约束要求,应在现行法规制度基础上,结合国内软件供应链发展速度快、代码复用率高、绿色软件普遍等特点,构建符合中国特色的软件供应链安全评估政策体系。

在管理措施层面,加强软件供应链各个环节的管理安全评估,督促供应方、需求方加强组织管理,提升软件开发、交付及使用的规范性和安全保障能力。保障软件供应链安全需要开发环节、交付环节和使用环节的所有参与角色共同努力。供需双方应积极贯彻落实相关政策法规,建立软件供应链组织管理制度规范。评估机构作为第三方机构按照上位法律法规标准制度要求,对供需双方的组织管理制度规范进行评估,确保其能约束参与人员、组织结构依照安全管理规定和要求完成软件的开发、交付及使用。

在技术评估层面,增强软件供应链技术安全评估工作,迅速识别软件供应链各环节实体、要素的安全威胁,最大限度消除安全隐患,维护网络空间安全。随着相关国家标准的实行和立项,软件供应链安全评估领域将进入快速发展阶段。当前,评估机构的评估工作集中于代码成分分析,通过分析项目源代码中复用的开源项目,发现历史漏洞、安全隐患、许可证冲突等安全问题,对于软件供应链上游的开发工具安全、中游的交付渠道和交付范围安全、下游的补丁和更新安全等缺乏评估手段和能力。软件供应链安全关乎网络空间安全、人民安全等重大国家安全事项,单一机构或团队难以完成软件供应链的全部安全事项评估。应依据上位政策法规,构建全流程软件供应链安全评估机制,制定软件供应链技术安全评估规章制度,打造能够高标准完成软件供应链安全评估的技术联盟,研发开放性的软件供应链安全评估技术平台,快速识别并修复软件供应链开发、交付和使用环节实体、要素存在的安全风险,对于评估达标的软件产品及服务出具相应的电子签名和证书,使供需双方迅速确认软件是否安全,同时,配合相关法律法规、标准、制度的落地实行,进而维护我国网络空间安全。

五、总结与展望

软件产品和服务已经渗透到当前社会的各个角落,与人们的工作生活密不可分,为防范安全事件发生,建立完善的安全评估机制,充分开展软件供应链安全评估工作,势在必行。构建全流程软件供应链安全评估机制,打造能够高标准完成软件供应链安全评估的技术联盟和开放性技术评估平台,能为软件开发、交付、使用等环节中供需双方提供安全技术支撑;能够缓解软件供应链管理、技术层面存在的安全威胁和风险挑战,最大程度避免软件供应链领域出现网络安全的“黑天鹅”“灰犀牛”事件;能够推动相关政策法规和标准制度的落地,保障软件供应链安全、维护网络空间安全。

(本文刊登于《中国信息安全》杂志2021年第10期)