PDF下载
开源软件供应链安全在开发周期中的治理研究

贾巧娟1.2 张明1.2 刘明1.2 田晓芸1.2 靳晓雨1.2 卢卫涛1.2

1.国网电商科技有限公司,天津,300010;2.国网数字科技控股有限公司,北京,100000

摘要: 软件开发周期中存在着严峻的开源软件供应链安全风险和隐患,需不断加大针对软件供应链的安全风险治理研究。本文重点论述了软件开发周期各环节存在的技术制约、恶意攻击等4方面的安全风险分析,并针对安全风险提出了开源软件供应链安全在开发周期中的治理体系。
关键词: 软件开发周期;开源组件;软件供应链安全
DOI:10.12721/ccn.2024.157001
基金资助:
文章地址:

一、引言

各行业领域相继开展数字化和智能化升级,以云计算、大数据、物联网等为代表的新一代信息技术搭建成了数字化转型技术体系,软件作为新一代信息技术的灵魂,是开源软件供应链安全的重要内容。近年来,开源软件供应链的攻击方式逐渐增多,攻击的深度和广度不断延伸,遍布在开发周期的各个环节中。由于开源软件供应链攻击能够绕过传统的防御壁垒,可长期潜伏在目标系统中,对系统安全构成严重的威胁。因此需制定有效的治理方案。

二、开源软件供应链安全风险分析

随着开源的引入,开发周期的各个环节面临着多种开源软件供应链安全风险问题,导致整体安全防护机制滞后,为软件供应链安全埋下隐患。下面将从4个层面对开源软件供应链安全风险展开分析。

2.1国内开源软件供应链受国外技术制约

软件供应链的竞争不仅关系到企业的生存与发展,而且成为世界各国相互制约和竞争的重要手段。目前一些西方国家通过实行技术封锁,建立完善的出口管制法律体系,使得开源代码在出口管制下存在断供风险[1]。但国内诸多关键软件和设计工具等依赖进口,难以从源头管控开源软件。

2.2开源软件供应链的恶意攻击

在软件开发、交付环节和用户使用过程中,遭遇多种开源软件供应链的恶意攻击,具有重大的安全隐患。开源软件供应链的恶意攻击分为预留后门、潜藏高级网络威胁、升级劫持、捆绑下载和源代码污染等7种类型。

(1)预留后门:多数软件为了方便测试,会预留一些具有高级权限的管理员账户和在软件集成部署中开发人员非授权安装木马或脚本后门,导致发布产品后被网络犯罪分子所利用,造成敏感数据被泄露等不可挽回的后果。

(2)开源软件供应链中潜藏高级网络威胁:由于开源软件的开源特性,攻击者借助于木马以软件供应链为突破口,直接将高级恶意程序代码植入到开源软件中,通过数据加密的方式,将恶意流量混淆在正常的加密数据流量中来逃避安全检测。

(3)升级劫持:软件产品都需要更新升级,攻击者通过劫持软件更新的渠道,实现软件升级过程劫持进而植入恶意代码。

(4)捆绑下载:由于应用商场审核不严等多种因素,攻击者可利用众多未授权的第三方下载站点、云服务、共享资源等方式对软件植入恶意代码,并将软件分发给用户,造成重大的安全问题。

(5)源代码污染:攻击者对源代码植入恶意代码,并在合法渠道下躲避安全检测,可长时间潜伏在用户设备中而不被察觉。

(6)开源软件补丁网站攻击:软件需要通过补丁下发部署的方式来修复软件缺陷。但这种方式也会受到分发渠道、受污染的补丁下载站点的影响,造成开源软件供应链安全问题。

(7)攻击开发环境:攻击者对代码开发编辑器进行篡改、增加恶意模块插件等操作,通过代码编译过程对代码植入后门,达到代码攻击的目的。通过攻击软件供应商的更新服务器,在软件升级时下载恶意程序,通过污染软件供应链上游各个环节达到攻击用户的目的。另外攻击者通过对镜像仓库进行网络劫持、采用名称混淆等方式,诱使开发者下载植入恶意代码的第三方软件包实现攻击目的。

2.3安全漏洞加剧开源软件供应链的风险

随着开源技术的广泛应用,开源软件供应链中的安全漏洞被暴露的数量呈现指数级增长。全球开源软件相关的已知安全漏洞已超过28000个,并且每年从开源软件中报出超过4000个安全漏洞[2]。一旦开源软件出现安全漏洞,所有与之存在关联依赖关系的软件系统都会出现相同的安全漏洞,并沿着开源软件供应链不断渗透使得用户产品中被植入后门,导致漏洞的攻击面由点及面呈现出爆炸式的爆发。

2.4开源软件供应链组织管理安全风险

开源软件供应链组织管理安全存在风险。一是大部分企业对软件供应链安全的认识不足,缺乏软件供应链安全管理的意识和举措。二是安全开发管控缺乏持续性合规应对能力,缺乏整体的管控体系。三是企业更偏向于功能需求的实现,忽视了源代码、开源组件的安全性以及各个组件之间的依赖关系。四是开源软件供应链安全管理存在漏洞,未建立完整的开源软件使用管理机制,缺乏针对软件交付、更新等开发周期环节的管控措施。五是软件供应链透明度不高,缺少软件供应链安全评估流程。

三、开源软件供应链安全在开发周期中的治理研究

开发周期中的开源软件供应链安全风险变的越发严峻和复杂,因此需建立开源软件供应链安全风险的治理体系。通过以标准建设、核心技术、治理平台、软件供应商管理、自主研发并行的方式制定安全流程、管理制度和技术方案,使其具备及时发现、分析、处理和防护的能力,实现开源软件供应链安全风险的整体管控。下面将详细阐述开源软件供应链安全风险治理体系的内容。

(1)标准建设:在软件开发周期中应强化开源软件供应链安全体系建设,建立软件供应链安全管理标准与内部规范要求。对各个系统下的开源软件供应链安全提出统一的标准,并依据国家制定的制度、规范和流程,对整体开源软件供应链安全进行规范。

(2)核心技术:开源软件供应链安全治理技术方案需结合系统生态安全现状,落地软件供应链安全管控流程、工具链等内容。目前SAST、DAST、IAST、FUZZ和SCA等技术是安全开发工具普遍使用的技术。基于SAST、IAST和FUZZ技术的安全开发工具可消除软件的安全漏洞。基于DAST技术的安全工具可辅助安全开发降低软件安全威胁。SCA技术可分析软件包含的一些信息和特征,实现对软件的识别、管理和追踪。

(3)治理平台:开源软件供应链安全治理平台可统一查看软件资产风险情况、总体治理态势,达到管理软件供应链安全建设的效果。治理平台配备系统化的软件源代码缺陷检测、软件漏洞分析、开源软件组件风险分析、软件源的多态跟踪等关键功能,可快速识别软件供应链在开发周期各个环节中存在的安全风险,实现对安全漏洞的预警和风险治理。

(4)加强软件供应商的管理。加强第三方供应商和软件的安全集成管理和安全审查。使用第三方组件和开源组件时需要求软件供应商提供由相关机构出具的渗透检测报告。

(5)自主研发安全软件资质。目前国内部分关键系统采用的是国外产品,存在被植入恶意代码的风险。因此自主研发安全软件可有效避免由软件源头引发的安全隐患。

四、结论

随着开源的广泛引入,在软件的开发周期中开源软件供应链安全面临着严峻的风险。本文分析了开源软件供应链安全风险的技术制约、恶意攻击等4方面的安全风险,并针对安全风险问题提出了开源软件供应链安全在开发周期中的治理体系,采用以标准建设、核心技术、治理平台、软件供应商管理、自主研发并行的方式制定安全流程、技术方案等内容,实现在开发周期中的开源软件供应链安全风险的整体管控。

参考文献

[1] 冯兆文.从Struts2漏洞看办公内网软件供应链安全管理[J].保密科学技术,2019(05):37-40.

[2] 刘权,王超.加强软件供应链安全保障的对策建议[J].中国信息安全,2018(11):64-66.