4.8 安全测试 —— 所有代码类型的 CI/CD 管道的共同要求

最后一个常见的问题是安全测试。无论代码类型是什么(例如,应用服务、Iac、Pac 或可观察性),基于微服务的基础设施的 DevSecOps 的 CI/CD 管道与服务网格应包括由自动化工具或作为服务提供的应用安全测试(AST)。这些工具会分析和测试应用程序的安全漏洞。根据 Gartner 的说法,有 四种 主要的 AST 技术:

  1. 静态 AST(SAST)工具:分析应用程序的源码、字节码或二进制代码的安全漏洞,通常在编程和 / 或测试软件生命周期(SLC)阶段。具体来说,这项技术涉及到在提交中查看应用程序并分析其依赖关系的 技术。如果任何依赖关系包含问题或已知的安全漏洞,提交将被标记为不安全的,不允许继续部署。这也可以包括在代码中找到应该被删除的硬编码密码 / 秘密。
  2. 动态 AST(DAST)工具:在测试或运行阶段,分析应用程序的动态运行状态。它们模拟针对应用程序(通常是支持网络的应用程序、服务和 API)的攻击,分析应用程序的反应,并确定它是否有漏洞。特别是,DAST 工具比 SAST 更进一步,在 CI 工作中启动生产环境的副本,以扫描所产生的容器和 可执行文件。动态方面有助于系统捕捉在启动时正在加载的依赖关系,例如那些不会被 SAST 捕捉的依赖关系。
  3. 交互式 AST(IAST)工具:将 DAST 的元素与被测试的应用程序的仪器相结合。它们通常作为测试运行环境中的一个代理来实现(例如,对 Java 虚拟机或.NET CLR 进行检测),观察操作或识别攻击漏洞。
  4. 软件组成分析(SCA)工具:用于识别应用程序中使用的开源和第三方组件、其已知的安全漏洞以及典型的对抗性许可限制。

4.8.1 AST 工具的功能和覆盖要求

一般来说,测试工具(包括特定类别的 AST 工具)应该满足的总体指标是

  • 通过识别安全、隐私和合规性方面的差距,提高应用程序的发布质量。
  • 与开发人员已经在使用的工具整合。
  • 要尽可能少的测试工具,但提供必要的风险覆盖。
  • API 和微服务层面的低级单元测试应该有足够的可见性来确定覆盖率。
  • 包括更高层次的 UI/UX 和系统测试。
  • 具备深入的代码分析能力,以检测运行时的缺陷。
  • 提高发布的速度。
  • 要有成本效益。

特别是对 AST 工具的功能要求包括进行以下类型的扫描:

  • 漏洞扫描。探测应用程序的安全弱点,这些弱点可能会使它们受到攻击。
  • 容器镜像扫描。分析容器镜像的内容和构建过程,以检测安全问题、漏洞或缺陷做法(例如,硬编码密码 / 秘密)。
  • 监管 / 合规性扫描。评估对特定合规要求的遵守情况。

每当源代码库中的代码被修改时,都要进行漏洞扫描,以确保当前的修订版不包含任何有漏洞的 依赖

AST 工具和 / 或服务的理想特征,以及行为分析的技术:

  • 分析源码、字节码或二进制代码
  • 观察应用程序的行为,以确定引入安全漏洞的编码、设计、打包、部署和运行时条件。

作为 CI/CD 管道任务的一部分,扫描应用程序代码的安全漏洞和错误配置应涉及以下工件:

  • 容器镜像应被扫描以发现漏洞。
  • 在容器从基础镜像(如上所述进行扫描)构建之后,应该对容器的文件系统进行漏洞和错误配置的扫描。
  • 应该对 Git 存储库(包含应用程序源代码)进行扫描,以发现漏洞和错误配置。

容器镜像包括操作系统包(如 Alpine、UBI、RHEL、CentOS 等)和特定语言包(如 Bundler、Composer、npm、yarn 等)。

对基础设施即代码进行安全漏洞扫描,通过防止这些漏洞进入生产,减少了操作工作量,尽管它不能取代对运行时安全的检查,因为漂移的风险始终存在。然而,必须对架构的所有部署后(运行时)变化(由于漂移)的原因进行分析,并通过向 IaC 推送适当的更新来解决,从而使其成为管道的一部分,并在后续部署中不再出现。这种方法有利于使用运行时检查来补救安全设计缺陷。

基础设施即代码的文件可以在下面找到:

  • 容器编排平台本身,以促进部署(例如,Kubernetes YAML 基础设施即代码文件)。
  • 作为 CI/CD 管道软件的一部分而发现的专用基础设施即代码文件(例如,HashiCorp Terraform 基础设施即代码文件,AWS CloudFormation 基础设施即代码文件)。

应用服务代码、策略即代码和可观察性即代码文件可以在专门的应用服务组件(如服务网格)的数据平面和控制平面组件中找到,并且应该对安全漏洞(如授权策略的信息泄露)和错误配置进行扫描。

Copyright © 2017-2022 | 基于 CC 4.0 协议 | jimmysong.io all right reserved. Updated at 2022-03-15 03:24:19

results matching ""

    No results matching ""