樊佳讯,杨佳宁
(国家工业信息安全发展研究中心,北京 100040)
供应链是设计、制造和分销产品所需的资源生态系统的组合,在网络安全领域,供应链包括硬件和软件、云或本地存储和分发机制。软件供应链安全作为供应链管理的一个重要组成部分,涵盖产品在开发、交付、验收、使用和维护整个生命周期内的安全。近年来,受复杂的国际形势和新冠疫情等因素影响,工业软件供应链安全形势日益严峻,安全事件层出不穷,给企业的安全生产甚至是国家的稳定运转造成了严重的威胁,工业软件的供应链安全得到广泛关注。
安全事件频发、上游漏洞威胁给工业软件供应链安全带来严峻挑战,对此政府、研究机构和企业在政策标准和安全技术方面加大了投入以应对面临的安全危机。
工控系统相关产品的构成日益复杂,一件产品的配件可能来自不同的国家和厂商,一套复杂软件系统可能由不同地方的人员共同设计完成[1],供应链成为工业软件网络安全的重要风险点。
近年来,IT、OT供应链安全事件频频发生,如2020年12月,SolarWinds 旗下的Orion基础设施管理平台的发布环境遭到黑客组织入侵,黑客对源码进行篡改添加了后门代码,该文件具有合法数字签名会伴随软件更新下发,从而形成供应链攻击,本次供应链攻击事件,波及范围极广,包括政府部门,关键基础设施以及多家全球500强企业,有关部门预估此次事件造成的影响尤为巨大;2021年4月,软件审计公司Codecov的产品代码爆出供应链攻击,导致该公司数百个客户的网络遭遇非法访问,涉及许多大型科技品牌,例如IBM、Google、GoDaddy和HP,以及媒体发行商《华盛顿邮报》和知名消费品公司(宝洁);2021年7月,REvil勒索软件利用Kaseya VSA远程IT管理软件的自动更新机制发起大规模供应链攻击,影响多家托管服务提供商(MSP)及其客户;2021年8月,一名黑客入侵了暖通空调(HVAC)供应商ENE Systems,并远程访问了包括波士顿儿童医院在内的客户OT系统,引发社会担忧。
此外,2021年7月,ENISA发布报告《供应链攻击的威胁态势》,该报告分析了最近的24次攻击,结果显示,即使组织采取良好的防御措施,也仍容易受到供应链攻击。攻击者正将目标对准供应商,以探索渗透组织的潜在路径,这些类型的攻击正变得越来越普遍。
网络威胁参与者利用漏洞威胁工业软件供应链安全,通过运用攻击策略和技术挖掘供应商漏洞,在上游防御者进行修复之前展开攻击,将其恶意活动及其后果向下游传播给众多用户。
2021年8月,台湾物联网(IoT)供应商ThroughTek开发的软件协议中发现了漏洞,黑客可能会利用该漏洞拦截婴儿监视器和网络摄像头等设备上的音频和视频数据,该协议已集成到设备制造商和经销商中,其客户包括中国电子巨头小米,其他品牌(如相机供应商Wyze)生产的8300万台设备正在运行其软件,受影响范围难以确定。
2 0 2 1年6 月,台湾工业网络解决方案提供商Korenix Technology生产的固件产品存在安全漏洞,此漏洞允许对目标设备具有网络访问权限的攻击者可以对其配置进行未经授权的更改,使其进入DoS状态,并获取敏感信息,从而利用这些漏洞来完全控制设备。多家厂商的工业交换机受到这些漏洞的影响,受影响的设备用于重工业、运输、自动化、电力和能源、监控和其他部门。安全研究人员称,这些交换机用于网络中的关键位置,攻击者可以利用这些漏洞切断与附加系统的网络连接,导致用户网络面临巨大隐患。
2021年8月,美国网络安全与基础设施安全局(CISA)发布安全警报指出,黑莓公司(BlackBerry)设计的QNX实时操作系统存在重大网络安全漏洞BadAlloc。成功利用该漏洞可能造成拒绝服务条件或在受影响的设备上执行任意代码,导致黑客获取高度机密系统的权限。受影响的黑莓QNX实时操作系统广泛应用于近2亿辆汽车以及数千台工业控制设备、医疗工具等。其中,使用该软件的车企包括本田、奔驰、大众、宝马、福特、通用等主流汽车制造商,其众多关键功能均使用了这个软件,包括高级驾驶辅助系统等。
事关国家安全与行业发展,软件供应链安全如今正在随着大国网络空间博弈的加剧日益受到重视,各国政府、企业和学术界都对这一问题给予了高注,并出台有关措施与倡议。
2021年3月,新加坡通信和信息部(MCI)发布高级国务部长Janil Puthucheary博士的讲话,概述了关键信息基础设施(CII)供应链计划的发展,旨在协助利益相关者管理供应商网络安全风险以及网络安全措施。
2021年4月,中国《关键信息基础设施安全保护条例》在国务院第133次常务会议上通过,旨在建立专门保护制度,明确各方责任,提出保障促进措施,保障关键信息基础设施安全及维护网络安全,条例第十九条明确:“运营者应当优先采购安全可信的网络产品和服务;采购网络产品和服务可能影响国家安全的,应当按照国家网络安全规定通过安全审查”,为我国供应链安全保驾护航。
2021年4月,CISA和美国国家标准技术研究院(NIST)发布了《防御软件供应链攻击》报告,提供了有关使用NIST的网络供应链风险管理(C-SCRM)框架和安全软件开发框架(SSDF)来识别、评估和降低风险的指南,旨在当网络威胁参与者渗透到软件供应商的网络并在供应商将其发送给客户之前使用恶意代码来破坏软件时,帮助软件供应商和客户抵御这些攻击。
2021年5月,英国政府就如何部署软件防御供应链攻击以及如何在全国范围内增强IT托管服务提供商(MSP)提出计划,旨在保护越来越依赖于网络攻击技术的企业和组织,并加强数字供应链的安全性。
2021年8月,拜登政府召开科技、银行业、保险业和基础设施的高管会议后,公布了供应链和关键础设施领域的安全举措,旨在建立更安全的国家技术供应链。围绕供应链安全,NIST、科技公司和保险公司计划加强合作,开发指导公私机构如何构建安全技术和评估技术安全性的指南,其中包括开源软件。
软件供应链攻击带来了前所未有的高风险,由于新型攻击方式的出现,公众对威胁的认识不断提高,监管机构也加强了监管力度,国家、企业和研究机构开始在安全技术上发力。
2021年3月,据Secrss网站报道,美国网络安全、能源安全和应急响应办公室的CyTRICS项目初步具备了运营能力。CyTRICS网络漏洞测试支持跨多个能源部倡议的供应链安全需求,在确定优先级的方法、标准化的测试过程、标准化的报告和存储库,以及与供应商深度合作等四个方面做出创新。
2021年6月,据ZDnet网站报道,为了应对软件供应链不断增长的攻击威胁,谷歌提出了软件产品供应链级别框架(SLSA,Supply chain Levels for Software Artifacts)。SLSA旨在锁定软件构建链中的所有内容,从开发人员到源代码、构建平台和CI/CD系统、包存储库和依赖项,从而改善行业状况,特别是开源,以抵御最紧迫的完整性威胁。
2021年7月,据ZDNet网站报道,GitHub 提高了Go模块的供应链安全性,GitHub宣布了一系列基于Go编程语言的模块的供应链安全升级。Go模块于2019年推出,旨在改进依赖项管理,现在是该平台上最流行的编程语言之一,调查显示76%的受访者表示Go现在以某种形式在企业中使用。GitHub称在Go模块四个主要的供应链安全领域进行了改进,包括咨询数据库,依赖关系图,Dependabot警报和Dependabot安全更新。
纵观近些年来发生的网络安全事件,结合软件供应链的流程特性,工业软件供应链面临的风险主要包括,一是攻击者利用软件供应链漏洞,在攻击目标与其软件供应商和业务合作伙伴之间的信任环节所做的攻击,如SolarWinds、Codecov攻击;二是利用开源生态系统设计漏洞的依赖项混淆攻击;三是利用供应关系,从供应商处窃取客户信息,从而入侵系统或进行勒索,如HVAC攻击。
因此,不难看出工业软件供应链的内部风险来源主要是,一是产品源代码存在漏洞;二是开源生态设计缺陷;三是供应商信息系统漏洞,造成数据泄露。
其中开源代码的安全问题亟需得到重视,据奇安信发布的《2021中国软件供应链安全分析报告》,通过对国内自主开发的软件项目源代码进行检测发现,每1000行代码就有超过10个安全缺陷,超8成项目存在高危开源软件漏洞。
此外,从外部风险来看,一是全球化发展进程导致系统构成复杂,拓展了攻击面。二是攻击者逐渐将低成本、高回报的供应连攻击作为重点,根据欧盟信息安全机构ENISA在《供应链攻击的威胁格局》报告中的分析,2021年的供应链攻击将比2020年增加4倍。三是攻击者在攻击技术方面不断精进,出现了如依赖关系混淆等新型攻击手段。
工业软件供应链已经成为世界网络安全的焦点,直接影响国家关键基础设施和工业企业生产安全,国家、机构、企业和用户亟需采取相应的措施,以提升我国在工业软件供应链方面的风险发现能力、安全分析能力和应急处置能力,全面提升我国工业领域网络安全技术保障水平,为推进制造强国和网络强国建设保驾护航。
国家层面,建议政府相关部门与技术机构合作,一是制定针对工业软件供应链安全审查的具体政策,设置安全审查的具体流程和评判指标,要求供应商产品在进入市场,特别是国家关键基础设施领域前,通过安全审查;二是建立国家级风险预警、漏洞通报平台,借助平台力量及时将安全风险通报到具体企业,防范恶意攻击。
研究机构方面,建议专家、学者针对供应链安全加大资金投入,与工业软件开发企业、工业软件用户一同,从实际情况出发,发展切实可行、可靠的保障工业软件供应链安全的技术,在提高工业软件供应链安全方面做出创新。
工业软件开发企业方面,首先应提高开源代码安全意识,充分评估所用开源代码的安全性,同时加大自主创新投入,提高代码自主水平;其次,要充分评估开源代码知识产权的法律风险,避免许可证纠纷和断供问题[2];另外,作为掌握大量客户信息的供应商,工业软件开发企业应该做好自身信息系统安全防护,防止数据泄露事件给用户带来安全威胁。
工业软件用户方面,企业用户首先应该加强对供应商产品的安全审查,确保产品来源的可靠性;并且应及时关注厂商发布的更新信息,及时更新,避免更新不及时导致漏洞利用带来风险;使用风险预警系统,监控应用场景的安全态势,对攻击行为及时有效的响应。
本文阐述了供应链的含义,从安全事件、漏洞威胁、政策标准、安全技术四个角度分别介绍了工业软件供应链的安全现状,并针对国内工业软件供应链面临的威胁来源进行了分析,最后给出了相应的对策建议,为加强我国供应链安全提供了参考。