IBM Cloud CDR 脅威検出ルールのリファレンス・ライブラリ

Workload Protection これにより、 IBM Cloud 環境で不審な活動を検出するための脅威検出ルールを作成およびカスタマイズできます。 このトピックでは、CDR を介して取り込まれた IBM Cloud 監査イベントに対して Falco ルールを記述するために利用可能なすべてのフィールドを提供します。

IBM Cloud 監査イベントを対象とするルールは、 source: ibm_activitytracker を使用する必要があります。 フィールドには、プラグイン名で直接アクセスするか(例: ibm.action )、 jevt.value[/fieldPath] を使った生のJSONパスでアクセスする(例: jevt.value[/action] )。

フィールド

脅威検知ルールでは、フィールドは生イベントからキャプチャされたイベントの特定の属性を表します。 フィールドを使って検出条件と出力を定義できる。

フィールドクラス: ibm (イベント)

IBM Cloud すべての監査イベントに存在する最上位フィールド。

イベント情報源 ibm_activitytracker

名前 タイプ JSONパス 説明
ibm.action ストリング /action イベントをトリガーしたアクション。 例えば、 iam-am.policy.delete または iam-identity.user-apikey.create などです。
ibm.correlationId ストリング /correlationId 同じアカウント内の複数のサービス間で関連するイベントを関連付けるために使用される一意のGUID。
ibm.dataEvent ブール値 /dataEvent イベントがデータ・イベント(true)であるか、管理イベント(false)であるかを示す。
ibm.eventTime ストリング /eventTime イベントが作成されたときのタイムスタンプ(ISO 8601形式)。
ibm.id ストリング /id サービス内のアクティビティ追跡イベントの関連付けに使用できるオプションフィールド。
ibm.logSourceCRN ストリング /logSourceCRN イベントを生成したサービスインスタンスのクラウドリソース名(CRN)。
ibm.message ストリング /message 人間が読めるイベントの説明。
ibm.observer.name ストリング /observer/name 常に「 ActivityTracker 」に設定してください。 イベントを記録したオブザーバーサービスを識別する。
ibm.outcome ストリング /outcome アクションの結果。 典型的な値: success failure pending.
ibm.requestData JSON /requestData リクエストに関する追加情報(可能な場合
ibm.responseData JSON /responseData 可能であれば、対応に関する追加情報。
ibm.saveServiceCopy ブール値 /saveServiceCopy true の場合、イベントを生成したサービスは、 IBM Cloud 監査のためにコピーを保存する。
ibm.severity ストリング /severity その行為が IBM Cloud に与える脅威の度合い。 典型的な値: normal warning critical.

フィールドクラス: ibm.initiator

アクションを要求したエンティティのアイデンティティとオリジンを記述するフィールド。

イベント情報源 ibm_activitytracker

名前 タイプ JSONパス 説明
ibm.initiator.id ストリング /initiator/id そのアクションを要求した発信者のID。 ユーザーの場合、これは IBMid;サービスIDの場合、これは ServiceId-xxx
ibm.initiator.name ストリング /initiator/name イニシエーターのユーザー名または名前。 発信元が IBM サービスである場合、このフィールドには「 IBM 」またはそのサービスの名前が設定されます。
ibm.initiator.authnId ストリング /initiator/authnId IBM Cloud にログインしたユーザーの ID。
ibm.initiator.authnName ストリング /initiator/authnName IBM Cloud にログインしたユーザーのユーザー名。
ibm.initiator.typeURI ストリング /initiator/typeURI イベントソースのタイプ。 例えば、 service/security/account/user または service/security/account/serviceid などです。
ibm.initiator.credential.type ストリング /initiator/credential/type イニシエータが使用するクレデンシャルのタイプ。 典型的な値: apikey token serviceid.
ibm.initiator.host.address ストリング /initiator/host/address IBM Cloud コンソールやCLIなど、リクエストの発信元となったIPアドレスまたは URL。
ibm.initiator.host.addressType ストリング /initiator/host/addressType IPアドレスの種類。 例えば、 IPv4 または IPv6 などです。
ibm.initiator.host.agent ストリング /initiator/host/agent CLIのバージョンやブラウザなど、リクエストの発信元を特定するユーザーエージェント文字列。

フィールドクラス: ibm.target

アクションが実行された IBM Cloud リソースを記述するフィールド。

イベント情報源 ibm_activitytracker

名前 タイプ JSONパス 説明
ibm.target.id ストリング /target/id アクションが実行された IBM Cloud リソースの CRN または識別子。
ibm.target.name ストリング /target/name アクションが実行された IBM Cloud リソースの、人間が読みやすい名前。
ibm.target.alias ストリング /target/alias リクエストで使用されるクラウドリソースのエイリアス。
ibm.target.typeURI ストリング /target/typeURI 対象リソースのタイプ。 例えば、 iam-am/policy または iam-identity/account/serviceid などです。
ibm.target.resourceGroupId ストリング /target/resourceGroupId 対象リソースに関連付けられたリソースグループのCRN。
ibm.target.host.address ストリング /target/host/address 対象サービスのIPアドレスまたは URL。

フィールドクラス: ibm.reason

アクションの結果、特に失敗したリクエストについての追加詳細を提供するフィー ルド。

イベント情報源 ibm_activitytracker

名前 タイプ JSONパス 説明
ibm.reason.reasonCode 数値 /reason/reasonCode HTTP リクエストされたアクションのレスポンスコード。 例えば、成功なら 200 、無許可なら 403
ibm.reason.reasonType ストリング /reason/reasonType 結果に関する追加情報。 例えば、 OK または Forbidden などです。
ibm.reason.reasonForFailure ストリング /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 脅威検出ポリシーの作成 を参照してください。