您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 系统/运维 > 正文

进行自动化安全测试的七个地方

发表于:2023-01-10 作者:科技狠活与软件技术 来源:今日头条

就个人而言,我喜欢 DevSecOps(安全团队在 Dev 和 Ops 正在执行的整个过程中编织安全性)。由于我的热情,客户经常询问我何时、如何以及在何处注入各种类型的测试和其他安全活动。下面是我为客户提供的用于自动化测试的选项列表(在 DevOps 中有更多的安全工作要做——这只是自动化测试)。他们一起分析列表并根据他们当前的状态决定哪些地方最有意义,并根据他们当前的关注点选择工具。

自动化测试的七个地方

1.在集成开发环境中:

  • 几乎像拼写检查器一样检查代码的工具(不确定这叫什么,有时称为 SAST)
  • 代理管理和依赖工具,只允许您下载安全包
  • API 和其他 linting 工具,解释您在哪里没有遵循定义文件
  • 软件组合分析告诉你,也许这些软件包不是那么安全使用

2.预提交挂钩:

Secret scanning——让我们在安全事件发生之前将其阻止。

3.在代码存储库级别:

  • 每周任务表:SCA 和 SAST
  • Linting
  • IAC扫描

4.在管道中:必须快速准确(几乎没有误报)

  • Secret scanning - 再来一次!
  • 基础架构即代码扫描 (IaC)
  • 带有来自 Selenium 的 HAR 文件的 DAST,或者只是被动扫描(无模糊测试)
  • SCA(如果你愿意,最好使用与第一次不同的工具)
  • 容器和基础扫描,以及它们的依赖关系
  • 将基础架构扫描为代码以查找不良策略、配置和缺失的补丁

5.管道外:

  • DAST 和模糊测试——每周自动运行!
  • VA 扫描/基础设施——应每周进行一次
  • IAST — 在 QA 测试和渗透测试期间安装,如果您有信心,也可以在产品中安装。
  • SAST——测试每个主要版本或每次大更改后的所有内容,然后对结果进行人工审查。

6.单元测试:

  • 进行开发人员的测试并将其转化为负面测试/滥用案例。
  • 根据渗透测试结果创建单元测试,以确保我们不会重蹈覆辙。

7.持续:

漏洞管理。您应该将所有扫描数据上传到某种系统中,以寻找模式、趋势和(最重要的)改进。

您不需要做所有这些,甚至不需要做其中的一半。本文的目的是向您展示几种可能性,希望您能利用其中的一些。