3.2 DevSecOps 平台

DevSecOps 是一个敏捷的、自动化的开发和部署过程,它使用称为 CI/CD 管道的原语,在自动化工具的帮助下,将软件从构建阶段带到部署阶段,最后到运行时间 / 操作阶段。这些管道是将开发者的源代码带过各个阶段的工作流程,如构建、测试、打包、交付,以及在各个阶段由测试工具支持的部署。

DevSecOps 平台是指各种 CI/CD 管道(针对每种代码类型)运行的资源集合。至少,这个平台由以下部分组成。

(a) 管道软件

  • CI 软件 —— 从代码库中提取代码,调用构建软件,调用测试工具,并将测试后的工件存储到图像注册表中。
  • CD 软件 —— 拉出工件、软件包,并根据 IaC 中的计算、网络和存储资源描述,部署软件包。

(b) SDLC 软件

  • 构建工具(例如,IDE)
  • 测试工具(SAST、DAST、SCA)

(c) 存储库

  • 源代码库(如 GitHub)
  • 容器镜像存储库或注册表

(d) 可观察性或监测工具

  • 日志和日志聚合工具
  • 产生指标的工具
  • 追踪工具(应用程序的调用顺序)
  • 可视化工具(结合上述数据生成仪表盘 / 警报)。

在 DevSecOps 平台中,通过内置的设计功能(如零信任)和使用一套全面的安全测试工具,如静态应用安全工具(SAST)、动态安全测试工具(DAST)和软件组成分析(SCA)工具进行测试,在构建和部署阶段提供安全保证。此外,在运行时 / 操作阶段,还通过持续的行为检测 / 预防工具提供安全保证,其中一些工具甚至可能使用人工智能(AI)和机器学习(ML)等复杂技术。因此,DevSecOps 平台不仅在构建和部署阶段运行,而且在运行时 / 操作阶段也运行。

在一些 DevSecOps 平台中,执行应用程序安全分析的安全工具(例如 SAST、DAST 和 SCA),例如通过在后台的有效扫描来识别漏洞和错误,可以与集成开发环境(IDE)和其他 DevOps 工具紧密集成。这一功能的存在,使得这些工具对开发者来说是透明的,避免了他们为运行这些工具而 调用单独的 API。根据集成开发环境、所执行的任务或工具所消耗的资源的不同,工具也可以与集成开发环境分开执行。

3.2.1 DevSecOps 平台的可交付成果

SAST、DAST 和 SCA 工具的使用可能不仅限于测试应用程序代码。DevSecOps 可能包括将这些工具用于其他代码类型,如 IaC,因为 IaC 定义了应用程序的部署架构,因此是自动评估和补救安全设计差距的关键途径。

总之,DevSecOps 平台可以提供以下内容:

  • 通过在与应用环境中所有代码类型相关的管道内纳入充分的测试 / 检查,提供安全保证。安全性不是被归入一个单独的任务或阶段。
  • DevSecOps 平台也在运行时(生产中)运行,通过协助执行零信任原则,并通过持续监控,随后的警报和纠正机制,提供实时的安全保证,从而实现持续授权操作(C-ATO)的认证。
Copyright © 2017-2022 | 基于 CC 4.0 协议 | jimmysong.io all right reserved. Updated at 2022-03-15 03:24:19

results matching ""

    No results matching ""