打开网易新闻 查看精彩图片

软件供应链遭受攻击以窃取敏感数据和源代码的事件几乎每天都在发生。根据身份盗窃资源中心(ITRC)的数据,2022年有超过1000万人受到供应链攻击影响。这些攻击针对了1700多家机构,泄露了大量数据。

软件供应链变得越来越复杂,威胁也变得更加精密。与此同时,人工智能更多地被黑客利用来支持恶意攻击,而不是加强防御。组织规模越大,首席技术官就越需要努力增强供应链安全,同时又不能牺牲开发速度和价值实现时间。

为什么软件供应链变得如此脆弱

现代应用程序比几年前更多地依赖预构建的框架和库,每个都有自己的生态系统。DevSecOps和第三方集成等安全实践也增加了依赖关系。虽然它们提供了速度、可扩展性和成本效率,但依赖关系为黑客创造了更多弱点。

这些实践本意是加强安全,但可能导致分散的监督,使漏洞跟踪变得复杂。攻击者可以通过广泛使用的组件的路径渗透并利用已知漏洞。单个被破坏的包波及多个应用程序就可能造成严重损害。

供应链安全漏洞会造成毁灭性的财务、运营和声誉后果。对于企业主来说,选择将强大安全措施放在首位的数字工程合作伙伴至关重要。服务供应商也必须理解,强大网络安全的保证正在成为建立新合作关系的决定性因素。

为什么传统安全方法不足以应对现代威胁

大多数供应链攻击源于供应商端,这对供应商来说是一个严重问题。如前所述,复杂的生态系统和开源组件是容易攻击的目标。首席技术官和安全团队不应盲目信任供应商,而是需要对开发过程有清晰的可见性。

为您的解决方案创建和维护软件物料清单(SBOM)可以通过显示软件组件列表来帮助降低风险。然而,SBOM无法洞察这些组件如何运行以及它们携带什么隐藏风险。

对于大规模企业系统,审查SBOM可能令人不知所措,并且不能完全保证充分的供应链安全。持续监控和主动安全思维——假设漏洞存在并积极缓解它们——可以让情况更可控,但它们不是万能的解决方案。

软件供应链由许多层组成,包括开源库、第三方API、云服务等。由于它们为链条增加了更多复杂性,有效管理这些层变得至关重要。

在没有合适的可见性工具的情况下,每一层都会带来潜在风险,特别是当开发人员对集成到解决方案中的每个组件的来源几乎无法控制时。Snyk、Black Duck和WhiteSource(现在是Mend.io)等工具通过扫描组件漏洞和识别过时或不安全的组件来帮助分析软件组成。

自动更新的风险和机会

自动更新是一把双刃剑;它们显著减少了推出补丁和修复所需的时间,同时也暴露了弱点。当可信供应商推送结构良好的自动更新时,他们也能在检测到漏洞后、攻击者利用之前快速部署补丁。

然而,自动更新可能成为攻击的传递机制。在SolarWinds事件中,恶意代码被插入自动更新中,这使得在被检测到之前就实现了大规模数据盗窃。盲目信任供应商及其提供的更新会增加风险。相反,应该将重点转向集成有效工具以构建可持续的供应链安全策略。

保护软件供应链的基本工具和策略

首席技术官必须采取主动立场来加强对供应链攻击的防御。因此需要SBOM和软件组成分析(SCA)、自动化依赖跟踪以及定期清理未使用组件。其他几种方法和工具可以帮助进一步加强安全:

威胁建模和风险评估有助于识别潜在弱点并优先考虑供应链内的风险。

代码质量确保代码安全且维护良好,最大限度地减少漏洞风险。

SAST(静态应用程序安全测试)在开发过程中扫描代码的安全漏洞,使团队能够更早地检测和解决问题。

安全测试验证每个系统组件是否按预期运行并受到保护。

仅依赖供应商是不够的——首席技术官必须优先考虑更强大、更智能的安全控制。他们应该集成强大的SBOM和SCA跟踪工具,并应在软件开发生命周期中涉及SAST和威胁建模。同样重要的是维护核心工程标准和DORA等性能指标,以确保高交付质量和速度。通过采用这条路线,首席技术官可以自信地构建和购买软件,始终领先黑客一步,保护他们的品牌和客户信任。

Q&A

Q1:什么是软件物料清单SBOM?它能解决所有供应链安全问题吗?

A:软件物料清单(SBOM)是显示软件组件列表的工具,可以通过透明化组件信息来帮助降低风险。但是SBOM无法洞察这些组件如何运行以及它们携带什么隐藏风险,对于大规模企业系统来说可能令人不知所措,并且不能完全保证充分的供应链安全。

Q2:为什么自动更新既有好处又有风险?

A:自动更新的好处是能显著减少推出补丁和修复所需的时间,在检测到漏洞后能快速部署补丁。但风险是可能成为攻击的传递机制,比如SolarWinds事件中恶意代码被插入自动更新,导致大规模数据盗窃。因此不应盲目信任供应商更新。

Q3:首席技术官应该采用哪些工具来保护软件供应链?

A:首席技术官应该集成SBOM和软件组成分析(SCA)工具、自动化依赖跟踪工具,以及Snyk、Black Duck、Mend.io等组件扫描工具。还需要采用威胁建模、SAST静态应用程序安全测试、安全测试等方法,并维护DORA等性能指标以确保高质量交付。