使用 GitLab CI/CD 和 Duo 构建自动化检测测... 笔记
RSS GitLab

使用 GitLab CI/CD 和 Duo 构建自动化检测测试框架

一个健康的运营中心告警系统不仅需要精细调优误报,还需确保关键但低频的检测功能正常。GitLab 信号工程团队开发了一个名为 WATCH(Weekly Attack Testing for Continuous Health,持续健康周度攻击测试)的框架,以填补这一空白。WATCH 通过在基础设施上模拟真实的恶意行为,自动化验证安全检测的有效性。该过程验证了从日志源到 SIEM 及安全编排的全链路告警管道。WATCH 通过在预发布环境中调度脚本化的攻击模拟,随后验证预期告警是否通过监控栈传播。在测试运行之前,WATCH 会向 SOAR 系统通知预期的检测项,从而创建可追踪的记录。随后执行模拟的恶意行为,SIEM 处理日志以触发检测规则。到达 SOAR 的告警将与已注册的测试进行关联,以防止误升级。验证阶段会检查所有预期检测是否均已触发,更新检测状态元数据,并将结果部署到 GitLab Pages 仪表板。失败会立即向团队发送通知。WATCH 利用 GitLab CI/CD 进行编排,涵盖三个阶段:调度、测试执行和验证/报告。该框架设计注重易用性,允许团队成员通过继承基类并定义设置、执行和清理流程来创建新测试。预期检测的配置,即将 SIEM 规则名称映射到预期告警到达时间,是关键环节。WATCH 测试可以通过 GitLab Duo(AI 助手)轻松搭建,只需提供针对特定恶意行为的提示即可。这显著降低了创建新测试的门槛。Duo Agent Skills 通过提供良好测试实践的详细大纲和辅助函数,进一步增强了测试的一致性。WATCH 还通过 GitLab Pages 部署了两个交互式仪表板,提供检测健康的实时可见性。其中一个仪表板为“检测状态仪表板”,汇总所有检测规则的当前测试状态;另一个为“检测测试结果仪表板”,提供对单个测试结果深入分析。这种全面的方法确保了安全告警系统的可靠性和有效性。