金融行业软件供应链安全浅析|大湾区金融安全专刊·安全村

admin 2023年8月13日09:58:24评论22 views字数 4368阅读14分33秒阅读模式
金融行业软件供应链安全浅析|大湾区金融安全专刊·安全村


金融行业软件供应链安全浅析|大湾区金融安全专刊·安全村


软件供应链安全背景



在当今数字化时代,软件应用无处不在。软件就像人体中的“软组织”,已经成为支撑人类社会正常运转的基本元素之一,软件安全性问题也正在成为当今社会特别是金融行业面临的基础性重大问题。随着软件产业的快速发展,软件外包日益盛行,开源软件大量被使用,软件供应链也越发复杂多元。软件供应链安全不止限于公司研发部内部,并且扩展到第三方软件公司和开源软件社区。软件供应链安全问题需要内外各方共同协作才能得到妥善处理。

复杂多元的软件供应链会引入一系列的信息安全问题,特别是安全漏洞问题,导致信息系统的整体防护难度越来越大。近年来针对软件供应链的安全攻击事件呈快速增长态势,造成的危害也越来越严重。攻击不断演进,针对软件供应链的攻击事件频发,深入研究软件供应链安全,管控软件供应链安全风险,已经迫在眉睫。

软件供应链安全现状



源代码属于软件供应链的源头。源代码安全构成了软件供应链安全的基础。2020年,国内某知名安全实验室对2001个国内企业自主开发的软件项目源代码进行了安全缺陷检测,检测的代码总量为335,011,173行,共发现安全缺陷3,387,642个,其中高危缺陷361,812个,整体缺陷密度为10.11个/千行,高危缺陷密度为1.08个/千行。显示出软件供应链安全问题十分严重,对信息安全整体形势造成很大危害。

现在软件多数是被“拼装”出来的,不是被“开发”出来的。据权威统计,软件开发中,50-80%的代码来自于开源软件。现代软件的源代码绝大多数是混源代码,由企业自主开发的源代码和开源软件代码共同组成。开源软件是现代软件开发最基础的原材料,与企业自主开发的源代码所处的软件供应链环节相同,也位于软件供应链的源头,其代码自身的安全状况,会直接影响最终软件的安全性。


软件供应链安全风险和攻击



通过某知名安全实验室对近5年的43次软件供应链安全事件做的系统性整理、分析、研究,得出以下软件供应链风险的8项典型特征:

金融行业软件供应链安全浅析|大湾区金融安全专刊·安全村

在软件供应链攻击中,攻击者会在不同的阶段,寻找合适的机会发起攻击。比如,在开发过程中,软件开发人员经常使用开源代码库来构建应用程序,当攻击者将恶意代码插入到可公开访问的代码库中时,恶意代码将植入到代码片段中。当开发人员使用代码库中的代码时,恶意代码将会被植入,攻击者便可以由此对目标展开攻击,进而造成严重危害。根据2021年开源安全与风险分析(OSSRA)报告显示,84%的代码库存在漏洞,平均有158个漏洞。可见开源软件供应链攻击产生的概率是非常高。

开源软件具有对外公开、易获取、可复用的特点。随着开源软件的广泛使用,一旦软件发现安全漏洞,必将给开发、安全团队带来严峻的挑战。开源漏洞信息分布在各大社区,很多漏洞信息不能及时被官方收录。由于软件使用者缺少漏洞信息跟踪能力,使得漏洞修复相对滞后,提升了软件被攻击的风险,为软件供应链安全管理增加了难度。



软件供应链安全治理



由于软件供应链安全面临着严峻的挑战和治理痛点,一些机构推出了针对软件供应链的安全治理体系,以求系统、完整地解决软件供应链安全威胁问题。其中最知名的是微软的供应链完整性、透明度和信任(SCITT,The Supply Chain Integrity,Transparency and Trust)
框架。SCITT框架是一套已提议的行业标准,用于管理端到端供应链的产品和服务的合规性。它支持对产品和服务的持续验证,其中可以确保实体、证据、政策和制品的真实性,并且可以保证实体的行为是经过授权的、不可否认的、不可变的和可审计的。其工作流程如下图所示,描述了供应链完整性模型中实体之间的制品、证据和策略流。

金融行业软件供应链安全浅析|大湾区金融安全专刊·安全村

其中,供应商创建制品(a),认证者创建证据(b)并提交到应用商店进行日志记录、查询和检索。供应商和认证者可能是同一实体。策略管理器创建策略(c)并提交到存储区,在其中记录策略并可供查询和检索。用户代理(d)接收制品(a),检索证据(b)和策略(c),并验证制品。

下图显示了SCITT在软件开发生命周期(SDLC)中的应用示例。
金融行业软件供应链安全浅析|大湾区金融安全专刊·安全村

软件供应过程风险治理主要是指对软件产品由供应商运输给最终用户的这一供应过程的风险治理,以及供应过程中人员(包括供应商、管理人员、开发人员、测试人员、运营人员、终端用户等)的安全管理。软件开发生命周期安全风险治理主要指软件开发过程中从需求设计、开发测试、发布运营、下线停用等环节进行全流程的闭环安全风险监控及安全管理,确保从软件生命周期的源头保障软件供应链安全,实现开发运营的安全闭环。

金融行业软件供应链安全浅析|大湾区金融安全专刊·安全村



软件供应链安全解决方案-软件物流清单SBOM



由于绝大部分软件都是拼装而成而非从零开始构建。通常软件供应商并不了解其产品具体使用了哪些开源软件,也无法确定产品是否使用了不安全或存在漏洞的软件组件,因此供应商无法在开发阶段及时规避这些风险,从而导致软件发布后产生的安全风险较大与修补成本较高。此外当有漏洞被揭露时,很少有银行机构可以快速、准确地定位并响应一些关键性问题,例如产品是否受到该漏洞的影响,该漏洞影响了哪些产品线,哪些软件的版本是否存在这些问题等。实际上这一情况的根源在于未管理产品的软件组成所造成的。因此,需要维护准确最新的SBOM,以确保其代码高质合规安全。以下是SBOM的基本属性:

金融行业软件供应链安全浅析|大湾区金融安全专刊·安全村

SBOM已成为安全业界公认的遏制软件供应链风险的最佳方案之一,实施SBOM有助于揭示整个软件供应链中的漏洞与弱点,提高软件供应链的透明度,减轻软件供应链攻击的威胁,驱动软件供应链的安全。通过使用SBOM可以帮助企业进行漏洞管理、应急响应、资产管理、许可证和授权管理、知识产权管理、合规性管理、基线建立和配置管理等。



软件供应链安全标准-OWASP SCVS


(软件组件验证标准)


OWASP SCVS(Software Component Verification Standard)全称是OWASP软件组件验证标准,是OWASP为了识别和降低软件供应链风险而由社区提出的项目,主要是为了建立一套用于识别活动、控制和最佳实践的框架。

SCVS项目有几个目的:
1、开发一套通用的活动、控制和最佳实践的,用来降低软件供应链风险;
2、确定软件供应链控制的基线,以及发展出让软件供应链活动走向成熟的可行路径。

OWASP SCVS是一个类似CMMI的成熟度模型,根据成熟度的要求分成三个验证级别:

SCVS 1级适用于满足基本分析需要的一般软件的低保证要求。比如使用公开数据,不要求强认证的,甚至是开源免费的软件。
SCVS 2级适用于需要额外分析或尽职调查的中度敏感软件。比如使用敏感数据,或者公司收购的时候要求进行尽职调查的软件。大部分软件属于2级。
SCVS 3级适用于由于数据敏感性或软件使用而产生的高保证要求。比如使用高度机密的数据,或者用在非常关键的场合的软件。

SCVS包括六个控制域,每个控制域又包括若干控制项,这些控件项适用于组件验证的不同方面或组件验证发生的过程。这六个控制域分别是:

金融行业软件供应链安全浅析|大湾区金融安全专刊·安全村

SCVS一般有两个应用场景,一个是用于校验企业内部的自身的软件供应链能力,另外一个是校验供应商的软件供应链能力。

对于企业内部的能力的评估:

SCVS提供了一种结构化的方法来评估和验证内部软件功能和流程,并确定可以改进可验证性的领域。由于SCVS的分层和主题结构,同一组织可以在验证类别内或跨类别处于不同级别。根据给定系统所需的保证级别,系统批准可能需要不同级别的SCVS控制。鉴于软件组成的变化比较快,特别是对于在持续集成管道中开发的功能,保证的连续性需要持续的验证而不是一次性验证。也就是说SCVS控制要集成在CI/CD流程中。

对于供应商能力的评估:

SCVS提供了一种标准化的方法来评估合同或外包软件供应商提供的供应链透明度,基于供应商软件开发工作流程中存在的文档和元数据和提供的软件可交付成果。具体来说,软件客户可以要求供应商提供软件材料清单(SBOM),以建立供应链可见性并区分供应商。由于SCVS的分层和主题结构,所以SCVS可以用于分析备选方案和全部或部分用于评估采购提案。不同级别的SCVS控制可用于确定采购资格,或作为对提案进行评分的一个要素。供应商提供的软件材料清单和其他验证数据使客户能够持续监控供应商软件中存在的风险,以实现可见性,而不管供应商提供的通知或更新如何。该数据的可审计性使合同条款的制定和执行能够在指定的时间段内修复已知漏洞。


软件供应链安全检测工具



找八哥SCA软件成份分析是一套集开源软件安全漏洞收集、开源软件安全检查管理、开源软件安全漏洞知识分享等为一体的开源软件安全漏洞检测系统。下图是系统组成:

金融行业软件供应链安全浅析|大湾区金融安全专刊·安全村

用户通过找八哥SCA软件成分分析系统,建立全面的开源组件安全检测机制,多场景、多维度地开展查询和检测任务,全面排查各个项目的安全风险。在这个应用方式中,是以应用系统的开发阶段划分的,找八哥SCA软件成分分析系统为不同阶段的不同角色人员提供方便、快捷的安全漏洞风险查询功能。

金融行业软件供应链安全浅析|大湾区金融安全专刊·安全村

用户通过找八哥SCA软件成分分析系统,建立全面的开源组件安全私有库管理体系,从准入、测试、监控三个方面共同建设,在整个企业内部全面建设一套安全的开源软件管理体系,避免开源软件安全风险。在开发企业内部,以找八哥SCA软件成分分析系统为一个基准点,把外部体系与内部体系进行隔断,从而建立“准入机制”;再以开发工具中所用到的私有库、制品库、组件库和下载中心为主要切入点,把开源安全检测落实到位,建立“检测机制”;通过不断持续地对新的开源安全漏洞情报进行收集和总结,并实时同步,建立“监控机制”,形成全面的开源安全管理体系。

金融行业软件供应链安全浅析|大湾区金融安全专刊·安全村
总结



软件供应链已经成为网络安全攻防对抗的焦点,直接影响关键信息基础设施和重要信息系统安全。当前,我国在软件供应链安全方面的基础比较薄弱,需从国家、行业、研究机构、企业等各个层面建立软件供应链安全风险的识别能力、分析能力、处理能力、防御能力,整体提升软件供应链安全管理的水平。软件供应链安全管理是一个系统工程,需要长期持续的建设。


作者介绍

张春雷 王勇宁:华润银行基础架构部负责人、专家。



关于 大湾区金融安全专刊


大湾区专刊集合了全国数十家金融和科技机构的网络安全工作经验总结,内容涉及防护体系、资产管理、研发安全、攻防演练、安全运营、数据安全、业务安全七大主题方向,希望能为从业者提供网络安全防护方面的整体思路,向行业传播可持续金融创新和实践经验,为推动可持续金融生态发展汇聚智慧与力量。


关于 安全村


安全村始终致力于为安全人服务,通过博客、文集、专刊、沙龙等形态,交流最新的技术和资讯,增强互动与合作,与行业人员共同建设协同生态。




金融行业软件供应链安全浅析|大湾区金融安全专刊·安全村

专刊获取方式


本次专刊的合作机构如下
赶紧关注他们
联系获取纸质版专刊吧!


金融行业软件供应链安全浅析|大湾区金融安全专刊·安全村


原文始发于微信公众号(KK安全说):金融行业软件供应链安全浅析|大湾区金融安全专刊·安全村

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年8月13日09:58:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   金融行业软件供应链安全浅析|大湾区金融安全专刊·安全村http://cn-sec.com/archives/1940223.html

发表评论

匿名网友 填写信息