课程分享 | 软件供应链安全的系统工程

发布于:2025-03-29 ⋅ 阅读:(24) ⋅ 点赞:(0)

讲师介绍

软件供应链安全的挑战

近年来,软件供应链安全事件频发,其破坏力和影响力远超传统网络攻击。尤其值得关注的是,软件供应链攻击无论在数量规模还是技术复杂度上都呈现快速上升趋势,呈现出“攻击面广、传播链长、隐蔽性强”的三大特征。

以震惊全球的Log4j2漏洞事件为例,通过对该组件的依赖关系进行深度分析可以发现:直接依赖Log4j2的组件有6,921个,第二层依赖超过3万个,第三层依赖激增至9万个,到第四层依赖更是突破16万个,最终形成波及173,104个组件的放射性影响网络。这种“依赖层级越深,影响范围呈指数级扩张”的特性,使得单个开源组件的漏洞可能演变为席卷整个软件生态的灾难性事件。更严峻的是,现代软件供应链攻击已发展出包括源码投毒、构建工具劫持、更新劫持等在内的多元化攻击手法,SolarWinds事件中攻击者潜伏长达9个月才触发后门的行为,更是凸显了供应链攻击的隐蔽性和持久性威胁

随着开源软件在企业和开发者中的广泛应用,软件供应链安全风险被进一步放大。据统计,现代应用程序中90%以上的代码依赖开源组件,但大多数企业缺乏对深层依赖项的完整可视化管理。一旦上游开源项目出现漏洞或被恶意篡改,下游成千上万的应用将面临连锁式安全威胁。

尽管我国在软件供应链安全领域的系统性研究起步较晚,但近年来已加速推进相关政策、法规及标准的制定,形成了覆盖范围更广、目标更明确的监管体系

软件供应链安全成因及对策

软件供应链安全成因

从软件本身来看:

  • 软件的复杂性:软件规模增加,复杂性与编码难度提高;
  • 软件的不可见性:软件市场的逆向淘汰,软件自身保障能力不足;
  • 软件的复用性:软件可复用,安全缺陷将随着软件的不断被使用,将呈现雪崩式的传播。

从攻击者角度来看:

  • 攻击“左移”,引发风险的“供应链牛鞭效应”;
  • 攻守失衡,同时为攻击行为提供了天然的扩散渠道,具有非常高的攻击价值;
  • 软件开源化,可控性降低。

软件供应链主要流程

软件供应链和传统供应链对比:

软件供应链主要风险

通过对历年来典型软件供应链攻击事件的深入分析,我们发现在软件开发、软件交付和软件应用主要面临以下几类软件供应链安全风险:

软件供应链安全的系统工程

为应对日益复杂的软件供应链风险,需构建多层次全流程协同化的系统工程体系,从主要环节安全保障实践供应链安全过程能力软件供应链安全生态协同三个维度进行综合防御。

首先从软件供应链主要环节进行安全保障实践,在采购、软件开发、软件交付、软件停用等核心环节嵌入安全措施,消除风险。其次需要提升供应链安全过程能力,通过工具方法,安全流程及代码质量提升实现动态管控。最后,供应链安全不能靠单一环节解决,需要从国家层面、开源社区层面、使用软件的层面、安全企业及提供安全服务的厂商在软件供应链安全生态中贡献力量。

软件供应链安全解决方案

针对软件供应链安全,我们提出覆盖采购(开发)运维下线三大核心环节的全生命周期解决方案。

采购(开发)环节风险点:

  • 供应商是否可持续提供服务?
  • 采购软件的安全,是否满足公司的需求?
  • 在供应链生命周期内,是否可持续交付安全的产品?

采购(开发)环节审核要点:

1.企业资质审核:

  • 需要对供应商的资质进行评估
  • 通用门槛:成立年限、雇员规模、年销售额、负债比、成功案例、组织架构等;
  • 重要与核心软件供应商门槛:高新技术企业资质、专利数量、行业排名、行业专家数量、500强客户服务数量、售后服务等。

2.软件安全检查:

  • 供应商的产品必须包含:产品BOM、知识产权合规说明、依赖&环境安全配置;
  • 重要及核心产品建议包含:安全中间件、数据资源保护和资产隐藏防护;
  • 供应商的产品不能包含:病毒、后门、恶意代码、代码漏洞、隐藏功能、第三方组件漏洞、敏感信息暴露、知识产权违规、无许可信息。

3.软件安全成熟度评估:

软件安全成熟度评估是系统化衡量企业供应链安全水平的关键方法,基于行业最佳实践,从各个维度对供应链当前安全现状进行系统的访谈和调研,评估需输出详尽的现状数据。

运维环节风险点:

  • 软件是否能正常升级?
  • 软件安全漏洞是否后知后觉?
  • 产品交付运行后,是否符合供应商承诺?

运维环节审核要点:

1.软件升级结果检查:

  • 主要靠安全测试和工具的扫描,验证产品和补丁的完整升级;
  • 在产品升级发布的过程中,确保环境的安全,防止升级劫持;确保产品数据升级、无遗漏;确保产品功能完善、无BUG。

2.软件漏洞应急响应:

通过情报服务(如外部安全应急响应团队、与安全情报组织达成合作论坛、第三方数据分析、漏洞悬赏和众测等)结合软件成分分析平台,评估供应商列表和供应商资产列表,保证快速、准确、全面监控供应商安全状况。

3.供应商承诺符合性检查:

使用安全测试工具链对供应商安全承诺符合性检查。

下线环节风险点:

  • 产品下线后,服务接口、防火墙接口等服务未下线,导致风险。
  • 无针对不活跃项目的风险管控,产生不可控风险。

下线环节审核要点:

1.产品安全下线治理:

  • 使用软件安全扫描工具,对即将下线的产品进行审核,出具对应的安全审核报告;
  • 对即将下线产品中的隐私信息进行合理化管理;
  • 官宣产品下线,防止被二次使用造成损害,影响企业形象;
  • 产品下线后,对应的服务接口同步下线。

2.不活跃开源组件治理:

不活跃的项目,主要表现为缺乏维护(无人修复漏洞)使用老旧版本(已知漏洞长期存在)恶意代码植入风险

通过软件成分分析(SCA)工具持续监测组件活跃度,建立组件淘汰标准,对高风险组件采取升级替换隔离运行代码重构等措施,同时建立技术债务跟踪机制,逐步降低对不活跃组件的依赖,从而有效管控开源供应链安全风险。


网安加云课堂

2025年3月28日