View a markdown version of this page

可用的自定义检测规则 - Amazon GuardDuty
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

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

可用的自定义检测规则

自定义检测规则扩展了 GuardDuty 提供的威胁检测。 GuardDuty 提供了一个选择加入规则库,您可以根据环境的特定风险选择启用这些规则。要获取当前可用规则列表,请使用 ListCustomDetectionRulesAPI 操作。有关每条规则生成的查找结果类型,请参见自定义检测规则查找类型。

注意

各个规则的可用性取决于每个区域中相应 Amazon 服务和功能的可用性。例如, Amazon 以 Organizations 或 Amazon 简单电子邮件服务为目标的规则仅在这些服务运营的地区可用。同样,针对 Lambda 函数 URL 或 SageMaker AI 笔记本实例的规则仅在支持这些功能的地区可用。

查看规则检测逻辑

每条规则都定义了决定何时触发的特定条件。您可以检查任何规则的检测逻辑:

  • 控制台-在 GuardDuty 控制台中,导航到 “自定义检测规则”,然后选择规则名称。拆分面板在 “详细信息” 选项卡上显示规则的检测逻辑。

  • API-调用该GetCustomDetectionRule操作。响应在Definition.Expression字段中包含规则的表达式。

下图显示了自定义检测规则目录。

自定义检测规则目录列出了可用规则,其中包含名称、严重性和状态列以及表格上方的属性筛选器控件。

下图显示了带有检测逻辑的规则详细信息面板。

规则详细信息拆分面板,选中 “详细信息” 选项卡,显示规则的 SQL-based 检测逻辑表达式。

检测逻辑中使用的函数

自定义检测规则使用评估 Amazon CloudTrail 事件字段的 SQL 条件。有些规则使用专门的函数来检查事件字段中的嵌套 JSON 结构,例如requestParameters和responseElements。下表描述了可能出现在规则检测逻辑中的函数。

检查嵌套字段的规则取决于事件中是否存在该字段。有关 Amazon CloudTrail 不记录的字段的更多信息,请参阅已编辑的事件字段。

函数

返回值

说明

get_json_object(json, path)

字符串

使用点分隔的路径(例如)从 JSON 文档中提取值。$.requestParameters.bucketName以字符串形式返回值。

json_collect_values(json, path, field)

数组

导航到 JSON 文档中的数组并从每个元素收集指定字段。此函数从 IAM 策略声明或安全组规则等重复结构中提取值列表。

get_aws_principal(policy_json, effect)

数组

解析 IAM、Amazon S3 或 Lambda 资源策略,并从符合指定效果(允许或拒绝)的语句中返回 Amazon 账户委托人。此功能可检测资源策略中的跨账户访问权限。

policy_has_public_principal(policy_json, effect)

布尔值

当任何具有指定效果的语句授予对公共委托人 ("*") 的访问权限时,返回 true。此功能可检测允许公共访问的策略。