IBM Cloud CDR 威胁检测规则参考库

Workload Protection 使您能够创建和自定义威胁检测规则,以检测 IBM Cloud 环境中的可疑活动。 本主题提供了针对 IBM Cloud 通过 CDR 采集的审计事件编写 Falco 规则的所有可用字段。

针对 IBM Cloud 审计事件的规则必须使用 source: ibm_activitytracker。 字段可通过其插件名称直接访问(如 ibm.action ),或通过使用 jevt.value[/fieldPath] 的原始 JSON 路径访问(如 jevt.value[/action] )。

字段

在威胁检测规则中,字段代表从原始事件中捕获的事件的一个特定属性。 您可以使用字段来定义检测条件和输出。

字段类别:ibm (事件)

每个 IBM Cloud 审计事件中都有的顶级字段。

活动来源 ibm_activitytracker

名称 类型 JSON 路径 描述
ibm.action string /action 触发事件的操作。 例如,iam-am.policy.deleteiam-identity.user-apikey.create
ibm.correlationId string /correlationId 唯一 GUID,用于关联同一账户中多个服务的相关事件。
ibm.dataEvent 布尔型 /dataEvent 表示事件是数据事件 (true) 还是管理事件 (false)。
ibm.eventTime string /eventTime 事件创建时的时间戳(ISO 8601 格式)。
ibm.id string /id 可选字段,用于关联服务内的活动跟踪事件。
ibm.logSourceCRN string /logSourceCRN 生成事件的服务实例的云资源名称 (CRN)。
ibm.message string /message 事件的可读描述。
ibm.observer.name string /observer/name 始终设置为 ActivityTracker。 标识记录事件的观察员服务。
ibm.outcome string /outcome 操作的结果。 典型值:success, failure, pending
ibm.requestData JSON /requestData 有关申请的补充信息(如有)。
ibm.responseData JSON /responseData 有关答复的其他信息(如有)。
ibm.saveServiceCopy 布尔型 /saveServiceCopy true 时,生成事件的服务会保存一份副本,供 IBM Cloud 审核。
ibm.severity string /severity 该行动可能对 IBM Cloud 造成的威胁程度。 典型值:normal, warning, critical

实地课堂:ibm.initiator

描述请求执行操作的实体的身份和来源的字段。

活动来源 ibm_activitytracker

名称 类型 JSON 路径 描述
ibm.initiator.id string /initiator/id 请求执行该操作的发起者的ID。 对于用户,这是 IBMid;对于服务 ID,这是 ServiceId-xxx 值。
ibm.initiator.name string /initiator/name 启动程序的用户名或名称。 当启动程序是 IBM 服务时,该字段将设置为 IBM 或服务名称。
ibm.initiator.authnId string /initiator/authnId 登录 IBM Cloud 的用户 ID。
ibm.initiator.authnName string /initiator/authnName 登录 IBM Cloud 的用户的用户名。
ibm.initiator.typeURI string /initiator/typeURI 事件源类型。 例如,service/security/account/userservice/security/account/serviceid
ibm.initiator.credential.type string /initiator/credential/type 发起者使用的凭证类型。 典型值:apikey, token, serviceid
ibm.initiator.host.address string /initiator/host/address 发出请求的 IP 地址或 URL,如 IBM Cloud 控制台或 CLI。
ibm.initiator.host.addressType string /initiator/host/addressType IP 地址类型。 例如,IPv4IPv6
ibm.initiator.host.agent string /initiator/host/agent 用户代理字符串,用于标识请求的来源,例如 CLI 版本或浏览器。

实地课堂:ibm.target

描述执行操作的 IBM Cloud 资源的字段。

活动来源 ibm_activitytracker

名称 类型 JSON 路径 描述
ibm.target.id string /target/id 执行操作的 IBM Cloud 资源的 CRN 或标识符。
ibm.target.name string /target/name 执行该操作所基于的 IBM Cloud 资源的人类可读名称。
ibm.target.alias string /target/alias 请求中使用的云资源的别名(如适用)。
ibm.target.typeURI string /target/typeURI 目标资源的类型。 例如,iam-am/policyiam-identity/account/serviceid
ibm.target.resourceGroupId string /target/resourceGroupId 与目标资源相关联的资源组的 CRN。
ibm.target.host.address string /target/host/address 目标服务的 IP 地址或 URL。

实地课堂:ibm.reason

提供有关操作结果的更多细节的字段,尤其是针对失败请求的字段。

活动来源 ibm_activitytracker

名称 类型 JSON 路径 描述
ibm.reason.reasonCode 数值 /reason/reasonCode HTTP 所请求操作的响应代码。 例如,200 代表成功,403 代表未经授权。
ibm.reason.reasonType string /reason/reasonType 关于该结果的补充信息。 例如,OKForbidden
ibm.reason.reasonForFailure string /reason/reasonForFailure 说明行动失败原因的其他详细信息(如有)。

规则写作范例

以下示例展示了如何在 CDR 的 Falco 规则中引用这些字段。

根据行动和结果进行筛选:

condition: >
  jevt.value[/action] = "iam-am.policy.delete"
  and jevt.value[/outcome] = "success"

根据启动程序凭证类型进行筛选:

condition: >
  jevt.value[/action] startswith "iam-identity"
  and jevt.value[/initiator/credential/type] = "apikey"

根据源 IP 地址进行过滤:

condition: >
  jevt.value[/action] = "iam-identity.user-apikey.create"
  and not jevt.value[/initiator/host/address] in (trusted_ips)

有关创建规则和策略的更多信息,请参阅 创建 IBM Cloud 威胁检测策略