新发布:2025年SANS工业控制系统/运营技术网络安全报告现已上线

获取报告
我们利用人工智能进行网站翻译,虽然我们力求准确,但不一定总是 100%精确。感谢您的理解。

当今Software 中的七大薄弱环节

Lavinia Prejban,产品营销专家
分享此贴

本博客总结了网络研讨会《Supply Chain :攻击者利用的薄弱环节》的核心要点。点击此处观看完整研讨会


随着企业日益依赖开源组件、外部软件包和自动化开发管道Software 风险已急剧攀升。那些曾经看似无害的细微漏洞如今会引发切实后果——尤其当依赖关系日益复杂且难以验证时。

这一转变的鲜明例证便是近期爆发的npmShai-Hulud蠕虫及其升级版Shai-Hulud 2.0。该恶意软件通过受感染的软件包传播,短短数小时内便波及数千个下游项目。此类事件清晰揭示了一个事实:供应链漏洞不再局限于局部范围,而是会像多米诺骨牌般蔓延至整个生态系统。

现代软件中70%至90%由开源组件构成,而开发者大多从未直接接触这些组件,因此细微问题可能迅速演变为重大风险。然而仅有15%的企业对其开源风险管理能力充满信心。预计到2025年,70%的恶意人工智能攻击将瞄准供应链,识别软件供应链中的薄弱环节已成为当务之急。

对工程和安全团队而言,其益处显而易见:掌握这些薄弱环节的位置意味着减少意外情况,加快响应速度,并大幅降低成为下一个供应链安全事件头条新闻的风险。

软件材料清单不再是可选项

为管理软件供应链风险并应对漏洞问题,企业需要清晰掌握其软件堆栈的构成。这种可视性的基础在于软件物料清单(SBOM),它能提供必要的透明度以理解组件风险,并在问题出现时迅速采取行动。

软件物料清单(SBOM)被定义为应用程序中所有闭源和开源组件、许可证及依赖项的详细清单。该清单为透明度、合规性和风险管理提供了关键数据。

图标引语

今日看似无害或无恶意的事物,明日便可能变得脆弱或恶意。由于漏洞会持续被发现——包括旧版本中的漏洞——因此需要持续监控和清点。

George Prichici
产品副总裁,OPSWAT

SBOM 与 SCA

一个关键点在于区分SBOM(Software )与SCA(Software 分析)。SBOM相当于组件清单或目录,而SCA则评估这些组件是否存在漏洞、过时或风险。二者结合能为组织提供必要洞察,助力其做出明智决策、更快响应安全问题,并强化整体风险管理。

类别SBOMSCA
目的
部件清单
识别组件中的漏洞
风险覆盖
合规性与可见性
安全风险、CVE漏洞、运行时风险
时机
部署前/采购
持续集成/构建与运行时

全球性举措——部分源于SolarWinds等攻击事件——如今要求软件物料清单(SBOM)的实施。随着美国网络安全与基础设施安全局(CISA)、国家安全局(NSA)、国家标准与技术研究院(NIST)等机构的监管推动,以及欧盟和北约盟国的政策导向,SBOM透明度已不再是可选项,而是对所有软件供应商的基本要求。

攻击者利用的7个关键薄弱环节

现代发展的迅猛速度,加之对第三方和开源代码的高度依赖,已催生出严重的漏洞。威胁行为者正利用七大主要薄弱环节:

1. 开源与依赖风险

当开发者优先考虑速度时,他们往往会直接使用大型开源库而不进行全面代码审查。单个组件可能引入额外的传递依赖。若仅监控顶层代码,就可能遗漏被注入到这些隐藏传递依赖中的恶意代码。

这种模式在开源生态系统中屡见不鲜。一个被入侵的软件包可能通过依赖链层层扩散,在无人察觉的情况下被下载数百万次。近期涉及加密恶意软件的npm供应链攻击事件,就生动展现了这种情况在现实中的发生过程。

最佳做法:

  • 扫描所有开源软件包及其完整的依赖链,在漏洞、过时组件或隐藏的恶意软件进入您的代码库之前将其识别出来。
  • 持续监控随时间变化的依赖项,因为安全组件可能因新出现的CVE漏洞或恶意更新而变得存在风险。
  • 使用可信的软件源并验证软件包完整性,以确保您下载的软件包未被篡改。
  • 实施策略以标记或阻止高风险许可证,确保不兼容或病毒式许可证条款不会混入您的构建中。
  • 延迟使用新发布的软件包,直至其经过审核,以降低将未经审查或恶意版本引入环境的风险。

2. 许可风险

许可问题如今对工程领域的影响已不亚于法律领域。病毒式许可协议(如GPL)可能强制要求最终应用程序采用相同许可协议发布,这可能导致企业丧失自身知识产权(IP)。由于许可条款可能随时变更——即便是早期合规版本亦然——因此必须实施持续监控。

最佳做法:

  • 使用自动许可证检测工具,在开发初期就标记高风险或不兼容的许可证。关于其重要性的深入解释详见此文:《许可证检测在开源安全中的关键作用》
  • 持续追踪许可证变更,及时发现可能影响合规性或知识产权暴露的变动。
  • 在组件进入代码库之前,对其进行审查或阻止那些采用限制性或病毒式许可的组件。
  • 保持所有在用许可证的清晰清单,以简化审计和风险评估流程。

3. 软件物料清单数据缺失或缺少软件物料清单

尽管法规要求共享软件物料清单(SBOM),但仅提供高层次清单远远不够。要实现有效的风险缓解与预防,必须包含详细数据点,包括作者、贡献者、发布频率及维护状态等信息。

最佳做法:

  • 通过重新扫描组件来增强SBOM报告,使其包含更新的许可证数据、漏洞状态及其他关键元数据。具体操作示例详见CycloneDX SBOM报告验证与增强部分
  • 使用自动化工具验证并丰富软件物料清单(SBOM),确保信息完整、准确且可操作。
  • 要求供应商提供完整的软件物料清单深度,包括传递性依赖项及所有相关元数据。
  • 随着组件演变或新漏洞出现,持续更新并监控软件物料清单(SBOM)库存。


    4. 第三方供应商

    您所依赖的每个供应商都将成为供应链的一部分。若其交付过时或存在安全隐患的组件,您将直接承担相应风险。完整的软件物料清单(SBOM)——包括传递性依赖项——能让您快速掌握风险敞口,而非在安全事件发生后才匆忙追查供应商。近期发布的《Supply Chain依赖项漏洞》一文,深入探讨了团队如何强化这一环节的管控能力。

    5. 人工智能Supply Chain

    由于人工智能的快速普及,团队常绕过常规限制,这已成为主要攻击途径。攻击者将恶意代码植入机器学习模型、PICO文件或开源库中。在Pytorch等环境中,用户可能误拉取错误库,这种"拼写劫持"行为十分常见——此类库会传播恶意软件,最终在工程师设备上实现完整的远程代码执行。

    6.Container

    容器扫描必须超越仅关注漏洞的局限。现代安全防护还需检测恶意软件、加密货币挖矿程序以及公开容器镜像中发布的快速传播威胁。近期对 Container -2024-0Container 的分析表明,此类问题极易被忽视。

    7. 机密与凭证泄露

    当团队快速推进时,常会将访问密钥或凭证硬编码到源代码中用于测试。即便后续被覆盖,这些机密信息往往仍残留在Git历史记录中,攻击者可通过扫描轻易发现。本文《揭露隐蔽威胁:如何检测代码中的机密信息》将阐述此类泄露的成因,并指导团队采取防范措施。

    构建Secure Software Supply Chain之路

    为应对这些威胁,安全团队必须采用"左移"策略,即在开发周期更早阶段就实施与发布前相同的策略。目标是将安全作为覆盖层集成到现有的持续集成/持续交付(CI/CD)管道中。这种自动化方法能在必要时确保策略执行,同时不影响工程团队的生产效率。

    一个全面的解决方案必须提供:

    • 自动化供应链扫描贯穿整个流程
    • 源代码、容器和供应商提供的文件的可见性
    • 超越CVE漏洞的分析,用于检测恶意软件、许可证问题及暴露的机密信息

    OPSWAT 如何OPSWAT 弥补这些漏洞

    • Multiscanning 在管道早期阶段检测恶意软件
    • 集成式CI/CD安全门禁系统,适用于GitHub、GitLab、TeamCity、Jenkins等平台
    • 自动化SBOM生成与漏洞映射
    • 工件签名与完整性验证
    • 机密扫描与凭证卫生规范执行

    立即联系我们的专家,为您量身定制技术栈解决方案。

    通过OPSWAT 了解最新信息!

    立即注册,即可收到公司的最新动态、 故事、活动信息等。