保护软件产品的传统方法侧重于消除自定义代码中的漏洞并保护应用程序免受第三方依赖项中已知风险的影响。然而,这种方法是不够的,无法解决软件供应链带来的全部威胁。如果忽视保护该链的各个方面(从生产到分发和部署)的安全,组织就会面临恶意软件、数据泄露和知识产权盗窃等攻击。忽视这一关键步骤就是对组织安全的严重忽视。
在本文中,我们将研究针对软件供应链的网络攻击的上升趋势,以及为应对这种日益严重的危险而出现的最新监管进展和最佳实践框架。我们还将阐明需要一种新的策略来保护您的软件供应链,该策略超越当前的应用程序安全措施。我们将说明为什么当前对应用程序安全的投资提供了一些保护,但不能完全减轻该领域的网络安全风险。最后,我们将概述补充它们以实现全面保护所需的必要条件。
如需完整的白皮书 点击此处 >>>
为什么保护软件供应链很重要
在软件开发中使用第三方工具、库和开源软件会增加软件供应链的复杂性以及潜在漏洞和攻击的风险。攻击者可以针对供应链中的特定环节来访问敏感信息或破坏运营。这些攻击可能会对组织及其供应链合作伙伴产生重大影响。
几起事件的后果 软件供应链攻击 近年来屡屡成为新闻头条。作为结果, Gartner曾预测过 最近,到 2025 年,全球 45% 的组织的软件供应链将遭受攻击,这一数字比 2021 年增加了三倍。
随着软件供应链安全受到关注,各种应用程序安全解决方案供应商正在重塑自己的品牌,以提供该领域的解决方案。但软件供应链安全仅仅是传统应用安全的一个新术语,还是一个具有独特特征和技术的独特细分市场?实施应用程序安全 (AppSec) 计划是否足以解决软件供应链安全问题,或者组织是否需要采用单独的标准和技术来确保其软件及其供应链的安全?这个问题将在本文中进一步探讨。
新兴监管和最佳实践框架
这款 美国网络安全行政命令 和其他类似的法规反映了软件供应链安全日益增长的重要性以及组织采取适当措施保护其软件及其供应链的必要性。主要参与者对集体采取措施应对威胁表现出越来越大的兴趣,这是一个积极的发展,表明人们越来越认识到需要采取协调一致的全行业方法来应对日益严重的威胁。
解决软件供应链安全问题的一些关键举措包括: 加强软件开发实践;提高供应链可视性;实施安全软件采购实践;并发展威胁情报能力。总体而言,这些举措旨在通过降低攻击风险并确保软件不存在漏洞和恶意代码来提高软件和供应链的安全性。
以下是主要举措的简要概述:
- NIST 的 SP 800-21 安全软件开发框架 (SSDF) 旨在提高美国政府供应商的软件供应链安全性。它为组织的 SDLC 提供安全开发实践,以最大程度地减少漏洞和未来威胁。该指南是可定制的且与行业无关。读这个 白皮书 了解有关 SSDF 对软件行业影响的更多信息。
- 美国管理和预算办公室 (OMB) 于 2022 年发布了两份关于软件供应链安全以及 SBOM 在确保软件供应链安全和完整性方面的作用的备忘录。组织必须在 2024 年之前遵守并确保其软件及其供应链的安全。联邦机构必须实施指导方针,包括共享信息和从供应商处获取工件。
- 软件工件的供应链级别(萨尔瓦多)框架是一套全面的安全控制和标准,旨在确保软件供应链的完整性。它是由 OpenSSF、Google 和其他网络安全利益相关者开发的。通过遵循这个端到端框架,可以防止对软件包进行未经授权的更改。采用 SLSA 有助于防范常见的供应链攻击。
- 欧盟网络弹性法案 旨在提高欧盟组织的网络弹性。它要求组织为其使用的所有软件产品提供 SBOM,以帮助他们及早识别和解决潜在的安全漏洞。该法案还要求组织向 ENISA/CERT-欧盟.
- 互联网安全中心(CIS) 制定了 CIS 软件供应链安全指南,涵盖了软件供应链的各个阶段,从代码贡献到交付给最终消费者。该指南提供了保护软件供应链的最佳实践,包括建立安全计划、实施安全开发实践、对供应商进行定期安全评估、实施分发和部署的安全控制以及持续监控漏洞和攻击。
- 登录 是一个专注于保护软件供应链的开源项目。它提供了一种以开放、透明和可访问的方式更好地保护软件供应链的方法。确保软件供应链安全的关键是对组成应用程序的各种工件进行数字签名。与传统的数字签名解决方案相比,Sigstore 旨在通过提供简化且更快的解决方案,使软件签名变得无处不在且更容易。该项目还创建一个开放且不可变的活动日志。
AppSec学科的目标和任务
成熟软件生产商组织中的 AppSec 团队专注于通过开发人员培训、代码审查、自动扫描和监控依赖性来保护软件。最常见的工具是用于测试应用程序的静态和动态应用程序软件测试(SAST 和 DAST),以及用于检测开源依赖项中的已知漏洞的软件组合分析(SCA)。
为了应对不断变化的威胁形势,人们设计并采用了几种更新的解决方案。其中一种解决方案是使用秘密检测工具,它可以帮助组织识别可能在代码中无意泄露的凭证、API 密钥和敏感数据等秘密。此外,还创建了新的扫描工具来检测云计算环境中的容器和基础设施即代码 (IaC) 中的漏洞,从而使组织能够确保其应用程序在迁移到云时的安全性。
为了管理大量的安全工具,编排解决方案应运而生,以提供跨 SDLC 的统一安全视图。这些解决方案集中管理安全工具和策略,简化安全流程并降低遗漏漏洞的风险。
安全警报的分类、重复数据删除和优先级是 AppSec 所有者面临的主要挑战。管理大量警报并确定哪些警报需要立即关注以及哪些警报可以忽略可能会令人难以承受。此外,AppSec 所有者需要评估漏洞对其特定系统的影响,这需要对技术堆栈和应用程序有深入的了解。
AppSec 方法涵盖了从代码编写到构建、打包和测试的 SDLC,对于减少自定义代码和开源组件中的漏洞至关重要,从而减轻软件生产商和运营商的责任。该领域的领先供应商包括 Veracode、Checkmarx、Snyk、Synopsis 和 Fossa。
下图提供了 AppSec 市场的简化概述,展示了几个关键参与者。
虽然 AppSec 解决方案可以有效地检测已知漏洞和不安全的代码模式,但它们往往是被动的而不是主动的;他们不会主动减少攻击面。此外,扫描仪生成的大量误报警报可能使开发人员难以专注于最关键的安全问题。扫描过程也可能非常耗时,并且会破坏开发时间表,从而增加开发过程的摩擦并减慢新软件的发布速度。
软件供应链安全的新兴作用
AppSec 解决方案忽略了 SDLC 中可能容易受到攻击并影响软件供应链的区域。这些领域包括开发工具、代码存储库、源代码管理系统、构建服务器和工件注册系统,这些系统可能包含漏洞和错误配置。
另一方面,从软件消费者的角度来看,一个普遍的担忧是第三方软件可能会引入难以检测和缓解的安全漏洞。对于消费者来说,彻底评估和审查他们使用的软件并定期监控和更新以降低这些风险非常重要。
为了克服这些挑战,软件生产商和消费者都需要采用更广泛的方法。软件生产商应集成到 SDLC 的所有阶段,并利用自动化工具来解决安全威胁。
- CI/CD 状态管理 – 为了确保软件供应链的安全,安全的 SDLC 至关重要。 CI/CD 状态管理可自动发现并强制执行安全实践。如今,开发环境中 SDLC 和安全基础设施使用的可见性对企业来说是一个挑战。 CI/CD 状态管理必须包括服务器身份验证、公共存储库/存储桶的限制以及密钥过期。限制有风险的开发实践,例如执行未经验证的资源和引用外部更改的图像,可以提高软件安全性并降低供应链攻击风险。
- 证明和出处 – 维护软件供应链安全需要证明(验证软件真实性)和跟踪来源(来源、所有权和保管)。证明和来源为信任决策提供信息,降低开发过程中的篡改、漏洞和安全性不足的风险,同时确保行业标准合规性。
为了有效地实施证明和溯源,必须收集来自源代码管理器、CI 工具、构建服务器等来源的证据并进行加密签名。证据包括开发人员身份、代码审查证明、文件/工件哈希值以及工具的安全状况。证明策略可确保安全开发和构建、篡改验证以及符合 SSDF 和 SLSA 等标准。
现有的 API 和可观察性解决方案无法收集证据、签署证明和创建来源跟踪。必须开发新的代理来跟踪 SDLC 期间生成的数据并签署完整性和真实性证据。
为了同一目的,除了 SDLC 之外,软件生产者和消费者都需要寻求实现以下目标的方法:
- 持续合规 – 即使在部署后,持续验证也有助于保持合规性并防止漏洞。这涉及在整个软件开发和部署过程中持续监控和验证软件组件的安全性。 SBOM 是持续验证的重要工具,它列出了项目中使用的软件组件及其版本。 SBOM 促进漏洞扫描,帮助组织领先于潜在的安全威胁,并确保遵守 SSDF 等法规和标准。
- 共享 SBOM 和证明并持续监控风险 – 拥有 SBOM 并持续监控潜在风险对于维护软件安全性和合规性至关重要。 SBOM 为消费者提供了一种管理风险、检测漏洞、拒绝低信誉组件以及通过证明确保供应链安全的方法。
以上四点是软件供应链安全的四大基石,也是选择该领域解决方案的标准。
结语
随着软件开发和第三方组件的使用不断扩大,对软件供应链安全的全面集成方法的需求变得越来越重要。传统的应用安全措施仍然很重要,但不足以充分防范不断变化的威胁形势,组织必须采用更全面的方法来确保其软件供应链的安全。
为了克服不断变化的安全挑战,我们目前正在见证应用程序安全向软件供应链安全的演变。它包括试图应对这些挑战的新一代技术和新颖工具。软件生产商需要集成利用现代框架和工具的新安全技术,并且他们必须将其集成到 SDLC 的所有阶段并使用自动化工具,例如 CI/CD 状态管理、证明和来源技术、持续代码签名、持续的合规性和治理,以及准确、高保真的 SBOM。软件消费者应要求 SBOM 和进一步的基于证据的证明,以证明他们在整个生命周期内持续使用的软件在部署到生产之前和之后的所有安全方面。
自动化工具和解决方案,例如 刻划式打标系统 通过提供基于证据的持续代码安全保证平台来帮助组织实现新的安全级别,该平台可以证明软件开发生命周期和软件组件的可信度。
如需完整的白皮书 点击此处 >>>
此内容由领先的端到端软件供应链安全解决方案提供商 Scribe Security 为您提供 - 为整个软件供应链中的代码工件以及代码开发和交付流程提供最先进的安全性。 了解更多