### 数万条告警怎么快速找到攻击成功的告警

优先过滤掉无效告警和误报告警，从而大幅降低分析成本

- 无效告警的判断：无效告警通常是由于攻击者对非活跃或不存在的资产进行扫描而产生的。例如，攻击者对某个 C 段进行批量扫描，尽管安全设备产生了告警，但如果被扫描的 IP 根本没有运行任何服务，那么这个告警就是无效的
- 误报告警的判断：误报告警通常是由于安全设备的特征规则被非攻击行为意外触发。我们可以通过以下方式来判断：
  - 流量分析：分析流量数据包，看它是否符合正常的业务操作
  - HTTP状态码与页面回显：检查告警中 URL 的 HTTP 状态码。如果状态码是 404（未找到），或者页面回显数据是通用错误信息，那么这很可能是一次未成功的攻击尝试，可以作为误报的判断条件

经过第一步的筛选后，剩下的告警就更有分析价值了。我们需要从这些“待分析告警”中提取攻击特征，并将其与情报线索进行关联

- 提取攻击特征：从告警日志中提取关键信息，例如攻击的 Payload
  - 例如，在告警数据中发现 `/index/index/index?options=id)%2bupdatexml(...)` 这段 Payload
- 情报关联：将提取的攻击特征与攻击特征规则库进行匹配
  - 通过匹配，我们发现上述 Payload 与 ThinkPHP5 框架的 SQL 注入漏洞相关联
- 资产指纹核查：在获取到情报线索后，并不是所有关联的告警都需要深入分析。我们需要结合资产指纹信息库进行核查
  - 继续上面的例子，如果被攻击的资产并没有使用 ThinkPHP5 框架，那么尽管 WAF 发出了告警，但这起攻击尝试是不可能成功的。这种情况下，我们可以将这条告警排除，从而进一步缩小分析范围