乐于分享
好东西不私藏

浅谈软件供应链安全

浅谈软件供应链安全

1什么是软件供应链安全

什么是软件?

定义:与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。

简言之:我们工作中、日常生活中所使用的电脑、平板、手机等安装使用的应用程序都是软件的一种体现形式。

什么是供应链?

定义:生成及流通过程中,涉及将产品提供给最终用户所形成的网链结构。 包括供应商、制造商、物流商、内部配送中心、分销商、批发商以及联系最终用户的其他实体。

简言之: 为用户提供产品和服务的上游供应者,与下游用户共同形成的关联关系。

什么是软件供应链?

定义:需方和供方基于供应关系,开展并完成软件采购、开发、交付、获取、运营、运维、下线和废止等供应活动而形成的网链结构。

简言之:软件产品从生产、交付、使用、废弃所形成的一个裙带关系,中间涉及多种角色和资源的支撑,共同完成软件的整个生命周期而形成的链路。

什么是软件供应链安全?

定义:指在软件开发、交付、应用和下线过程中,保护软件生态系统中的各个环节免受恶意活动和威胁的影响,保护软件生态系统中各个环节和实体角色免受恶意攻击或篡改,以确保软件的完整性、可用性、合规性、机密性、真实性和业务连续性。

简言之:软件供应链安全包括实体角色与活动(开发商、集成商、代理商、运维商、用户等)、阶段与供应活动(引入、交付、应用和下线阶段)、安全风险(漏洞、后门、数据泄露)等内容。

软件供应链安全架构图

2软件供应链安全与我们息息相关

随着物联网时代的到来,容器、中间件、微服务、AI等技术的演变,使软件供应链也愈发复杂,全链路安全防护难度不断加大。软件供应链安全事件频发,对公民隐私、财产安全乃至国家安全造成重大威胁。供应链攻击事件虽然大多发生在软件开发商和供应商,但最终的受害者却是用户本身,可对其网络安全、信息安全和数据安全造成不同程度的破坏。因此,维护软件供应链安全,对于保护公民隐私、财产安全,以及维护国家网络空间安全具有深远意义。

案例1SolarWinds (网管软件厂商)的网络监控软件更新服务器遭遇国家级APT团伙高度复杂的供应链攻击。黑客获取权限后创建了高权限账户,对源代码包进行了篡改,植入木马后门。导致美国关键基础设施、军队、政府在内的18000个企业和组织受到不同程度的影响。

案例2:某用户所使用的计算机存有重要的数据,此用户在非官方发布的网站下载并安装了一个应用软件,并未进行病毒查杀和安全检测,此应用软件存在安全漏洞且被黑客植入了木马,导致计算机中的重要数据被泄露,损失100多万。

3软件供应链存在哪些风险

1)引入阶段

第三方组件漏洞、开源组件或商业组件存在未修复漏洞,被攻击者利用(如Log4j2远程代码执行漏洞);

恶意代码注入,攻击者篡改开源库或工具链,植入后门(如上游代码仓库污染),导致数据泄露;

开发工具链污染,CI/CD管道、编译器或打包工具遭篡改,使恶意代码注入生成流程,导致数据泄露。

2)交付阶段

软件包篡改与冒用,官方更新包被植入木马(如供应链中间人攻击)或盗用合法签名分发恶意软件,导致数据泄露;

依赖混淆攻击,攻击者上传同名高版本恶意包至公共仓库,诱骗系统优先加载,恶意软件传播,导致用户数据泄露。

3)应用阶段

供应链中断,供应商服务停止、物流受阻或开源项目停维护,导致漏洞无法修复;

更新劫持,软件更新渠道被劫持,推送恶意补丁,权限被控制,导致数据泄露。

4如何应对来自软件供应链的威胁

如何确保软件在整个生命周期的机密性、完整性、可信性和可靠性,对于软件供应链安全至关重要。

从企业层面,软件供应链安全是一个系统性、持续性的工程,需要组织从战略层面重视,并落实到开发、交付、应用的各个阶段。进行软件供应链安全检测、构建软件物料清单(SBOM)、验证来源和完整性(签名)、持续监控软件供应链安全风险、加强对供应商的管理、完善软件供应链安全管理流程和机制。

从个人层面,软件供应链安全是一个持续性的的安全行为,需要个人做好安全意识的培养,在工作、学习和生活中,下载和安装的软件需在官方网站上下载,不要连接不受信任的网络,定期查杀病毒和更新补丁。