統合データモデルの使用ガイド

このドキュメントでは、統合データモデル(UDM)スキーマのフィールドの詳細およびイベントタイプに応じた必須フィールドと省略可能フィールドについて説明します。ルールエンジンの評価では、接頭辞は udm. で始まり、構成ベースの正規化(CBN)接頭辞は event.idm.read_only_udm で始まります。

イベント メタデータの入力

UDM イベントのイベント メタデータ セクションには、各イベントに関する一般情報が格納されます。

Metadata.event_type

  • 目的: イベントのタイプを指定します。イベントに複数のタイプがある場合、この値で最も特異性の高いタイプを指定する必要があります。
  • 必須: はい
  • エンコード: 事前定義された UDM event_type 列挙型のいずれかにする必要があります。
  • 有効な値: UDM 内の event_type に使用可能なすべての値は次のとおりです。

メールイベント:

  • EMAIL_TRANSACTION
  • EMAIL_UNCATEGORIZED

エンドポイントで実行されたファイル イベント:

  • FILE_UNCATEGORIZED
  • FILE_CREATION
  • FILE_DELETION
  • FILE_MODIFICATION
  • FILE_READ(例: パスワード ファイルの読み取り)
  • FILE_COPY(例: USB メモリへのファイルのコピー)
  • FILE_OPEN(例: ファイルを開くと、セキュリティ侵害が示される場合があります)

他のカテゴリに分類されないイベント(例: 未分類の Windows イベント)。

  • GENERIC_EVENT

ミューテックス(相互除外オブジェクト)イベント:

  • MUTEX_UNCATEGORIZED
  • MUTEX_CREATION

ネットワーク テレメトリー(DHCP や DNS などの未加工のプロトコル ペイロード、HTTP、SMTP、FTP などのプロトコルのプロトコル サマリー、Netflow やファイアウォールからのフローイベントや接続イベントなど)。

  • NETWORK_UNCATEGORIZED
  • NETWORK_FLOW(Netflow から集計されたフロー統計など)
  • NETWORK_CONNECTION(例: ファイアウォールのネットワーク接続の詳細)
  • NETWORK_FTP
  • NETWORK_DHCP
  • NETWORK_DNS
  • NETWORK_HTTP
  • NETWORK_SMTP

プロセスの起動、悪意のあるプロセスの作成、別のプロセスへの挿入、レジストリキーの変更、ディスクでの悪意のあるファイルの作成など、プロセスに関連するイベント。

  • PROCESS_INJECTION
  • PROCESS_LAUNCH
  • PROCESS_MODULE_LOAD
  • PROCESS_OPEN
  • PROCESS_PRIVILEGE_ESCALATION
  • PROCESS_TERMINATION
  • PROCESS_UNCATEGORIZED

Microsoft Windows 固有のレジストリ イベントに対応する場合は、SETTING イベントではなく REGISTRY イベントを使用します。

  • REGISTRY_UNCATEGORIZED
  • REGISTRY_CREATION
  • REGISTRY_MODIFICATION
  • REGISTRY_DELETION

スキャン指向のイベント。エンドポイント セキュリティ プロダクト(EDR、AV、DLP)によるオンデマンド スキャンと動作検出が含まれます。SecurityResult を別のイベントタイプ(PROCESS_LAUNCH など)に関連付ける場合にのみ使用されます。

  • SCAN_UNCATEGORIZED
  • SCAN_FILE
  • SCAN_HOST
  • SCAN_PROCESS
  • SCAN_VULN_HOST
  • SCAN_VULN_NETWORK

スケジュールされたタスク イベント(例: Windows タスク スケジューラ、cron):

  • SCHEDULED_TASK_UNCATEGORIZED
  • SCHEDULED_TASK_CREATION
  • SCHEDULED_TASK_DELETION
  • SCHEDULED_TASK_ENABLE
  • SCHEDULED_TASK_DISABLE
  • SCHEDULED_TASK_MODIFICATION

サービス イベント:

  • SERVICE_UNSPECIFIED
  • SERVICE_CREATION
  • SERVICE_DELETION
  • SERVICE_START
  • SERVICE_STOP

イベントの設定(エンドポイントでシステム設定が変更された場合を含む)。

  • SETTING_UNCATEGORIZED
  • SETTING_CREATION
  • SETTING_MODIFICATION
  • SETTING_DELETION

セキュリティ プロダクトからのステータス メッセージ。エージェントが稼働中であることを示し、バージョン、フィンガープリント、その他のタイプのデータを送信します。

  • STATUS_UNCATEGORIZED
  • STATUS_HEARTBEAT(プロダクトが有効であることを示します)
  • STATUS_STARTUP
  • STATUS_SHUTDOWN
  • STATUS_UPDATE(ソフトウェアまたはフィンガープリントの更新)

システム監査ログイベント:

  • SYSTEM_AUDIT_LOG_UNCATEGORIZED
  • SYSTEM_AUDIT_LOG_WIPE

ユーザー認証アクティビティ イベント:

  • USER_UNCATEGORIZED
  • USER_BADGE_IN(例: ユーザーがサイトに物理的にバッジを表示するとき)
  • USER_CHANGE_PASSWORD
  • USER_CHANGE_PERMISSIONS
  • USER_COMMUNICATION
  • USER_CREATION
  • USER_DELETION
  • USER_LOGIN
  • USER_LOGOUT
  • USER_RESOURCE_ACCESS
  • USER_RESOURCE_CREATION
  • USER_RESOURCE_DELETION
  • USER_RESOURCE_UPDATE_CONTENT
  • USER_RESOURCE_UPDATE_PERMISSIONS

Metadata.collected_timestamp

  • 目的: イベントがベンダーのローカル コレクション インフラストラクチャによって収集されたときに、GMT タイムスタンプをエンコードします。
  • エンコード: RFC 3339。JSON または Proto3 のタイムスタンプ形式に適しています。
  • 例:
    • RFC 3339: 2019-09-10T20:32:31-08:00
    • Proto3 形式: 2012-04-23T18:25:43.511Z

Metadata.event_timestamp

  • 目的: イベントの生成時に GMT タイムスタンプをエンコードします。
  • 必須: はい
  • エンコード: RFC 3339。JSON または Proto3 のタイムスタンプ形式に適しています。
  • 例:
    • RFC 3339: 2019-09-10T20:32:31-08:00
    • Proto3 形式: 2012-04-23T18:25:43.511Z

Metadata.description

  • 目的: 人が読める形式のイベントの説明。
  • エンコード: 英数字の文字列、句読点、最大 1,024 バイト
  • 例: ファイル c:\bar\foo.exe が、機密ドキュメント c:\documents\earnings.docx へのアクセスをブロックしました。

Metadata.product_event_type

  • 目的: 短くわかりやすい、人が読める形式のプロダクト固有のイベント名またはイベントタイプ。
  • エンコード: 英数字の文字列、句読点、最大 64 バイト
  • 例:
    • レジストリ作成イベント
    • ProcessRollUp
    • 権限昇格が検出されました
    • 不正なソフトウェアがブロックされました

Metadata.product_log_id

  • 目的: ベンダー固有のイベント識別子をエンコードして、イベント(GUID)を一意に識別します。ユーザーはこの識別子を使用して、該当するイベントのベンダー独自のコンソールを検索できます。
  • エンコード: 大文字と小文字が区別され、英数字の文字列、句読点、最大 256 バイト。
  • 例: ABcd1234-98766

Metadata.product_name

  • 目的: プロダクトの名前を指定します。
  • エンコード: 大文字と小文字が区別され、英数字の文字列、句読点、最大 256 バイト。
  • 例:
    • Falcon
    • Symantec Endpoint Protection

Metadata.product_version

  • 目的: プロダクトの名前を指定します。
  • エンコード: 英数字の文字列、ピリオドおよびダッシュ、最大 32 バイト。
  • 例:
    • 1.2.3b
    • 10.3:rev1

Metadata.url_back_to_product

  • 目的: 特定のイベント(または一般的なイベント カテゴリ)に関する詳細情報を確認できる、関連ウェブサイトへの URL リンク。
  • エンコード: ポート情報などのオプションのパラメータを含む有効な RFC 3986 URL。URL の前にプロトコル プレフィックスを含める必要があります(例: https://、http://)。
  • 例: https://newco.altostrat.com:8080/event_info?event_id=12345

Metadata.vendor_name

  • 目的: プロダクトのベンダーの名前を指定します。
  • エンコード: 大文字と小文字が区別され、英数字の文字列、句読点、最大 256 バイト。
  • 例:
    • CrowdStrike
    • Symantec

名詞メタデータの入力

このセクションでは、名詞とは、プリンシパル送信元ターゲット仲介者観察者概要などのエンティティを表す包括的な用語を意味します。これらのエンティティには共通の属性がありますが、イベント内の異なるオブジェクトを表すものです。エンティティとイベントで各エンティティが表す内容の詳細については、ログデータを UDM としてフォーマットをご覧ください。

Noun.asset_id

  • 目的: ベンダー固有の一意のデバイス ID(例: 新しいデバイスにエンドポイント セキュリティ ソフトウェアをインストールする際に生成される GUID。この ID を使用することで、該当の固有のデバイスを時系列で追跡できます)。
  • エンコード: VendorName.ProductName:ID。ここでの VendorName では、「CarbonBlack」などのベンダー名について大文字と小文字は区別されません。また、ProductName では「Response」や「Endpoint Protection」などのプロダクト名も大文字と小文字は区別されません。ID は、お客様の環境内でグローバルに一意のベンダー固有のお客様 ID(一意のデバイスを識別する GUID または一意の値など)です。VendorNameProductName は、32 文字以下の英数字です。ID は、最大 128 文字で、英数字、ダッシュ、ピリオドを使用できます。
  • 例: CrowdStrike.Falcon:0bce4259-4ada-48f3-a904-9a526b01311f

Noun.email

  • 目的: メールアドレス
  • エンコード: 標準のメールアドレス形式。
  • 例: johns@test.altostrat.com

Noun.file

Noun.hostname

  • 目的: クライアントのホスト名またはドメイン名のフィールド。URL が存在する場合は含めないでください
  • エンコード: 有効な RFC 1123 ホスト名。
  • 例:
    • userwin10
    • www.altostrat.com

Noun.platform

  • 目的: プラットフォームのオペレーティング システム。
  • Encoding: 列挙型
  • 有効な値:
    • Linux
    • MAC
    • Windows
    • UNKNOWN_PLATFORM

Noun.platform_patch_level

  • 目的: プラットフォーム オペレーティング システムのパッチレベル。
  • エンコード: 句読点を含む英数字の文字列、最大 64 文字。
  • 例: ビルド 17134.48

Noun.platform_version

  • 目的: プラットフォームのオペレーティング システムのバージョン。
  • エンコード: 句読点を含む英数字の文字列、最大 64 文字。
  • 例: Microsoft Windows 10 バージョン 1803

Noun.process

Noun.ip

  • 目的:
    • ネットワーク接続に関連付けられた単一の IP アドレス。
    • イベント発生時に参加者のデバイスに関連付けられた 1 つ以上の IP アドレス(たとえば、EDR 製品がデバイスに関連付けられたすべての IP アドレスを認識している場合、IP フィールド内のすべての IP アドレスをエンコードできます)。
  • エンコード: ASCII でエンコードされた有効な IPv4 アドレスまたは IPv6 アドレス(RFC 5942)。
  • 反復性:
    • イベントで特定のネットワーク接続が示されている場合(srcip:srcport > dstip:dstport など)、ベンダーは 1 つの IP アドレスのみを提供する必要があります。
    • 特定のネットワーク接続ではなく、参加者のデバイスで発生する一般的なアクティビティがイベントで示されている場合、ベンダーはイベント発生時にデバイスに対してすべての関連する IP アドレスを提供することがあります。
  • 例:
    • 192.168.1.2
    • 2001:db8:1:3::1

Noun.port

  • 目的: イベント内で特定のネットワーク接続を記述するときの送信元または送信先のネットワークのポート番号。
  • エンコード: 1~65,535 の有効な TCP/IP ポート番号。
  • 例:

    • 80
    • 443

Noun.mac

  • 目的: デバイスに関連付けられた 1 つ以上の MAC アドレス。
  • エンコード: ASCII の有効な MAC アドレス(EUI-48)。
  • 反復性: ベンダーは、イベント発生時にデバイスに関連付けられているすべての MAC アドレスを提供できます。
  • 例:
    • fedc:ba98:7654:3210:fedc:ba98:7654:3210
    • 1080:0:0:0:8:800:200c:417a
    • 00:a0:0:0:c9:14:c8:29

Noun.administrative_domain

  • 目的: デバイスが属しているドメイン(Windows ドメインなど)。
  • エンコード: 有効なドメイン名文字列(最大 128 文字)。
  • 例: corp.altostrat.com

Noun.registry

Noun.url

  • 目的: 標準の URL
  • エンコード: URL(RFC 3986)。有効なプロトコル接頭辞(https:// や ftp:// など)が必要です。完全なドメインとパスを含める必要があります。URL のパラメータが含まれている場合があります。
  • 例: https://foo.altostrat.com/bletch?a=b;c=d

Noun.user

認証メタデータの入力

Authentication.AuthType

  • 目的: 認証イベントが関連付けられているシステムの種類(Chronicle UDM)。
  • エンコード: 列挙型。
  • 有効な値:
    • AUTHTYPE_UNSPECIFIED
    • MACHINE - マシン認証
    • PHYSICAL - 物理的な認証(バッジリーダーなど)
    • SSO
    • TACACS - ネットワーク接続システムの認証に使用される TACACS ファミリー プロトコル(TACACS、TACACS+ など)
    • VPN

Authentication.Authentication_Status

  • 目的: ユーザーまたは特定の認証情報の認証ステータスを示します。
  • エンコード: 列挙型。
  • 有効な値:
    • UNKNOWN_AUTHENTICATION_STATUS - デフォルトの認証ステータス
    • ACTIVE - 認証方法がアクティブな状態です
    • SUSPENDED - 認証メソッドが停止状態または無効状態です
    • DELETED - 認証メソッドが削除されました
    • NO_ACTIVE_CREDENTIALS - 認証メソッドに有効な認証情報がありません。

Authentication.auth_details

  • 目的: ベンダー定義の認証の詳細
  • エンコード: 文字列。

Authentication.Mechanism

  • 目的: 認証に使用されるメカニズム。
  • エンコード: 列挙型。
  • 有効な値:
    • MECHANISM_UNSPECIFIED - デフォルトの認証メカニズム。
    • BADGE_READER
    • BATCH - 一括認証。
    • CACHED_INTERACTIVE - キャッシュされた認証情報を使用するインタラクティブ認証。
    • HARDWARE_KEY
    • LOCAL
    • MECHANISM_OTHER - ここで定義されていない他のメカニズム。
    • NETWORK - ネットワーク認証。
    • NETWORK_CLEAR_TEXT - ネットワーク クリアテキスト認証。
    • NEW_CREDENTIALS - 新しい認証情報を使用する認証。
    • OTP
    • REMOTE -リモート認証
    • REMOTE_INTERACTIVE - RDP、ターミナル サービス、仮想ネットワーク コンピューティング(VNC)など
    • SERVICE - サービス認証。
    • UNLOCK - 人間による直接インタラクティブ ロック解除認証。
    • USERNAME_PASSWORD

DHCP メタデータの入力

Dynamic Host Control Protocol(DHCP)メタデータ フィールドは、DHCP ネットワーク管理プロトコルのログ情報を取得します。

Dhcp.client_hostname

  • 目的: クライアントのホスト名。詳細については、RFC 2132 の DHCP オプションと BOOTP ベンダー拡張機能をご覧ください。
  • エンコード: 文字列。

Dhcp.client_identifier

  • 目的: クライアント ID。詳細については、RFC 2132 の DHCP オプションと BOOTP ベンダー拡張機能をご覧ください。
  • エンコード: バイト。

Dhcp.file

  • 目的: ブートイメージのファイル名。
  • エンコード: 文字列。

Dhcp.flags

  • 目的: DHCP フラグ フィールドの値。
  • エンコード: 32 ビットの符号なし整数。

Dhcp.hlen

  • 目的: ハードウェア アドレスの長さ。
  • エンコード: 32 ビットの符号なし整数。

Dhcp.hops

  • 目的: DHCP のホップ数。
  • エンコード: 32 ビットの符号なし整数。

Dhcp.htype

  • 目的: ハードウェアのアドレスタイプ。
  • エンコード: 32 ビットの符号なし整数。

Dhcp.lease_time_seconds

  • 目的: クライアントがリクエストした IP アドレスのリース時間(秒単位)。詳細については、RFC 2132 の DHCP オプションと BOOTP ベンダー拡張機能をご覧ください。
  • エンコード: 32 ビットの符号なし整数。

Dhcp.opcode

  • 目的: BOOTP オペレーション コード(RFC 951 のセクション 3 を参照)
  • エンコード: 列挙型。
  • 有効な値:
    • UNKNOWN_OPCODE
    • BOOTREQUEST
    • BOOTREPLY

Dhcp.requested_address

  • 目的: クライアント ID。詳細については、RFC 2132 の DHCP オプションと BOOTP ベンダー拡張機能をご覧ください。
  • エンコード: ASCII でエンコードされた有効な IPv4 アドレスまたは IPv6 アドレス(RFC 5942)。

Dhcp.seconds

  • 目的: アドレスの取得/更新プロセスが開始されてからの経過時間。
  • エンコード: 32 ビットの符号なし整数。

Dhcp.sname

  • 目的: クライアントがブートを要求したサーバーの名前。
  • エンコード: 文字列。

Dhcp.transaction_id

  • 目的: クライアント トランザクション ID。
  • エンコード: 32 ビットの符号なし整数。

Dhcp.type

  • 目的: DHCP メッセージ タイプ。詳細については、RFC 1533 をご覧ください。
  • エンコード: 列挙型。
  • 有効な値:
    • UNKNOWN_MESSAGE_TYPE
    • DISCOVER
    • 割引
    • リクエスト
    • 同意しない
    • ACK
    • NAK
    • RELEASE
    • INFORM
    • WIN_DELECTED
    • WIN_EXPIRED

Dhcp.chaddr

  • 目的: クライアント ハードウェアの IP アドレス。
  • エンコード: ASCII でエンコードされた有効な IPv4 アドレスまたは IPv6 アドレス(RFC 5942)。

Dhcp.ciaddr

  • 目的: クライアントの IP アドレス。
  • エンコード: ASCII でエンコードされた有効な IPv4 アドレスまたは IPv6 アドレス(RFC 5942)。

Dhcp.giaddr

  • 目的: リレー エージェントの IP アドレス。
  • エンコード: ASCII でエンコードされた有効な IPv4 アドレスまたは IPv6 アドレス(RFC 5942)。

Dhcp.siaddr

  • 目的: 次のブートストラップ サーバーの IP アドレス。
  • エンコード: ASCII でエンコードされた有効な IPv4 アドレスまたは IPv6 アドレス(RFC 5942)。

Dhcp.yiaddr

  • 目的: IP アドレス。
  • エンコード: ASCII でエンコードされた有効な IPv4 アドレスまたは IPv6 アドレス(RFC 5942)。

DHCP オプション メタデータの入力

DHCP オプション メタデータ フィールドには、DHCP オプションログの情報が記録されます。

Option.code

  • 目的: DHCP オプション コードを保存します。詳細については、RFC 1533、DHCP オプションと BOOTP ベンダー拡張機能をご覧ください。
  • エンコード: 符号なし 32 ビット整数。

Option.data

  • 目的: DHCP オプション データを保存します。詳細については、RFC 1533、DHCP オプションと BOOTP ベンダー拡張機能をご覧ください。
  • エンコード: バイト。

DNS メタデータの入力

DNS メタデータ フィールドには、DNS リクエストおよびレスポンス パケットに関連する情報が取得されます。DNS リクエストとレスポンスのデータグラムにあるデータとは 1 対 1 で対応しています。

Dns.authoritative

  • 目的: 信頼できる DNS サーバーに true を設定します。
  • エンコード: ブール値。

Dns.id

  • 目的: DNS クエリ識別子を保存します。
  • エンコード: 32 ビット整数。

Dns.response

  • 目的: イベントが DNS レスポンスの場合は true に設定します。
  • エンコード: ブール値。

Dns.opcode

  • 目的: DNS クエリのタイプ(標準、逆順、サーバーのステータスなど)の指定に使用する DNS OpCode を保存します。
  • エンコード: 32 ビット整数。

Dns.recursion_available

  • 目的: 再帰 DNS ルックアップを使用できる場合は、true に設定します。
  • エンコード: ブール値。

Dns.recursion_desired

  • 目的: 再帰 DNS ルックアップを使用できる場合は、true に設定します。
  • エンコード: ブール値。

Dns.response_code

  • 目的: RFC 1035(Domain Names - Implementation and Specification)で定義されている DNS レスポンス コードを保存します。
  • エンコード: 32 ビット整数。

Dns.truncated

  • 目的: DNS レスポンスが切り捨てられる場合に true に設定します。
  • エンコード: ブール値。

Dns.questions

Dns.answers

Dns.authority

Dns.additional

DNS Question メタデータの入力

DNS Question メタデータ フィールドには、ドメイン プロトコル メッセージの question セクションに含まれている情報が入力されています。

Question.name

  • 目的: ドメイン名を保存します。
  • エンコード: 文字列。

Question.class

  • 目的: クエリのタイプを指定するコードを保存します。
  • エンコード: 32 ビット整数。

Question.type

  • 目的: クエリのタイプを指定するコードを保存します。
  • エンコード: 32 ビット整数。

DNS リソース レコード メタデータの入力

DNS リソース レコード メタデータ フィールドには、ドメイン プロトコル メッセージのリソース レコードに含まれる情報が入力されます。

ResourceRecord.binary_data

  • 目的: DNS レスポンスの一部として含まれている UTF8 以外の文字列の未加工バイトを保存します。DNS サーバーが返すレスポンス データに UTF8 以外のデータが含まれている場合にのみ、このフィールドを使用する必要があります。それ以外の場合は、以下のデータ フィールドに DNS レスポンスを配置します。このタイプの情報は、ResourceRecord.data ではなく、ここに保存する必要があります。
  • エンコード: バイト。

ResourceRecord.class

  • 目的: リソース レコードのクラスを指定するコードを保存します。
  • エンコード: 32 ビット整数。

ResourceRecord.data

  • 目的: DNS 質問に対するペイロードまたはレスポンスを UTF-8 形式でエンコードして、すべてのレスポンスに保存します。たとえば、データ フィールドは、ドメイン名が参照するマシンの IP アドレスを返すことができます。リソース レコードが別のタイプまたはクラスの場合、別のドメイン名が含まれている可能性があります(1 つのドメイン名が別のドメイン名にリダイレクトされた場合)。データは DNS レスポンスと同じように保存する必要があります。
  • エンコード: 文字列。

ResourceRecord.name

  • 目的: リソース レコードのオーナーの名前を保存します。
  • エンコード: 文字列。

ResourceRecord.ttl

  • 目的: 情報ソースを再照会する前にリソース レコードをキャッシュに保存できる時間間隔を保存します。
  • エンコード: 32 ビット整数。

ResourceRecord.type

  • 目的: リソース レコードのタイプを指定するコードを保存します。
  • エンコード: 32 ビット整数。

メール メタデータの入力

[Email Metadata] フィールドのほとんどは、メッセージ ヘッダーに含まれており、RFC 5322 で定義されている標準のメールアドレス形式(local-mailbox@domain)に準拠している必要があります。例: frank@email.example.com。

Email.from

  • 目的: from のメールアドレスを保存します。
  • エンコード: 文字列。

Email.reply_to

  • 目的: reply_to メールアドレスを保存します。
  • エンコード: 文字列。

Email.to

  • 目的: to メールアドレスを保存します。
  • エンコード: 文字列。

Email.cc

  • 目的: cc メールアドレスを保存します。
  • エンコード: 文字列。

Email.bcc

  • 目的: bcc メールアドレスを保存します。
  • エンコード: 文字列。

Email.mail_id

  • 目的: メール(またはメッセージ)ID を保存します。
  • エンコード: 文字列。
  • 例: 192544.132632@email.example.com

Email.subject

  • 目的: メールの件名を保存します。
  • エンコード: 文字列。
  • 例: 「このメッセージをお読みください」

拡張機能メタデータの入力

Chronicle UDM によってまだ分類されていないファースト クラス メタデータのイベントタイプ。Extensions.auth

  • 目的: 認証メタデータの拡張機能。
  • エンコード: 文字列。
  • 例:
    • サンドボックス メタデータ(FireEye など、ファイルで示されるすべての動作)。
    • ネットワーク アクセス制御(NAC)データ。
    • ユーザーに関する LDAP の詳細(ロール、組織など)

Extensions.auth.auth_details

  • 目的: 認証タイプまたは認証メカニズムのベンダー固有の詳細を指定します。多くの場合、認証プロバイダは、認証タイプに関する有用な情報を提供する via_mfa、via_ad などのタイプを定義します。これらの型は、ユーザビリティとクロス データセット ルールの互換性のために、auth.type または auth.memachineism で一般化できます。
  • エンコード: 文字列。
  • 例: via_mfa、via_ad。

Extensions.vulns

  • 目的: 脆弱性メタデータの拡張機能。
  • エンコード: 文字列。
  • 例:
    • 脆弱性スキャンデータをホストする。

ファイル メタデータの入力

File.file_metadata

  • 目的: ファイルに関連付けられたメタデータ。
  • エンコード: 文字列。
  • 例:
    • 作成者
    • リビジョン番号
    • バージョン番号
    • 最終保存日

File.full_path

  • 目的: システム上のファイルの場所を示すフルパス。
  • エンコード: 文字列。
  • 例: \Program Files\Custom Utilities\Test.exe

File.md5

  • 目的: ファイルの MD5 ハッシュ値。
  • エンコード: 文字列。小文字の 16 進数です。
  • 例: 35bf623e7db9bf0d68d0dda764fd9e8c

File.mime_type

  • 目的: ファイルの Multipurpose Internet Mail Extensions(MIME)タイプを指定します。
  • エンコード: 文字列。
  • 例:
    • PE
    • PDF
    • PowerShell スクリプト

File.sha1

  • 目的: ファイルの SHA-1 ハッシュ値。
  • エンコード: 文字列。小文字の 16 進数です。
  • 例: eb3520d53b45815912f2391b713011453ed8abcf

File.sha256

  • 目的: ファイルの SHA-256 ハッシュ値。
  • エンコード: 文字列。小文字の 16 進数です。
  • 例:
    • d7173c568b8985e61b4050f81b3fd8e75bc922d2a0843d7079c81ca4b6e36417

File.size

  • 目的: ファイルのサイズ。
  • エンコード: 64 ビットの符号なし整数。
  • 例: 342135。

FTP メタデータの入力

Ftp.command

  • 目的: FTP コマンドを保存します。
  • エンコード: 文字列。
  • 例:
    • バイナリ
    • 削除
    • get
    • put

グループ メタデータの入力

組織グループに関する情報。

Group.creation_time

  • 目的: グループの作成日時。
  • エンコード: RFC 3339。JSON または Proto3 のタイムスタンプ形式に適しています。

Group.email_addresses

  • 目的: グループの連絡先情報。
  • エンコード: メール。

Group.group_display_name

  • 目的: グループの表示名。
  • エンコード: 文字列。
  • 例:
    • 財務
    • HR
    • マーケティング

Group.product_object_id

  • 目的: LDAP のオブジェクト ID など、グローバルに一意なユーザー オブジェクト ID です。
  • エンコード: 文字列。

Group.windows_sid

  • 目的: Microsoft Windows Security Identifier(SID)のグループ属性フィールド。
  • エンコード: 文字列。

HTTP メタデータの入力

Http.method

  • 目的: HTTP リクエスト メソッドを保存します。
  • エンコード: 文字列。
  • 例:
    • GET
    • HEAD
    • POST

Http.referral_url

  • 目的: HTTP リファラーの URL を保存します。
  • エンコード: 有効な RFC 3986 URL。
  • 例: https://www.altostrat.com

Http.response_code

  • 目的: HTTP レスポンスのステータス コードを保存します。このコードは、特定の HTTP リクエストが正常に完了したかどうかを示します。
  • エンコード: 32 ビット整数。
  • 例:
    • 400
    • 404

Http.useragent

  • 目的: ユーザー エージェントのリクエスト ヘッダーを保存します。このヘッダーには、リクエスト側のソフトウェア ユーザー エージェントのアプリケーション タイプ、オペレーティング システム、ソフトウェア ベンダー、ソフトウェア バージョンが含まれます。
  • エンコード: 文字列。
  • 例:
    • Mozilla/5.0(X11、Linux x86_64)
    • AppleWebKit/534.26(Gecko などの KHTML)
    • Chrome/41.0.2217.0
    • Safari/527.33

位置情報メタデータの入力

Location.city

  • 目的: 都市の名前を保存します。
  • エンコード: 文字列。
  • 例:
    • サニーベール
    • シカゴ
    • マラガ

Location.country_or_region

  • 目的: 国や地域の名前を保存します。
  • エンコード: 文字列。
  • 例:
    • 米国
    • 英国
    • スペイン

Location.name

  • 目的: 企業に固有の名前(建物、キャンパスなど)を保存します。
  • エンコード: 文字列。
  • 例:
    • キャンパス 7B
    • 建物 A2

Location.state

  • 目的: 都道府県の名前。
  • エンコード: 文字列。
  • 例:
    • カリフォルニア
    • イリノイ
    • オンタリオ

ネットワーク メタデータの入力

Network.application_protocol

  • 目的: ネットワーク アプリケーション プロトコルを示します。
  • エンコード: 列挙型。
  • 有効な値:
    • UNKNOWN_APPLICATION_PROTOCOL
    • QUIC
    • HTTP
    • HTTPS
    • DNS
    • DHCP

Network.direction

  • 目的: ネットワーク トラフィックの方向を示します。
  • エンコード: 列挙型。
  • 有効な値:
    • UNKNOWN_DIRECTION
    • INBOUND
    • OUTBOUND
    • BROADCAST

Network.email

  • 目的: 送信者または受信者のメールアドレスを指定します。
  • エンコード: 文字列。
  • 例: jcheng@company.example.com

Network.ip_protocol

  • 目的: IP プロトコルを示します。
  • エンコード: 列挙型。
  • 有効な値:
    • UNKNOWN_IP_PROTOCOL
    • EIRP - Enhanced Interior Gateway Routing Protocol
    • ESP - カプセル化セキュリティ ペイロード
    • ETHERIP - Ethernet-within-IP Encapsulation
    • GRE - Generic Routing Encapsulation
    • ICMP - Internet Control Message Protocol
    • IGMP - Internet Group Management Protocol
    • IP6IN4 - IPv6 Encapsulation
    • PIM - Protocol Independent Multicast
    • TCP - Transmission Control Protocol
    • UDP - User Datagram Protocol
    • VRRP - Virtual Router Redundancy Protocol

Network.received_bytes

  • 目的: 受信したバイト数を指定します。
  • エンコード: 64 ビットの符号なし整数。
  • 例: 12,453,654,768

Network.sent_bytes

  • 目的: 送信されるバイト数を指定します。
  • エンコード: 64 ビットの符号なし整数。
  • 例: 7,654,876

Network.session_duration

  • 目的: ネットワーク セッション継続期間を保存します。通常はセッションのドロップ イベントで返されます。期間を設定するには、network.session_duration.seconds = 1(int64 型)または network.session_duration.nanos = 1(int32 型)のいずれかに設定します。
  • エンコード:
    • 32 ビットの整数 - 秒(network.session_duration.seconds)。
    • 64 ビット整数 - ナノ秒(network.session_duration.nanos)。

Network.session_id

  • 目的: ネットワーク セッション ID を保存します。
  • エンコード: 文字列。
  • 例: SID:ANON:www.w3.org:j6oAOxCWZh/CD723LGeXlf-01:34

プロセス メタデータの入力

Process.command_line

  • 目的: プロセスのコマンドライン文字列を保存します。
  • エンコード: 文字列。
  • 例: c:\windows\system32\net.exe グループ

Process.product_specific_process_id

  • 目的: プロダクトに固有のプロセス ID を保存します。
  • エンコード: 文字列。

Process.parent_process.product_specific_process_id

  • 目的: 親プロセスのプロダクトに固有のプロセス ID を保存します。
  • エンコード: 文字列。

Process.file

  • 目的: プロセスで使用されるファイルのファイル名を保存します。
  • エンコード: 文字列。
  • 例: report.xls

Process.parent_process

  • 目的: 親プロセスの詳細を保存します。
  • エンコード: 名詞(プロセス)

Process.pid

  • 目的: プロセス ID を保存します。
  • エンコード: 文字列。
  • 例:
    • 308
    • 2002

レジストリ メタデータの入力

Registry.registry_key

  • 目的: アプリケーションまたはシステム コンポーネントに関連付けられたレジストリキーを保存します。
  • エンコード: 文字列。
  • 例: HKEY_LOCAL_MACHINE/SYSTEM/DriverDatabase

Registry.registry_value_name

  • 目的: アプリケーションまたはシステム コンポーネントに関連付けられたレジストリ値の名前を保存します。
  • エンコード: 文字列。
  • 例: TEMP

Registry.registry_value_data

  • 目的: レジストリ値に関連付けられているデータを保存します。
  • エンコード: 文字列。
  • 例: %USERPROFILE%\Local Settings\Temp

セキュリティ結果のメタデータの入力

セキュリティ結果のメタデータには、セキュリティ システムによって検出されたセキュリティ リスクと脅威の詳細、およびそれらのリスクと脅威を軽減するために講じるアクションが含まれます。

SecurityResult.about

  • 目的: セキュリティの結果の説明を入力します。
  • エンコード: 名詞。

SecurityResult.action

  • 目的: セキュリティ アクションを指定します。
  • エンコード: 列挙型。
  • 有効な値: Chronicle UDM では次のセキュリティ アクションが定義されています。
    • 許可
    • ALLOW_WITH_MODIFICATION - ファイルやメールがウイルス駆除または書き換えられて、転送されました。
    • ブロック
    • QUARANTINE - 後で分析するために保存します(ブロックを意味するわけではありません)。
    • UNKNOWN_ACTION

SecurityResult.action_details

  • 目的: セキュリティ インシデントの結果として行われたアクションについて、ベンダーが詳しく説明します。一般的に、セキュリティ アクションはより一般的な Security_Result.action UDM フィールドに変換されます。ただし、場合によっては、ベンダー提供のアクションの説明のために正確なルールを記述する必要があります。
  • エンコード: 文字列。
  • 例: ドロップ、ブロック、復号、暗号化。

SecurityResult.category

  • 目的: セキュリティ カテゴリを指定します。
  • Encoding: 列挙型。
  • 有効な値: Chronicle UDM では次のセキュリティ カテゴリが定義されています。
    • ACL_VIOLATION - ファイル、ウェブサービス、プロセス、ウェブ オブジェクトへのアクセスなどの不正なアクセスが試行されました。
    • AUTH_VIOLATION - パスワードが正しくないか、2 要素認証などの認証に失敗しました。
    • DATA_AT_REST - DLP: スキャン中に保存されたセンサーデータ。
    • DATA_DESTRUCTION - データを破棄または削除します。
    • DATA_EXFILTRATION - DLP: センサーデータの送信、USB メモリへのコピー。
    • EXPLOIT - オーバーフロー、プロトコル エンコードの誤り、ROP、SQL インジェクションなど、ネットワークとホストベースの試行。
    • mail_PHISHING - フィッシング メール、チャット メッセージなど。
    • MAIL_SPAM - 迷惑メール、メッセージなど。
    • MAIL_SPOOFING - なりすまし送信元のメールアドレス。
    • NETWORK_CATEGORIZED_CONTENT
    • NETWORK_COMMAND_AND_CONTROL - コマンドと制御チャネルがわかっている場合。
    • NETWORK_DENIAL_OF_SERVICE
    • NETWORK_MALICIOUS - コマンドと制御、ネットワーク悪用、不審なアクティビティ、潜在的なリバース トンネルなど。
    • NETWORK_SUSPICIOUS - セキュリティに関連しないもの(URL がギャンブルにリンクされている場合など)。
    • NETWORK_RECON - IDS によって検出されたポートスキャン、ウェブ アプリケーションによるプローブ。
    • POLICY_VIOLATION - ファイアウォール、プロキシ、HIPS ルールの違反、NAC ブロック アクションなどのセキュリティ ポリシー違反。
    • SOFTWARE_MALICIOUS - マルウェア、スパイウェア、ルートキットなど。
    • SOFTWARE_PUA - アドウェアなど、望ましくないアプリ。
    • SOFTWARE_SUSPICIOUS
    • UNKNOWN_CATEGORY

SecurityResult.confidence

  • 目的: プロダクトによって見積もられたセキュリティ イベントに関する信頼度を指定します。
  • Encoding: 列挙型。
  • 有効な値: Chronicle UDM では、次のプロダクトの信頼カテゴリが定義されています。
    • UNKNOWN_CONFIDENCE
    • LOW_CONFIDENCE
    • MEDIUM_CONFIDENCE
    • HIGH_CONFIDENCE

SecurityResult.confidence_details

  • 目的: プロダクト ベンダーが見積もったセキュリティ イベントの信頼性に関する追加の詳細。
  • エンコード: 文字列。

SecurityResult.priority

  • 目的: プロダクト ベンダーが見積もったセキュリティ イベントの優先度を指定します。
  • Encoding: 列挙型。
  • 有効な値: Chronicle UDM では、次のプロダクト優先度のカテゴリを定義しています。
    • UNKNOWN_PRIORITY
    • LOW_PRIORITY
    • MEDIUM_PRIORITY
    • HIGH_PRIORITY

SecurityResult.priority_details

  • 目的: セキュリティ結果の優先度に関するベンダー固有の情報。
  • エンコード: 文字列。

SecurityResult.rule_id

  • 目的: セキュリティ ルールの識別子。
  • エンコード: 文字列。
  • 例:
    • 08123
    • 5d2b44d0-5ef6-40f5-a704-47d61d3babbe

SecurityResult.rule_name

  • 目的: セキュリティ ルールの名前。
  • エンコード: 文字列。
  • 例: BlockInboundToOracle。

SecurityResult.severity

  • 目的: Chronicle UDM で定義された値を使用してプロダクト ベンダーが推定するセキュリティ イベントの重大度。
  • Encoding: 列挙型。
  • 有効な値: Chronicle UDM では、次のプロダクト重大度が定義されています。
    • UNKNOWN_SEVERITY - 悪意がない
    • INFORMATIONAL—悪意がない
    • ERROR—悪意がない
    • LOW—悪意がある
    • MEDIUM—悪意がある
    • HIGH—悪意がある

SecurityResult.severity_details

  • 目的:プロダクト ベンダーが見積もったセキュリティ イベントの重大度。
  • エンコード: 文字列。

SecurityResult.threat_name

  • 目的: セキュリティ上の脅威の名前。
  • エンコード: 文字列。
  • 例:
    • W32/File-A
    • Slammer

SecurityResult.url_back_to_product

  • 目的: このセキュリティ イベントのソース プロダクト コンソールにダイレクトする URL。
  • エンコード: 文字列。

ユーザー メタデータの入力

User.email_addresses

  • 目的: ユーザーのメールアドレスを保存します。
  • エンコード: 繰り返し文字列。
  • 例: johnlocke@company.example.com

User.employee_id

  • 目的: ユーザーの人事従業員 ID を保存します。
  • エンコード: 文字列。
  • 例: 11223344。

User.first_name

  • 目的: ユーザーの名前を保存します。
  • エンコード: 文字列。
  • 例: John。

User.middle_name

  • 目的: ユーザーの名前を保存します。
  • エンコード: 文字列。
  • 例: Anthony。

User.last_name

  • 目的: ユーザーの名前を保存します。
  • エンコード: 文字列。
  • 例: Locke。

User.group_identifiers

  • 目的: ユーザーに関連付けられたグループ ID(GUID、LDAP OID など)を保存します。
  • エンコード: 繰り返し文字列。
  • 例: admin-users。

User.phone_numbers

  • 目的: ユーザーの電話番号を保存します。
  • エンコード: 繰り返し文字列。
  • 例: 800-555-0101

User.title

  • 目的: ユーザーの役職を保存します。
  • エンコード: 文字列。
  • 例: 顧客関係マネージャー。

User.user_display_name

  • 目的: ユーザーの名前を保存します。
  • エンコード: 文字列。
  • 例: John Locke。

User.userid

  • 目的: ユーザー ID を保存します。
  • エンコード: 文字列。
  • 例: jlocke。

User.windows_sid

  • 目的: ユーザーに関連付けられた Microsoft Windows セキュリティ ID(SID)を保存します。
  • エンコード: 文字列。
  • 例: S-1-5-21-1180649209-123456789-3582944384-1064

脆弱性メタデータの入力

Vulnerability.about

  • 目的: 脆弱性が特定の名詞(例: 実行可能ファイル)に関する場合は、ここに追加します。
  • エンコード: 名詞。名詞メタデータの入力をご覧ください。
  • 例: 実行可能ファイル。

Vulnerability.cvss_base_score

  • 目的: Common Vulnerability Scoring System(CVSS)の基本スコア。
  • エンコード: 浮動小数点。
  • 範囲: 0.0~10.0
  • 例: 8.5

Vulnerability.cvss_vector

  • 目的: 脆弱性の CVSS プロパティのベクトル。CVSS スコアは、次の指標で構成されます。

    • 攻撃ベクトル(AV)
    • アクセスの複雑さ(AC)
    • 認証(Au)
    • 機密性保持の影響(C)
    • 整合性の影響(I)
    • 可用性の影響(A)

    詳細については、https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator?vector=VALUE をご覧ください。

  • エンコード: 文字列。

  • 例: AV:L/AC:H/Au:N/C:N/I:P/A:C

Vulnerability.cvss_version

  • 目的: 脆弱性のスコアまたはベクトルの CVSS バージョン。
  • エンコード: 文字列。
  • 例: 3.1

Vulnerability.description

  • 目的: 脆弱性の説明。
  • エンコード: 文字列。

Vulnerability.first_found

  • 目的: 脆弱性スキャンの履歴を維持するプロダクトでは、このアセットの脆弱性が最初に検出された時刻を first_found に入力する必要があります。
  • エンコード: 文字列。

Vulnerability.last_found

  • 目的: 脆弱性スキャンの履歴を保持するプロダクトでは、このアセットの脆弱性が最後に検出された時刻を last_found に入力する必要があります。
  • エンコード: 文字列。

Vulnerability.name

  • 目的: 脆弱性の名前。
  • エンコード: 文字列。
  • 例: サポートされていない OS バージョンが検出されました。

Vulnerability.scan_end_time

  • 目的: アセット スキャン中に脆弱性が検出された場合は、スキャンの終了時間をこのフィールドに入力します。終了時間が利用できない場合や適用できない場合は、このフィールドを空のままにします。
  • エンコード: 文字列。

Vulnerability.scan_start_time

  • 目的: アセット スキャン中に脆弱性が検出された場合は、スキャンの開始時間をこのフィールドに入力します。開始時間が利用できない場合や適用できない場合は、このフィールドを空のままにします。
  • エンコード: 文字列。

Vulnerability.severity

  • 目的: 脆弱性の重大度。
  • エンコード: 列挙型。
  • 有効な値:
    • UNKNOWN_SEVERITY

Vulnerability.severity_details

  • 目的: ベンダー固有の重大度の詳細。
  • エンコード: 文字列。

アラート メタデータの入力

idm.is_significant

  • 目的: Enterprise Insights にアラートを表示するかどうかを指定します。
  • エンコード: ブール値

idm.is_alert

  • 目的: イベントがアラートかどうかを識別します。
  • エンコード: ブール値

イベントタイプに基づく必須フィールドと省略可能フィールド

このセクションでは、UDM イベントタイプに応じて入力する必須フィールドとオプション フィールドについて説明します。これらのフィールドの詳細については、統合データモデルのフィールド リストをご覧ください。

EMAIL_TRANSACTION

必須フィールド:

  • metadata: 必須フィールドを含めます。
  • principal: メールのメッセージ送信元のマシンに関する情報を入力します。たとえば、送信者の IP アドレスなどです。

省略可能項目:

  • about: メール本文に埋め込まれている URL、IP、ドメイン、添付ファイル。
  • securityResult.about: メール本文に埋め込まれている不正な URL、IP、ファイル。
  • network.email: メールの送信者または受信者の情報。
  • principal: メールの送信元であるクライアント マシンデータがある場合は、principal にサーバーの詳細(クライアント プロセス、ポート番号、ユーザー名など)を入力します。
  • target: 宛先メールサーバーのデータがある場合は、target にサーバーの詳細(IP アドレスなど)を入力します。
  • intermediary: メールサーバーのデータまたはメールプロキシのデータがある場合は、intermediary にサーバーの詳細を入力します。

注:

  • principal.email または target.email には入力しないでください。
  • security_result.about または network.email のメール フィールドにのみ入力します。
  • 通常、最上位のセキュリティ結果には名詞セットが含まれます(迷惑メールの場合は省略可)。

FILE_CREATION、FILE_DELETION、FILE_MODIFICATION、FILE_READ、FILE_OPEN

必須フィールド:

  • metadata: 必須フィールドを含めます。
  • principal:
    • 少なくとも 1 つのマシン ID。
    • (省略可)principal.process に、ファイルにアクセスするプロセスに関する情報を入力します。
  • target:
    • ファイルがリモートの場合(SMB 共有など)、target にはマシンのマシン ID が少なくとも 1 つ含まれている必要があります。それ以外の場合、すべてのマシン ID は空白である必要があります。
    • target.file にファイルに関する情報を入力します。

任意:

  • security_result: 検出された悪意のあるアクティビティを記述します。
  • principal.user: プロセスに関するユーザー情報が利用可能かどうかを入力します。

FILE_COPY

必須フィールド:

  • metadata: 説明されている必須フィールドを含めます。
  • principal:
    • 少なくとも 1 つのマシン ID。
    • (省略可)principal.process に、ファイルコピー オペレーションを実行するプロセスに関する情報を入力します。
  • src:
    • src.file にソースファイルに関する情報を入力します。
    • ファイルがリモートの場合(SMB 共有など)、src にはソースファイルを保存するソースマシンのマシン識別子が少なくとも 1 つ含まれている必要があります。
  • target:
    • target.file にターゲット ファイルに関する情報を入力します。
    • ファイルがリモートの場合(SMB 共有など)、target フィールドには、ターゲット ファイルを保持するターゲット マシンのマシン識別子が少なくとも 1 つ含まれている必要があります。

省略可能項目:

  • security_result: 検出された悪意のあるアクティビティを記述します。
  • principal.user: プロセスに関するユーザー情報が利用可能かどうかを入力します。

MUTEX_CREATION

必須フィールド:

  • metadata: 必須フィールドを含めます。
  • principal:
    • 少なくとも 1 つのマシン ID。
    • principal.process に、ミューテックスを作成するプロセスに関する情報を入力します。
  • target:
    • target.resource に入力します。
    • target.resource.type に MUTEX を入力します。
    • target.resource.name に、作成したミューテックスの名前を入力します。

任意:

  • security_result: 検出された悪意のあるアクティビティを記述します。
  • principal.user: プロセスに関するユーザー情報が利用可能かどうかを入力します。
MUTEX_CREATION の UDM の例

次の例は、Chronicle UDM のタイプ MUTEX_CREATION のイベントをフォーマットする方法を示しています。

metadata {
  event_timestamp: "2020-01-01T13:27:41+00:00"
  event_type: MUTEX_CREATION
  vendor_name: "Microsoft"
  product_name: "Windows"
}
principal {
  hostname: "test.altostrat.com"
  process {
    pid: "0xc45"
    file {
      full_path: "C:\\Windows\\regedit.exe"
    }
  }
}
target {
  resource {
    type: "MUTEX"
    name: "test-mutex"
  }
}

この例に示すように、イベントは次の UDM カテゴリに分かれています。

  • metadata: イベントの背景情報。
  • principal: デバイスとプロセスの詳細。
  • target: ミューテックスに関する情報。

NETWORK_CONNECTION

必須フィールド:

  • metadata: event_timestamp
  • principal: ネットワーク接続を開始したマシンの詳細(ソースなど)を含めます。
  • target: プリンシパル マシンと異なる場合は、ターゲット マシンの詳細を含めます。
  • network: ネットワーク接続(ポート、プロトコルなど)の詳細を含めます。

省略可能項目:

  • principal.processtarget.process: ネットワーク接続のプリンシパルとターゲットに関連付けられたプロセス情報を含めます(該当する場合)。
  • principal.usertarget.user: ネットワーク接続のプリンシパルとターゲットに関連付けられたユーザー情報を含めます(該当する場合)。

NETWORK_HTTP

NETWORK_HTTP イベントタイプは、プリンシパルからターゲットのウェブサーバーへの HTTP ネットワーク接続を表します。

必須フィールド:

  • metadata: 必須フィールドを含めます。
  • principal: ウェブ リクエストを開始したクライアントを表し、少なくとも 1 つのマシン識別子(ホスト名、IP、MAC、独自のアセット識別子など)またはユーザー識別子(ユーザー名など)を含めます。特定のネットワーク接続が記述され、クライアント ポート番号が利用可能な場合、そのネットワーク接続に関連付けられたポート番号とともに 1 つの IP アドレスのみを指定する必要があります(ただし、参加者のデバイスをより適切に示すために他のマシン識別子を指定することもできます)。送信元ポートを使用できない場合は、プリンシパル デバイスを示すすべての IP アドレス、MAC アドレス、アセット ID、ホスト名の値を指定できます。
  • target: ウェブサーバーを表し、デバイス情報と必要に応じてポート番号を含めます。ターゲット ポート番号が使用可能な場合、そのネットワーク接続に関連付けられたポート番号に加え、1 つの IP アドレスのみを指定します(ただし、ターゲットに複数の他のマシン識別子を指定することもできます)。target.url には、アクセス対象の URL を入力します。
  • networknetwork.http: HTTP ネットワーク接続の詳細が含まれます。次のフィールドに値を入力する必要があります。
    • network.ip_protocol
    • network.application_protocol
    • network.http.method

省略可能項目:

  • about: HTTP トランザクションで見つかった他のエンティティ(アップロードしたファイルまたはダウンロードしたファイルなど)を表します。
  • intermediatery: プロキシ サーバーを表します(プリンシパルまたはターゲットと異なる場合)。
  • metadata: 他のメタデータ フィールドに入力します。
  • network: 他のネットワーク フィールドに入力します。
  • network.email: HTTP ネットワーク接続元がメール メッセージに表示された URL である場合は、network.email に詳細を入力します。
  • observer: パッシブ スニファーを表します(存在する場合)。
  • security_result: 1 つ以上の項目を security_result フィールドに追加して、検出される悪意のあるアクティビティを表します。
NETWORK_HTTP の UDM の例

次の例は、NETWORK_HTTP タイプの Sophos ウイルス対策イベントを Chronicle UDM 形式に変換する方法を示しています。

元の Sophos ウイルス対策イベントは次のとおりです。

date=2013-08-07 time=13:27:41 timezone="GMT" device_name="CC500ia" device_id= C070123456-ABCDE log_id=030906208001 log_type="Anti-Virus" log_component="HTTP" log_subtype="Virus" status="" priority=Critical fw_rule_id=0 user_name="john.smith" iap=7 av_policy_name="" virus="TR/ElderadoB.A.78" url="altostrat.fr/img/logo.gif" domainname="altostrat.fr" src_ip=10.10.2.10 src_port=60671 src_country_code= dst_ip=203.0.113.31 dst_port=80 dst_country_code=FRA

Chronicle UDM 構文を使用して Proto3 で同じ情報をフォーマットする方法は次のとおりです。

metadata {
  event_timestamp: "2013-08-07T13:27:41+00:00"
  event_type: NETWORK_HTTP
  product_name: "Sophos Antivirus"
  product_log_id: "030906208001"
}

principal {
  hostname: "CC500ia"
  asset_id: "Sophos.AV:C070123456-ABCDE"
  ip: "10.10.2.10"
  port: 60671
  user {  userid: "john.smith" }
}

target {
  hostname: "altostrat.fr"
  ip: "203.0.113.31"
  port: 80
  url: "altostrat.fr/img/logo.gif"
}

network {
  ip_protocol: TCP
 }

security_result {
  about {
    url: "altostrat.fr/img/logo.gif"
    category: SOFTWARE_MALICIOUS
    category_details: "Virus"
    threat_name: "TR/ElderadoB.A.78"
    severity: HIGH                   # Chronicle-normalized severity
    severity_details: "Critical"    # Vendor-specific severity string
  }
}

additional { "dst_country_code" : "FRA", "iap" : "7" "fw_rule_id" : "0" }

この例に示すように、イベントは次の UDM カテゴリに分かれています。

  • metadata: イベントの背景情報。
  • principal: イベントを検出したセキュリティ デバイス。
  • target: 悪意のあるソフトウェアを受け取ったデバイス。
  • network: 悪意のあるホストに関するネットワーク情報。
  • security_result: 悪意のあるソフトウェアのセキュリティの詳細。
  • additional: UDM 範囲外の現在のベンダー情報。

PROCESS_INJECTION、PROCESS_LAUNCH、PROCESS_OPEN、PROCESS_TERMINATION、PROCESS_UNCATEGORIZED

必須フィールド:

  • metadata: 必須フィールドを含めます。
  • principal:
    • 少なくとも 1 つのマシン ID。
    • プロセス インジェクション イベントとプロセス終了イベントについては(存在する場合)、principal.process にアクションを開始するプロセスに関する情報を含める必要があります(たとえば、プロセスの起動イベントの場合、principal.process に親プロセスの詳細を含める必要があります(存在する場合))。
  • target:
    • target.process: 挿入、オープン、起動、終了の状態のプロセスに関する情報が含まれます。
    • ターゲット プロセスがリモートの場合、ターゲットには、ターゲット マシンの少なくとも 1 つのマシン ID(IP アドレス、MAC、ホスト名、サードパーティのアセット ID など)が含まれている必要があります。

省略可能項目:

  • security_result: 検出された悪意のあるアクティビティを記述します。
  • principal.usertarget.user: ユーザー情報が利用可能であれば、開始プロセス(プリンシパル)とターゲット プロセスを入力します。
PROCESS_LAUNCH の UDM の例

次の例は、Chronicle UDM 構文を使用して PROCESS_LAUNCH イベントをフォーマットする方法を示しています。

metadata {
  event_timestamp: "2020-01-01T13:27:41+00:00"
  event_type: PROCESS_LAUNCH
  vendor_name: "Microsoft"
  product_name: "Windows"
}
principal {
  hostname: "altostrat.com"
}
target {
  process {
    pid: "0xc45"
    file {
      full_path: "C:\\Windows\\regedit.exe"
    }
  }
}

この例に示すように、イベントは次の UDM カテゴリに分かれています。

  • metadata: イベントの背景情報。
  • principal: デバイスの詳細。
  • target: プロセスの詳細。

PROCESS_MODULE_LOAD

必須フィールド:

  • metadata: 必須フィールドを含めます。
  • principal:
    • 少なくとも 1 つのマシン ID。
    • principal.process: モジュールの読み込みプロセス。
  • target:
    • target.process: プロセスに関する情報が含まれます。
    • target.process.file: 読み込まれたモジュール(DLL や共有オブジェクトなど)。

省略可能項目:

  • security_result: 検出された悪意のあるアクティビティを記述します。
  • principal.user: プロセスに関するユーザー情報が利用可能かどうかを入力します。
PROCESS_MODULE_LOAD の UDM の例

次の例は、Chronicle UDM の構文を使用して PROCESS_MODULE_LOAD イベントをフォーマットする方法を示しています。

metadata {
  event_timestamp: "2020-01-01T13:27:41+00:00"
  event_type: PROCESS_MODULE_LOAD
  vendor_name: "Microsoft"
  product_name: "Windows"
}
principal {
  hostname: "example.com"
  process {
    pid: "0x123"
  }
}
target {
  process {
    pid: "0xc45"
    file {
      full_path: "C:\\Windows\\regedit.exe"
    }
  }
}

この例に示すように、イベントは次の UDM カテゴリに分かれています。

  • metadata: イベントの背景情報。
  • principal: モジュールを読み込むデバイスとプロセスの詳細。
  • target: プロセスとモジュールの詳細。

PROCESS_PRIVILEGE_ESCALATION

必須フィールド:

  • metadata: 必須フィールドを含めます。
  • principal:
    • 少なくとも 1 つのマシン ID。
    • principal.process: モジュールの読み込みプロセス。
    • principal.user: モジュールを読み込むユーザー。

省略可能項目:

  • security_result: 検出された悪意のあるアクティビティを記述します。
PROCESS_PRIVILEGE_ESCALATION の UDM の例

次の例は、Chronicle UDM 構文を使用して PROCESS_PRIVILEGE_ESCALATION イベントをフォーマットする方法を示しています。

metadata {
  event_timestamp: "2020-01-01T13:27:41+00:00"
  event_type: PROCESS_PRIVILEGE_ESCALATION
  vendor_name: "Microsoft"
  product_name: "Windows"
}
principal {
  hostname: "example.com"
  process {
    pid: "0x123"
  }
  user {
    userid: "test"
    windows_sid: "ABCDEFGH-123456789-1111111-1000"
  }
}
target {
  process {
    pid: "0xc45"
    file {
      full_path: "C:\\Windows\\regedit.exe"
    }
  }
}

この例に示すように、イベントは次の UDM カテゴリに分かれています。

  • metadata: イベントの背景情報。
  • principal: モジュールを読み込むデバイス、ユーザー、プロセスに関する詳細。
  • target: プロセスとモジュールの詳細。

REGISTRY_CREATION、REGISTRY_MODIFICATION、REGISTRY_DELETION

必須フィールド:

  • metadata: 必須フィールドを含めます。
  • principal:
    • 少なくとも 1 つのマシン ID。
    • ユーザーモードのプロセスでレジストリの変更を行う場合、principal.process にレジストリを変更するプロセスに関する情報を含める必要があります。
    • カーネル プロセスでレジストリの変更を行う場合、principal にプロセス情報を含めないでください。
  • target:
    • target.registry: ターゲット レジストリがリモートの場合は、ターゲットに少なくとも 1 つの識別子(IP アドレス、MAC、ホスト名、サードパーティのアセット識別子など)を含める必要があります。
    • target.registry.registry_key: すべてのレジストリ イベントに、影響を受けるレジストリキーが含まれている必要があります。

任意:

  • security_result: 検出された悪意のあるアクティビティを記述します。たとえば、不適切なレジストリキーなどです。
  • principal.user: プロセスに関するユーザー情報が利用可能かどうかを入力します。
REGISTRY_MODIFICATION の UDM の例

次の例は、Chronicle UDM 構文を使用して Proto3 で REGISTRY_MODIFICATION イベントをフォーマットする方法を示しています。

metadata {
  event_timestamp: "2020-01-01T13:27:41+00:00"
  event_type: REGISTRY_MODIFICATION
  vendor_name: "Microsoft"
  product_name: "Windows"
}
principal {
  hostname: "test-win"
  user {
    userid: "test"
    windows_sid: "ABCDEFGH-123456789-1111111-1000"
  }
  process {
    pid: "0xc45"
    file {
      full_path: "C:\\Windows\\regedit.exe"
    }
  }
}
target {
  registry {
    registry_key: "\\REGISTRY\\USER\\TEST_USER\\Control Panel\\PowerCfg\\PowerPolicy"
    registry_value_name: "Description"
    registry_value_data: "For extending battery life."
  }
}

この例に示すように、イベントは次の UDM カテゴリに分かれています。

  • metadata: イベントの背景情報。
  • principal: デバイス、ユーザー、プロセスの詳細。
  • target: 変更の影響を受けるレジストリ エントリ。

SCAN_FILE、SCAN_HOST、SCAN_PROCESS、SCAN_VULN_HOST、SCAN_VULN_NETWORK

必須フィールド:

  • extensions: SCAN_VULN_HOST と SCAN_VULN_NETWORK の場合は、extensions.vuln フィールドを使用して脆弱性を定義します。
  • metadata: event_timestamp
  • observer: スキャナ自体に関する情報を取得します。スキャナがリモートの場合は、オブザーバー フィールドでマシンの詳細をキャプチャする必要があります。ローカル スキャナの場合は、空のままにします。
  • target: スキャンするオブジェクトを保持するマシンに関する情報を取得します。スキャン中のファイルの場合、target.file にスキャンファイルに関する情報を取得する必要があります。プロセスをスキャンする場合、target.process はスキャンされたプロセスに関する情報を取得する必要があります。

省略可能項目:

  • target: ターゲット オブジェクトに関する詳細(ファイル作成者やプロセス所有者など)は、target.user で取得する必要があります。
  • security_result: 検出された悪意のあるアクティビティを記述します。
SCAN_HOST の UDM の例

次の例は、Chronicle UDM の SCAN_HOST タイプのイベントをフォーマットする方法を示しています。

metadata: {
  event_timestamp: {
    seconds: 1571386978
  }
  event_type: SCAN_HOST
  vendor_name: "vendor"
  product_name: "product"
  product_version: "1.0"
}
target: {
  hostname: "testHost"
  asset_id: "asset"
  ip: "192.168.200".200
}
observer: {
  hostname: "testObserver"
  ip: "192.168.100.100"
}
security_result: {
  severity: LOW
  confidence: HIGH_CONFIDENCE
}

この例に示すように、イベントは次の UDM カテゴリに分かれています。

  • metadata: イベントの背景情報。
  • target: 悪意のあるソフトウェアを受け取ったデバイス。
  • observer: 該当のイベントを監視してレポートするデバイス。
  • security_result: 悪意のあるソフトウェアのセキュリティの詳細。

SCHEDULED_TASK_CREATION、SCHEDULED_TASK_DELETION、SCHEDULED_TASK_DISABLE、SCHEDULED_TASK_ENABLE、SCHEDULED_TASK_MODIFICATION、SCHEDULED_TASK_UNCATEGORIZED

必須フィールド:

  • principal: すべての SCHEDULED_TASK イベントについて、principal にマシン識別子とユーザー識別子が含まれている必要があります。
  • target: 有効なリソースと「TASK」として定義されたリソースタイプを含める必要があります。

省略可能項目:

  • security_result: 検出された悪意のあるアクティビティを記述します。
SCHEDULED_TASK_CREATION の UDM の例

次の例は、Chronicle UDM の SCHEDULED_TASK_CREATION タイプのイベントをフォーマットする方法を示しています。

metadata: {
  event_timestamp: {
    seconds: 1577577998
  }
  event_type: SCHEDULED_TASK_CREATION
  vendor_name: "Microsoft"
  product_name: "Windows"
}
principal: {
  hostname: "fake-host.altostrat.com"
  user: {
    userid: "TestUser"
    windows_sid: "AB123CDE"
  }
  process {
    pid: "1234"
  }
}
target: {
  resource: {
    type: "TASK"
    name: "\\Adobe Acrobat Update Task"
  }
}
intermediary: {
  hostname: "fake-intermediary.altostrat.com"
}
security_result: {
  rule_name: "EventID: 6789"
  summary: "A scheduled task was created."
  severity: INFORMATIONAL
}

この例に示すように、イベントは次の UDM カテゴリに分かれています。

  • metadata: イベントの背景情報。
  • principal: 不審なタスクをスケジュールしたデバイス。
  • target: 不審なタスクのターゲットとなるソフトウェア。
  • intermediary: 不審なタスクに関与した仲介者。
  • security_result: 不審なタスクに関するセキュリティの詳細。

STATUS_HEARTBEAT、STATUS_STARTUP、STATUS_SHUTDown、STATUS_UPDATE

必須フィールド:

  • metadata: 必須フィールドを含めます。
  • principal: 1 つ以上のマシン識別子(IP または MAC アドレス、ホスト名、またはアセット識別子)。
STATUS_HEARTBEAT の UDM の例

次の例は、Chronicle UDM の STATUS_HEARTBEAT タイプのイベントをフォーマットする方法を示しています。

metadata: {
  event_timestamp: {
    seconds: 1588180305
  }
  event_type: STATUS_HEARTBEAT
  vendor_name: "DMP"
  product_name: "ENTRE"
}
principal: {
  hostname: "testHost"
  location: {
    name: "Building 1"
  }
}
intermediary: {
  ip: "8.8.8.8"
}
security_result: {
  summary: "Event - Locked"
  description: "description"
  severity: LOW
  severity_details: "INFO"
}

この例に示すように、イベントは次の UDM カテゴリに分かれています。

  • metadata: イベントの背景情報。
  • principal: デバイスとロケーションの詳細。
  • intermediate: デバイスの IP アドレス。
  • security_result: セキュリティの結果の詳細。

SYSTEM_AUDIT_LOG_UNCATEGORIZED、SYSTEM_AUDIT_LOG_WIPE

必須フィールド:

  • principal: ログに対するオペレーションを行ったユーザーのユーザー ID と、ログが保存されているマシンまたはマシンが保存されているか、保存されていた(ワイプの場合)マシンの IDを含めます。
SYSTEM_AUDIT_LOG_WIPE の UDM の例

次の例は、Chronicle UDM のタイプ SYSTEM_AUDIT_LOG_WIPE のイベントをフォーマットする方法を示しています。

metadata {
  event_timestamp: "2020-01-01T13:27:41+00:00"
  event_type: SYSTEM_AUDIT_LOG_WIPE
  vendor_name: "Microsoft"
  product_name: "Windows"
}
principal {
  hostname: "altostrat.com"
  user {
    userid: "test"
    windows_sid: "ABCDEFGH-123456789-1111111-1000"
  }
}

この例に示すように、イベントは次の UDM カテゴリに分かれています。

  • metadata: イベントの背景情報。
  • principal: デバイスとユーザーの詳細。

USER_LOGIN、USER_LOGOUT、USER_CHANGE_PASSWORD、USER_CHANGE_PERMISSIONS

必須フィールド:

  • metadata: 必須フィールドを含めます。
  • principal: ログインを開始するマシンに関する情報を入力します。リモート ログインの場合、principal には、ログインを開始するマシンを識別するマシン識別子も少なくとも 1 つ含める必要があります。
  • target: マシン間の直接ログイン、VPN、クラウド サービス、SSO の場合、target に、ターゲット アプリケーション、ターゲット マシン、ターゲット VPN サーバーのいずれかの情報を含める必要があります。
  • intermediary: SSO ログインの場合、SSO サーバー用のマシン ID が 1 つ以上含まれている必要があります(利用可能な場合)。
  • networknetwork.http: ログインが HTTP 経由で発生する場合は、network.ip_protocol、network.application_protocol、network にすべての詳細情報を含める必要があります。
  • authentication extension: イベントに関連する認証システムの種類(マシン、SSO、VPN など)と、使用するメカニズム(ユーザー名とパスワード、OTP)を指定する必要があります。
  • security_result: ログインに失敗した場合、security_result フィールドを追加してログイン ステータスを示します。認証に失敗した場合は、AUTH_VIOLATION の値で security_result.category を指定します。

USER_COMMUNICATION

必須フィールド:

  • principal: principal.user フィールドに、Google Chat や Slack のチャット メッセージ、Zoom や Google Meet の動画やビデオ会議、VoIP 接続など、ユーザーが開始した(送信者)通信に関連付けられた詳細を入力します。

省略可能項目:

  • target: (推奨)target.user フィールドに、クラウド通信リソースのターゲット ユーザー(受信者)に関する情報を入力します。ターゲット クラウド通信アプリケーションに関する情報を target.application フィールドに入力します。

USER_CREATION、USER_DELETION

必須フィールド:

  • metadata: event_timestamp
  • principal: ユーザーの作成または削除をリクエストを行うマシンに関する情報を含めます。ローカル ユーザーの作成や削除の場合、principal には、送信元のマシンのマシン ID が 1 つ以上含まれている必要があります。
  • target: ユーザーが作成されている場所。ユーザー情報(target.user など)も含める必要があります。

省略可能項目:

  • principal: ユーザーの作成または削除リクエストが開始されたマシンのユーザーとプロセスの詳細。
  • target: ターゲット マシンに関する情報(プリンシパル マシンとは異なる場合)。

USER_RESOURCE_ACCESS

必須フィールド:

  • principal: principal.user フィールドに、クラウド リソース(Salesforce のケース、Office365 カレンダー、Google ドキュメント、ServiceNow チケットなど)へのアクセス試行に関する詳細を入力します。
  • target: ターゲット クラウド リソースに関する情報を target.resource フィールドに入力します。

省略可能項目:

  • target.application:(推奨)target.application フィールドに、ターゲット クラウド アプリケーションに関する情報を入力します。

USER_RESOURCE_CREATION、USER_RESOURCE_DELETION

必須フィールド:

  • principal: principal.user フィールドに、クラウド リソース(Salesforce のケース、Office 365 のカレンダー、Google ドキュメント、ServiceNow チケットなど)内で作成されたユーザーの詳細情報を入力します。
  • target: ターゲット クラウド リソースに関する情報を target.resource フィールドに入力します。

省略可能項目:

  • target.application:(推奨)target.application フィールドに、ターゲット クラウド アプリケーションに関する情報を入力します。

USER_RESOURCE_UPDATE_CONTENT

必須フィールド:

  • principal: principal.user フィールドに、クラウド リソース(Salesforce ケース、Office365 のカレンダー、Google ドキュメント、ServiceNow のチケットなど)内でコンテンツが更新されたユーザーの詳細を入力します。
  • target: ターゲット クラウド リソースに関する情報を target.resource フィールドに入力します。

省略可能項目:

  • target.application:(推奨)target.application フィールドに、ターゲット クラウド アプリケーションに関する情報を入力します。

USER_RESOURCE_UPDATE_PERMISSIONS

必須フィールド:

  • principal: principal.user フィールドに、クラウド リソース(Salesforce ケース、Office 365 のカレンダー、Google ドキュメント、ServiceNow のチケットなど)内で権限が更新されたユーザーに関連付けられた詳細を入力します。
  • target: ターゲット クラウド リソースに関する情報を target.resource フィールドに入力します。

省略可能項目:

  • target.application:(推奨)target.application フィールドに、ターゲット クラウド アプリケーションに関する情報を入力します。

USER_UNCATEGORIZED

必須フィールド:

  • metadata: event_timestamp
  • principal: ユーザーの作成または削除をリクエストを行うマシンに関する情報を含めます。ローカル ユーザーの作成や削除の場合、principal には、送信元のマシンのマシン ID が 1 つ以上含まれている必要があります。
  • target: ユーザーが作成されている場所。ユーザー情報(target.user など)も含める必要があります。

省略可能項目:

  • principal: ユーザーの作成または削除リクエストが開始されたマシンのユーザーとプロセスの詳細。
  • target: ターゲット マシンに関する情報(プリンシパル マシンとは異なる場合)。