

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 自定义检测规则的工作原理
<a name="custom-detection-rules-how-it-works"></a>

首先，浏览 GuardDuty 提供识别检测与您的环境相关的活动的规则。然后将每条规则与活动意外发生的账户相关联。有关将规则与账户关联的更多信息，请参阅[管理自定义检测规则](custom-detection-rules-managing.md)。

## 数据源和信号
<a name="custom-detection-rules-how-it-works-data-sources"></a>

关联规则后， GuardDuty 监控该规则所依赖的数据源，并评估传入日志中是否存在匹配的事件。自定义检测规则目前支持 Amazon CloudTrail 管理事件。 当观察到的活动符合规则时， GuardDuty 会生成*信号*。信号表示规则检测到的单次观察到的活动。

## 模式
<a name="custom-detection-rules-how-it-works-modes"></a>

每个关联都以两种模式之一运行：
+ **实**时 — 在规则匹配时 GuardDuty 生成查找结果。
+ **试运行** — GuardDuty 发出 Amazon CloudWatch 指标，计算规则匹配的频率，但不会生成调查结果。使用试运行来衡量规则匹配的频率，然后才能创建结果或触发自动响应。试运行关联将在创建 14 天后过期，实时关联不会过期。

有关更多信息，请参阅[试跑](custom-detection-rules-managing.md#custom-detection-rules-dryrun)和[实时](custom-detection-rules-managing.md#custom-detection-rules-live)。

## 查找聚合
<a name="custom-detection-rules-how-it-works-finding-aggregation"></a>

GuardDuty 将具有相同战术、服务和技巧的信号聚合到一个发现中。例如`Tactic:Service/Technique`，每个发现都遵循格式`Persistence:IAM/AccountManipulation`。当重复 GuardDuty 观察来自同一主体的相同活动时，单个发现可能包含多个信号。

有关查找结果结构和字段的更多信息，请参阅[自定义检测规则查找详细信息](guardduty_findings-summary.md#custom-detection-rules-finding-details)。

## 已编辑的事件字段
<a name="custom-detection-rules-how-it-works-redacted-fields"></a>

自定义检测规则评估Amazon CloudTrail 事件中 Amazon CloudTrail 记录的字段。编辑发生在上游。 GuardDuty Amazon 服务可以在其发布的事件中编辑字段的值。此项修改可保护潜在的敏感数据。对字段进行编辑后，会 Amazon CloudTrail 记录该字段存在但不记录其值。

发布事件的服务决定对哪些字段进行编辑。当字段可以携带敏感信息时，服务会对该字段进行编辑。密文适用于字段，而不适用于特定值。因此，即使特定请求中的值不敏感，服务也会对字段进行密文。无论您使用、 Amazon CLI 还是 Amazon SDK Amazon Web Services 管理控制台，它都会为每个请求编辑这些字段。

GuardDuty 无法评估不在事件中的值。如果规则的检测逻辑依赖于已编辑的字段，则该规则不匹配。 GuardDuty 然后即使活动已发生，也不会产生任何信号，也不会发现任何结果。如果规则仅检查服务未编辑的字段，例如事件名称、服务和调用者身份，则该 Amazon 规则不受影响。

密文还可以使规则与一个请求匹配，但不能匹配另一个具有相同效果的请求。当 API 操作接受同一个更改的多个字段时，一个字段可能会被编辑，而另一个字段可能不会。那么，规则是否匹配取决于请求使用的字段。

**注意**  
自定义检测规则是一种检测功能，而不是完整的审计记录。要确认您的账户中是否发生了特定 API 调用，请在中查看该事件 Amazon CloudTrail。有关更多信息，请参阅[使用事件历史记录查看 Amazon CloudTrail 事件](https://docs.amazonaws.cn/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。