标准解读(二)|金融科技软件供应链供需安全管理指南
2024年5月22日,联盟发布了《金融科技软件供应链供需安全管理指南》(T/ZFIDA 0001—2024)。该标准由工银科技有限公司牵头,中国电子科技集团公司第十五研究所、龙盈智达(北京)科技有限公司、中关村互联网金融研究院、北京比瓴科技有限公司共同发起。

该标准明确了金融科技软件供应链的安全保护目标,分析了金融科技软件供应链各安全保护目标面临的安全风险,并提出了安全视角下管理金融科技软件供应链的实践框架。标准详细阐述了供需双方再管理过程中需考虑的安全因素,并为金融机构和科技企业在软件供应链安全管理方面提供了切实可行的建议。
随着信息化时代的发展,项目中的代码越来越依赖广泛的生态系统和复杂的依赖关系网络,这导致软件的复杂性呈现指数级增长。同时,软件供应链攻击已演变为一个全球性挑战,攻击数量呈显著增长趋势,引起了各行各业的广泛关注。
根据2023年Sonatype第九届年度软件供应链状况报告[1],高达90%的生产环境代码源自开源,且开源生态系统遭受的恶意攻击不断增加,软件供应链成为网络犯罪生态系统的一大利器。然而,只有7%的受访者已经开始审查其供应链的安全风险。
根据Gartner[2]和其他研究,在2022至2023年间,约61%的美国企业直接受到了软件供应链攻击的影响。尽管软件供应链攻击大幅度增长,但很少有组织采取措施来评估这些复杂攻击的风险。
为什么各个组织认识到了软件供应链的相关威胁,但却相对较少地采取积极的措施来识别、评估和减轻软件供应链风险呢?这需要从软件供应链的定义说起。
软件供应链一词源自传统的供应链概念。传统供应链指的是产品从原材料供应商到最终消费者手中的整个流程,包括供应商、制造商、分销商和零售商等环节。类似地,软件供应链则指的是软件开发过程中涉及到的所有软件组件和依赖关系,从开发者、开源社区、第三方组件供应商到最终用户的整个链条。
《软件供应链安全要求》(GB/T 43698—2024)中明确指出:软件供应链是需方和供方基于供应关系,开展并完成软件采购、开发、交付、获取、运维和废止等供应活动而形成的网链结构。
我们可以看出,软件供应链提供了许多攻击面,攻击者可以通过操纵或篡改开源组件、注入恶意代码或后门来入侵整个系统。这些攻击可能在软件开发过程中不易察觉,但危害极大。同时,大型软件项目中的供需关系复杂,通常涉及多个中间商和集成商,每个环节都可能引入新的安全风险,而这些环节的安全性常常难以监控和控制。
2020年起,美国对软件供应链安全开始高度重视,这主要因为发生了两起关键性的软件供应链攻击事件。
在2020年,SolarWinds的网络管理工具Orion的构建过程遭到恶意破坏,导致在受害者的网络上创建后门。该恶意软件使至少100家公司和9个美国政府机构,包括美国疾病控制和预防中心、美国国土安全部、美国司法部、五角大楼和美国国务院受到了监视。
在2021年,广泛使用的日志记录库Log4j被攻击者利用。攻击者利用了一个意外注入的不安全的Java Naming and Directory Interface查找功能进行远程代码执行。这个功能在许多版本的库中默认启用。SolarWinds和Log4j事件都是由软件供应链驱动的。这种供应链包含“上游”组件和依赖关系,这些组件可能存在恶意或意外漏洞。
美国政府出于对软件供应链安全缺陷的担心,于2021年5月12日发布了总体行政命令14028号《加强国家网络安全》,在其中专门提出注了新的合规要求,以增强政府供应商的供应链安全。在《行政命令》第4部分,要求NIST从私营部门、学术界、政府机构和其他利益相关方那里征求意见,并确定现有或开发新的标准、工具、最佳实践和其他指南,以增强软件供应链的安全性。由此,一系列监管发文和要求随之而来,包括SSDF新版本1.1的发布[3],对SBOM的最小元素要求[4]和网络安全供应链风险管理实践[5]。
我国也高度重视软件供应链安全问题,在十四五规划和2035年远景目标纲要[6]中明确表示,要建立健全开放安全保障体系,建立重要资源和产品全球供应链风险预警系统,加强国际供应链保障合作。2022年,我国发布了《信息安全技术软件供应链安全要求》征求意见稿,并于2024年4月底正式发布了《网络安全技术 软件供应链安全要求》(GB/T 43698一2024)。相关机构也根据所处行业的特点,积极开展行业范围内的协作努力,关注自身行业软件供应链的潜在风险。除了相关制度的颁布,相关部门也积极成立软件供应链安全能力中心,助力我国软件供应链事业。
现如今,确保软件供应链的完整性也已经成为法规和合规要求的一部分。
在构筑软件供应链安全防线的过程中,金融领域展现出了其独有的复杂性和高标准。金融行业的软件供应链特性突出,具体表现在几个关键方面:
金融行业的软件供应链通常非常复杂。银行、保险、证券等金融机构均建设有适用于自身业务的核心系统,以及相关的金融服务系统、生活服务系统、基础服务系统,这些系统通常由多个供应商提供,并相互关联和集成。复杂性增加了管理和保护供应链的挑战,同时也增加了潜在的风险。
金融行业对业务连续性的要求非常高。金融机构的核心业务依赖于这些软件系统的安全与稳定的运行。任何中断都可能导致金融机构的服务中断、数据泄露、资金或声誉受损。
金融机构处理大量敏感数据,包括客户的个人金融信息。软件供应链中的任何漏洞或安全风险都可能导致数据泄露或未经授权的访问。金融行业需要确保供应链中的每个环节都具有较高的安全性。
金融行业受到严格的监管和审查。监管部门对金融机构的安全提出了严格要求,包括应用安全要求、数据安全要求、个人金融信息保护要求等。金融机构需要积极配合监管机构的审核和监控,确保合规性和安全性。
根据金融科技软件供应链的特殊性,结合联盟调研结果,汇总金融科技软件供应链相关风险如下。
近年来多次出现海外供应商因软件出口管制等原因,无法继续提供或支持相关软件,导致供应链的软件中断供应。断供问题在金融行业中具有重要的影响,需要关注软件中断供应的风险。
在现代软件开发过程中,会涉及到众多供应商,包括第三方软件开发公司、第三方组件提供商、开源社区等,供应商“断供”会直接影响企业的业务连续性和稳定性。在传统供应链的安全体系中,企业需要供应链的多样性,避免依赖单一供应商或特定地区的供应链,软件供应链也是如此。行业企业需要做好供应商的评估与审计,制定备份计划和应急响应机制,以应对潜在的中断风险。
断供问题可以从多个角度进行分析,包括商业公司断供和开源社区断供,并且从供方主动断供和供方被动断供两个角度进行分析。
商业公司被动断供,即商业公司由于外部因素导致的终止提供软件,比较常见的原因是出口管制。当政策发生变化时,商业公司所在国家或地区的法律法规限制软件出口,金融机构可能无法继续获取或使用受限制的软件,导致金融机构在业务连续性上面临挑战。
商业公司主动断供,即商业公司主动终止提供软件,可能发生在以下几种情况下:
公司倒闭:商业公司可能由于财务困难、经营不善或市场竞争等原因导致倒闭。当供应商无法继续运营时,金融机构可能面临断供的风险。
变更战略:商业公司可能调整其战略方向或产品组合,决定停止提供特定的软件或服务。这可能导致金融机构依赖的软件或服务无法继续获取,从而导致断供的风险。
开源社区被动断供风险较低,因为许多开源软件的许可证是永久的、不可撤销的,不受出口管制的约束。但是需要注意,开源社区所在代码托管平台需要遵守所在国家或地区的法律法规限制,受到出口管制的约束,被动断供风险仍然存在。
开源社区主动断供,即开源社区主动终止提供软件,可能发生在以下几种情况下:
社区解散:开源社区可能由于各种原因,如资源短缺、缺乏维护者、兴趣下降等而解散。这可能导致金融机构依赖的开源软件项目无法获得后续的更新、修复和支持,从而增加了安全风险和断供风险。
缺乏支持:开源项目的可持续性依赖于活跃的社区和贡献者。如果一个开源项目缺乏足够的支持和维护,金融机构可能面临使用过时软件、漏洞修复缓慢或无法获取必要的技术支持的风险。
单一供应商不利于风险控制,为了降低断供风险,建议金融机构优先选择信创软件产品,尤其是在操作系统、数据库等基础软件的选择上。目前信创操作系统、数据库等基础软件发展迅速,并已经完成对于信创处理器等关键软硬件的适配,在金融行业得到广泛应用。
根据艾瑞咨询在《2023年中国信创产业研究报告》中的分析,信创市场规模预期2025年恢复高增速,于2026年突破2000亿。网络安全产品步入动态综合防御阶段,产业处于快速发展期。随着我国科技的发展,信息技术应用创新(信创)产业的进步,信创产品将逐步打破原有的技术垄断,有助于降低断供风险。
软件供应链涉及多个环节和参与方,因此存在多种技术和数据安全风险。
-
软件漏洞:软件供应链中的软件可能存在漏洞,这些漏洞可能被黑客利用来获取未授权的访问权限或执行恶意操作。漏洞可能出现在供应商的开发过程中,也可能由于第三方组件或库的漏洞而传播到整个供应链中。
-
后门和恶意代码:供应链中的软件可能被植入后门或恶意代码,用于远程控制、数据窃取或非法操作。黑客可以通过篡改软件或在软件发布过程中注入恶意代码来实现这些攻击。
-
软件篡改和伪造:在软件供应链中,黑客可以通过篡改软件包或伪造数字签名等手段来篡改软件的完整性和真实性。这可能导致软件在安装或更新过程中被感染、被恶意替换或被非法访问。
-
数据泄露:软件供应链中的数据可能会受到泄露的风险。这可能发生在供应链中的任何环节,包括供应商、开发人员、数据存储和传输等。数据泄露可能导致敏感信息的曝光,如个人身份信息、财务数据或商业机密等。
-
数据篡改:供应链中的数据可能遭到未经授权的篡改,这可能导致数据的完整性和可信度受到破坏。黑客可能通过修改数据、篡改交易记录或更改配置文件等方式对数据进行篡改。
后门和恶意代码场景还分为供方预留和攻击者恶意植入两种情况,供方可能出于维护的角度在软件中预留后门,攻击者恶意植入是更常见的情况,通过污染供应链进行更加广泛的攻击。
以2020年的太阳风(SolarWinds)供应链攻击事件为例,这是目前最为著名和具有影响力的案例之一。黑客通过攻击SolarWinds公司的软件更新系统并植入恶意代码,进而渗透至多个国家和地区的企业,造成了巨大危害。
软件篡改和伪造场景中有一个常被忽略的情况,就是对于开发工具的篡改,通过篡改开发工具,使得开发工具生成的软件被植入恶意代码,这种攻击方式更加隐蔽,也更难以被发现。
2015年的XcodeGhost事件就是典型的开发工具篡改事件。Xcode是苹果公司的集成开发环境(IDE),被用于开发iOS应用程序。在XcodeGhost事件中,黑客通过在第三方网站上上传了篡改过的Xcode版本,骗取了一些开发者下载并使用该版本进行应用程序的开发。这些篡改的Xcode版本被植入了恶意代码,这些代码在使用该Xcode版本进行应用程序编译时,会将恶意代码嵌入到最终的应用程序中。
在国内,软件供应链攻击事件也时有发生,给各个行业和组织带来了严重的安全威胁,需要采取有效的预防和保护措施降低软件供应链攻击的风险。
在保障软件的完整性时常使用数字签名技术,通过数字签名验证软件的来源,确保软件是由可信的供应商发布的,没有被篡改或伪造。负责签发数字签名的证书授权中心(CA)同样存在断供的风险,需要金融机构关注。
另外在开发软件时,为了保障交付时间,不可避免的要引入大量第三方开源代码。根据Veracode 的研究报告显示, 超过 96%的产业机构在其开发实现的软件应用代码库中使用开源组件, 而近70%的应用程序都存在开源安全缺陷。根据新思科技(Synopsys)发布的《2024年开源安全和风险分析》报告,经过风险评估的代码库中,14%包含10年以上的漏洞,漏洞数量也呈现上涨趋势。开源代码的引入、使用过程中涉及众多参与方,包括开发人员、测试人员、交付人员等,这对安全工作带来了更大的挑战。供应链中的各方都需要进行审查、修复漏洞,并加强风险管理和补丁管理,以确保供应链的安全性。

金融行业软件供应链同时包含开源软件与商业软件,涉及多个供应商和合作伙伴,并且往往跨越国家和地区,这给知识产权保护工作带来挑战。金融行业软件供应链的知识产权问题涉及到对软件的版权、专利和商标等知识产权的保护和合规.
-
软件侵权风险:在软件供应链中,存在使用未经授权的软件、未经授权的代码片段或盗版软件的风险。如果软件供应链中的组件、库或代码存在侵权行为,将面临版权纠纷和法律风险。
-
开源软件合规风险:开源软件的使用在软件供应链中非常普遍,但也需要遵守相应的开源许可证要求。如果在使用开源软件时不符合许可证规定,例如未提供必要的版权声明、未提供源代码等,将面临违反开源许可证要求的风险。
-
代码的商业机密保护:软件供应链中的代码可能包含公司的商业机密,如专有算法、商业逻辑等。如果在供应链的任何环节泄露或未经授权使用这些商业机密,将导致商业机密的损失。
-
专利侵权风险:软件供应链中的技术和创新可能涉及专利保护。如果在开发、使用或分发软件时侵犯他人的专利权,将面临专利纠纷和法律诉讼。
开源软件合规风险(开源许可证风险)
无开源许可证:在软件开发过程中,使用开源软件组件非常普遍。然而,如果软件产品发布时缺乏明确的开源许可证类型,可能会导致合规风险。常见的开源许可证类型包括LGPL、Mozilla、GPL、BSD、MIT、Apache等。这些许可证对于软件的使用、修改和再分发都有不同的规定。如果软件产品没有明确指定适用的开源许可证类型,或者没有提供相应的许可证信息,将难以确定软件的使用、分发和修改是否符合合规要求。
使用不规范:在软件开发过程中,应遵守相应的许可协议规范和要求。如果软件产品发布时不符合相应许可协议的规范和要求,也会面临合规风险。如果软件开发者在使用开源软件时没有遵循该软件的许可协议要求,如未提供必要的版权声明、未保留原始许可证、未提供源代码等,可能会违反开源软件的使用规范。在使用开源组件并对其进行修改后,如果丢失了原始许可证信息,将难以确认软件的合规性。这可能会导致版权纠纷和法律风险。如果软件产品中包含从其他开源项目复制的代码片段,但未提供相关的许可证信息,将难以确定代码的合规性和法律使用性。
积极保护知识产权,遵守开源软件许可证规范,可以降低金融机构知识产权风险,确保软件供应链的合规。
金融科技软件供应链的风险不仅威胁到企业的数据和知识产权安全,还可能造成供应链中断和业务损失。面对这些挑战和风险,下一篇解读文章将深入探讨针对软件供应链风险的相关对策。
[1] 2023 Sonatype 9th Annual State of the Software Supply Chain
[2] Gartner Mitigate Enterprise Software Supply Chain Security Risks
[3] NIST SP 800-218 Secure Software Development Framework (SSDF) Version 1.1: Recommendations for Mitigating the Risk of Software Vulnerabilities
[4] The Minimum Elements For a Software Bill of Materials (SBOM)
[5] NIST SP 800-161r1 Cybersecurity Supply Chain Risk Management Practices for Systems and Organizations
[6] 中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要