目录
云原生应用程序由各种独立组件(称为微服务)组成,使用名为 DevSecOps 的敏捷软件开发方法创建,该方法强调整个过程中的协作和安全性。
开发云原生应用程序的一个关键方面是使用持续集成/持续交付(CI/CD) pipelines。 这些 pipeline使开发人员能够无缝集成新的代码更改并持续向应用程序提供更新。然而,最近的研究强调了考虑整个软件开发生命周期的重要性(SDLC),即软件供应链 (SSC),与安全性有关。
在不断发展的软件开发和安全领域中,领先于潜在威胁至关重要。这就是为什么国家软件安全研究所 Standard美国国家标准与技术研究院 (NIST) 迈出了重要一步,发布了 NIST SP 800-204D,并入 software supply chain security (SSCS) 措施 CI/CD pipelines. 本文档以 NIST 发布的“安全软件开发框架”(SSDF)为基础。
对于寻求增强其供应链安全态势的组织来说, NIST 这是一种及时且宝贵的资产。近年来,我们目睹了无数破坏软件供应链的复杂尝试,这凸显了改进安全措施的迫切需要。高达 82% 的 CIO 对其软件供应链可能遭受攻击的脆弱性表示担忧。
如果您担心供应链的安全性,请务必记住,许多组织都有同样的担忧,并寻求降低风险和加强其软件供应链的方法。让我们更深入地探讨整合的策略和注意事项 SSCS 将措施融入到您的 DevOps 日常运营中。
首先,定义供应链攻击以及具体攻击方式至关重要 Software Supply Chain Security 源阶段出现的威胁。
SSCS 以及 CI/CD Pipelines:DevSecOps 的核心
持续集成和持续部署(CI/CD) Pipeline彻底改变了软件开发流程,成为 DevSecOps 敏捷范式的支柱。这些 pipeline是处理来自各种来源的代码的复杂系统,包括第一方内部存储库和第三方开源或商业存储库。
这些中的构建过程 pipelines 是应用程序逻辑驱动的依赖关系的复杂舞蹈,从许多单独的源代码工件生成构建。创建这些工件后,它们将存储在专用的构建存储库中,并在打包之前进行严格测试。这些软件包存储在特定的存储库中,扫描漏洞,最后部署在测试或生产环境中。GitHub Actions 工作流、GitLab Runners 和 Buildcloud 等平台都支持这些工作流。
对于这些工作流程中的 SSC 安全性,生成广泛的来源数据至关重要。这些数据可确保整个流程的可追溯性和可问责性 pipeline,充当透明度的灯塔。解决第一方软件的内部 SSC 安全实践和第三方软件模块的安全实践至关重要。总体目标有两个:
- 实施防御措施,防止篡改软件生产过程并阻止恶意软件更新的引入。
- 坚持诚信 CI/CD pipeline 通过定义所有参与者的角色和授权来管理工件和活动 pipeline.
DevOps 基础设施: CI/CD
支撑 DevOps 运营的工具和技术是持续集成的默默主力。它们的配置和维护对于整个 CI/CD 流程。定期审核和更新这些工具是不可协商的,以确保主动解决漏洞。
自动化漏洞扫描程序已成为这一努力中不可或缺的盟友。通过持续监控 DevOps 工具和配置,他们可以实时识别潜在漏洞或错误配置。这种主动方法可以洞悉 DevOps 环境的整体安全状况,从而及时采取补救措施。
此外,在 DevOps 工具链中选择插件会显著影响安全性。虽然插件可以增强功能,但如果没有经过适当审查,它们也可能会引入漏洞。根据插件的声誉、安全记录和社区支持来评估插件至关重要。定期审查和更新这些插件可以进一步加强安全形势。
安全中 CI/CD Pipelines:不容商榷
每个阶段 CI/CD pipeline,从代码构建到处理代码 commit和推送操作,需要严格的安全措施。安全代码 commit构成这些的基础 pipelines. 强制代码审查、恶意代码检测和遵守安全指南可以显著减少漏洞。
涉及代码更改的推送-拉取操作必须采用安全身份验证机制(如多因素身份验证 (MFA))来加强,以防止未经授权的访问。 pipeline构建过程应在隔离的安全环境中进行。使用安全的构建代理、定期更新构建工具和依赖项以及确保构建过程的完整性都是朝着这个方向迈出的关键步骤。
此外,软件更新系统中证明和证据的完整性至关重要。验证软件更新的真实性和完整性可确保它们在部署过程中不被篡改。
Build Attestations:守护者 CI/CD 工艺应用
证明是保护软件供应链的无名英雄。这些经过认证的元数据集合由特定流程生成,可由消费者验证,从而提供一层信任和透明度。随着组织优先考虑保护其软件供应链,收集与构建过程和应用程序创建相关的元数据变得至关重要。
构建过程的元数据提供了对所使用的工具、版本、配置和依赖项的洞察,可作为构建的蓝图。同样,应用程序创建时的元数据提供了所使用的开发框架、库和第三方依赖项的快照。这种全面的数据收集提供了对代码库的来源和完整性的无与伦比的可见性。
通过利用证明并认真收集元数据,组织可以显著提高其 software supply chain security。这种方法不仅提供了透明度和可验证性,而且为整个软件开发生命周期的有效监控、审计和安全分析奠定了基础。
结束语和后续步骤
最近对软件漏洞和攻击的分析凸显了在敏捷 DevSecOps 范式下开发软件的公司的迫切担忧,该范式利用持续集成/持续交付 (CI/CD) pipeline政府和私营部门组织现在都把注意力集中在整个 SDLC,统称为软件供应链(SSC)。
SSC 内每项操作的完整性对于其整体安全性至关重要。对这种完整性的威胁可能来自恶意行为者利用漏洞,也可能来自运营过程中的疏忽和尽职调查失误。 SDLC。认识到这一问题的严重性,行政命令 (EO) 14028、NIST 的安全软件开发框架 (SSDF) 等举措以及各种行业论坛都深入研究了 SSC 安全性,旨在加强所有部署软件的安全性。
这种高度关注凸显了采取切实可行的措施将 SSC 安全保障纳入 CI/CD pipeline无缝集成。这种集成对于组织在开发和部署云原生应用程序时有效解决 SSC 安全性问题至关重要。构建强大的 SSC 安全基础设施需要整合各种构件,包括软件物料清单 (SBOM) 和软件组件认证框架。随着这些规范和要求在政府和行业论坛的协作努力下不断发展,它们在塑造 SSC 安全的未来方面仍然至关重要。
准备探索整合的复杂性 SSCS 措施融入 DevOps?立即下载 Xygeni 的综合论文。深入了解详细见解、最佳实践和可操作策略,以强化您的 DevOps 流程。让您的团队掌握相关知识,以接受 SSCS 无缝衔接,引领 software supply chain security. 千万不要错过—立即下载.





