Advanced Security Information Model (ASIM) プロセス イベント正規化スキーマのリファレンス (パブリック プレビュー)

プロセス イベント正規化スキーマは、プロセスを実行および終了するオペレーティング システムのアクティビティを記述するために使用されます。 このようなイベントは、オペレーティング システムと、EDR (エンドポイント検出と応答) システムなどのセキュリティ システムによって報告されます。

OSSEM で定義されているプロセスは、プログラムの実行中のインスタンスを表す包含および管理オブジェクトです。 プロセス自体は実行されませんが、コードを実行するスレッドを管理します。

Microsoft Sentinel での正規化の詳細については、「正規化と Advanced Security Information Model (ASIM)」を参照してください。

重要

プロセス イベント正規化スキーマは、現在プレビュー中です。 この機能は、サービス レベル アグリーメントなしで提供されており、運用環境のワークロード用には推奨されていません。

Azure プレビューの追加使用条件には、ベータ版、プレビュー版、またはまだ一般提供されていない Azure 機能に適用される追加の法律条項が含まれています。

パーサー

一覧表示されたすべてのパーサーを統一し、構成済みのソース全体で必ず分析する、統一パーサーを使用するには、クエリで次のテーブル名を使用します。

  • プロセス作成情報を必要とするクエリでは imProcessCreate。 これらのクエリが最も一般的なケースです。
  • プロセス終了情報を必要とするクエリでは imProcessTerminate

Microsoft Sentinel が提供するプロセス イベント パーサーの一覧については、ASIM パーサーの一覧を参照してください。

認証パーサーを Microsoft Sentinel GitHub リポジトリ からデプロイします。

詳細については、「ASIM パーサーの概要」を参照してください。

独自の正規化されたパーサーを追加する

カスタムのプロセス イベント パーサーの実装時には、構文 imProcessCreate<vendor><Product> および imProcessTerminate<vendor><Product> を使用して KQL 関数に名前を付けます。 パラメーターなしのバージョンの場合は、imASim に置き換えてください。

カスタムの KQL 関数は、統一パーサーとして追加します。説明については、「ASIM パーサーを管理する」を参照してください。

パーサー パラメーターのフィルター処理

im および vim* パーサーでは、imがサポートされています。 これらのパーサーは省略可能ですが、クエリのパフォーマンスを向上させることができます。

次のフィルター処理パラメーターを使用できます。

名前 タイプ 説明
starttime DATETIME この時点以降に発生したプロセス イベントのみをフィルター処理します。
endtime DATETIME フィルターは、この時点以前に発生したプロセス イベント クエリのみです。
commandline_has_any 動的 実行されたコマンド行が一覧表示された値のいずれかを持つイベントのみを処理します。 リストの長さは 10,000 項目に制限されます。
commandline_has_all 動的 コマンド ラインが実行したプロセス イベントに一覧表示された値のすべてがあるプロセス イベントのみをフィルター処理します。 リストの長さは 10,000 項目に制限されます。
commandline_has_any_ip_prefix 動的 コマンド行が実行したプロセス イベントに、一覧表示された IP アドレスまたは IP アドレス接頭部のすべてがあるプロセス イベントのみをフィルター処理します。 プレフィックスの末尾は . にする必要があります (例: 10.0.)。 リストの長さは 10,000 項目に制限されます。
actingprocess_has_any 動的 実行中のプロセス名 (プロセスパス全体を含む) に一覧表示された値のいずれかがあるプロセスイベントのみをフィルター処理します。 リストの長さは 10,000 項目に制限されます。
targetprocess_has_any 動的 フィルター処理は、ターゲット プロセス名 (プロセス パス全体を含む) に一覧表示されている値のいずれかを含むプロセス イベントのみをフィルター処理します。 リストの長さは 10,000 項目に制限されます。
parentprocess_has_any 動的 フィルター処理は、ターゲット プロセス名 (プロセス パス全体を含む) に一覧表示されている値のいずれかを含むプロセス イベントのみをフィルター処理します。 リストの長さは 10,000 項目に制限されます。
targetusername_has または actorusername_has string ターゲット ユーザー名 (プロセス作成イベントの場合) またはアクター ユーザー名 (プロセス終了イベントの場合) に一覧表示された値のいずれかがあるプロセス イベントのみをフィルター処理します。 リストの長さは 10,000 項目に制限されます。
dvcipaddr_has_any_prefix 動的 デバイスの IP アドレスが、一覧表示された IP アドレスまたは IP アドレスプレフィックスのいずれかと一致するプロセスイベントのみをフィルター処理します。 プレフィックスの末尾は . にする必要があります (例: 10.0.)。 リストの長さは 10,000 項目に制限されます。
dvchostname_has_any 動的 デバイスのホスト名、または利用可能なデバイスの FQDN に一覧表示された値のいずれかを持つプロセス イベントのみをフィルター処理します。 リストの長さは 10,000 項目に制限されます。
eventtype string 指定した種類のプロセス イベントのみをフィルター処理します。

たとえば、過去 1 日の認証イベントのみを特定のユーザーにフィルター処理するには、以下を使用します。

imProcessCreate (targetusername_has = 'johndoe', starttime = ago(1d), endtime=now())

ヒント

動的な値を期待するパラメーターにリテラル リストを渡すには、動的リテラルを明示的に使用します。 例: dynamic(['192.168.','10.'])

正規化されたコンテンツ

正規化されたプロセス イベントを使用する分析ルールの完全な一覧については、「Process Event セキュリティー・コンテンツ」を参照してください。

スキーマの詳細

プロセス イベント情報モデルは、OSSEM プロセス エンティティ スキーマに対応しています。

一般的な ASIM フィールド

重要

すべてのスキーマに共通するフィールドの詳細については、ASIM 共通フィールドに関する記事を参照してください。

特定のガイドラインを持つ共通フィールド

次の一覧には、プロセス アクティビティ イベントに関する具体的なガイドラインが含まれたフィールドを示しています。

フィールド クラス Type 説明
EventType Mandatory Enumerated レコードによって報告される操作を記述します。

プロセス レコードの場合、次のような値がサポートされます。
- ProcessCreated
- ProcessTerminated
EventSchemaVersion Mandatory String スキーマのバージョン。 ここに記載されているスキーマのバージョンは 0.1.4 です
EventSchema オプション String ここに記載されているスキーマの名前は ProcessEvent です。
Dvc フィールド プロセス アクティビティ イベントの場合、デバイス フィールドは、プロセスが実行されたシステムを参照します。

重要

EventSchema フィールドは現在任意ですが、2022 年 9 月 1 日に必須になります。

すべての共通フィールド

下の表に示すフィールドは、すべての ASIM スキーマに共通です。 上で指定されているガイドラインは、フィールドの一般的なガイドラインに優先します。 たとえば、フィールドは一般的には省略可能ですが、特定のスキーマでは必須です。 各フィールドの詳細については、ASIM 共通フィールドに関する記事を参照してください。

クラス Fields
Mandatory - EventCount
- EventStartTime
- EventEndTime
- EventType
- EventResult
- EventProduct
- EventVendor
- EventSchema
- EventSchemaVersion
- Dvc
推奨 - EventResultDetails
- EventSeverity
- EventUid
- DvcIpAddr
- DvcHostname
- DvcDomain
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
オプション - EventMessage
- EventSubType
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- EventOwner
- DvcZone
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- AdditionalFields
- DvcDescription
- DvcScopeId
- DvcScope

プロセス イベント固有のフィールド

下の表に示すフィールドはプロセス イベントに固有ですが、他のスキーマのフィールドに類似しており、同様の名前付け規則に従います。

プロセス イベント スキーマでは、プロセスの作成と終了のアクティビティの中心である次のエンティティを参照します。

  • Actor - プロセスの作成または終了を開始したユーザー。
  • ActingProcess - Actor がプロセスの作成または終了を開始するために Actor によって使用されるプロセス。
  • TargetProcess - 新しいプロセス。
  • TargetUser - 資格情報を使用して新しいプロセスを作成するユーザー。
  • ParentProcess - Actor プロセスを開始したプロセス。

エイリアス

フィールド クラス Type 説明
User エイリアス TargetUsername の別名。

例: CONTOSO\dadmin
Process エイリアス TargetProcessName の別名

例: C:\Windows\System32\rundll32.exe
CommandLine エイリアス TargetProcessCommandLine の別名
ハッシュ エイリアス ターゲット プロセスで使用可能な最適なハッシュのエイリアス。

アクターのフィールド

フィールド クラス Type 説明
ActorUserId 推奨 String コンピューターが判読できる、英数字で、アクターを一意に表現したもの。 さまざまな ID の種類に対してサポートされている形式については、User エンティティに関する記事を参照してください。

例: S-1-12
ActorUserIdType 条件付き String ActorUserId フィールドに格納されている ID の種類。 有効な値の一覧とその他の情報については、スキーマの概要に関する記事の「UserIdType」を参照してください。
ActorScope オプション String ActorUserIdActorUsername が定義されているスコープ (Microsoft Entra テナントなど)。 使用できる値の詳細と一覧については、スキーマの概要に関する記事の「UserScope」を参照してください。
ActorUsername Mandatory String アクターのユーザー名 (使用可能な場合はドメイン情報を含む)。 さまざまな ID の種類に対してサポートされている形式については、User エンティティに関する記事を参照してください。 シンプル形式は、ドメイン情報が利用できない場合にのみ使用します。

ユーザー名の種類は、ActorUsernameType フィールドに格納します。 他のユーザー名形式が使用可能な場合、それらをフィールド ActorUsername<UsernameType> に格納します。

例: AlbertE
ActorUsernameType 条件付き Enumerated ActorUsername フィールドに格納されているユーザー名の種類を指定します。 有効な値の一覧とその他の情報については、スキーマの概要に関する記事の「UsernameType」を参照してください。

例: Windows
ActorSessionId オプション String Actor のログイン セッションの一意の ID。

例: 999

: さまざまなシステムに対応するために、型は "文字列" として定義されますが、Windows ではこの値は数値である必要があります。

Windows マシンを使用しており、かつ別の型を使用した場合は、必ず値を変換してください。 たとえば、16 進数の値を使用した場合は、10 進数の値に変換します。
ActorUserType オプション UserType アクターの種類。 有効な値の一覧とその他の情報については、スキーマの概要に関する記事の「UserType」を参照してください。

: 値は、異なる用語を使用してソース レコードに提供されている場合があり、これらの値に正規化する必要があります。 元の値は、ActorOriginalUserType フィールドに格納します。
ActorOriginalUserType 省略可能 String レポート デバイスによって提供されている場合、元のターゲット ユーザーの種類。

プロセス フィールドの実行

フィールド クラス Type 説明
ActingProcessCommandLine 省略可能 String 実行プロセスを実行するために使用するコマンド ライン。

例: "choco.exe" -v
ActingProcessName 省略可能 string 実行プロセスの名前。 この名前は通常、プロセスの仮想アドレス空間にマップされる初期コードとデータを定義するために使用される、イメージまたは実行可能ファイルから派生します。

例: C:\Windows\explorer.exe
ActingProcessFileCompany 省略可能 String 実行プロセス イメージ ファイルを作成した会社。

例: Microsoft
ActingProcessFileDescription 省略可能 String 実行プロセス イメージ ファイルのバージョン情報に埋め込まれた説明。

例: Notepad++ : a free (GPL) source code editor
ActingProcessFileProduct 省略可能 String 実行プロセス イメージ ファイルのバージョン情報からの製品名。

例: Notepad++
ActingProcessFileVersion 省略可能 String 実行プロセス イメージ ファイルのバージョン情報からの製品バージョン。

例: 7.9.5.0
ActingProcessFileInternalName 省略可能 String 実行プロセス イメージ ファイルのバージョン情報からの製品内部ファイル名。
ActingProcessFileOriginalName 省略可能 String 実行プロセス イメージ ファイルのバージョン情報からの製品の元のファイル名。

例: Notepad++.exe
ActingProcessIsHidden 省略可能 Boolean 実行プロセスが非表示モードかどうかを示します。
ActingProcessInjectedAddress 省略可能 String 責任ある実行プロセスが格納されているメモリ アドレス。
ActingProcessId Mandatory String 実行プロセスのプロセス ID (PID)。

例: 48610176

: さまざまなシステムに対応するために、型は "文字列" として定義されますが、Windows と Linux ではこの値は数値である必要があります。

Windows または Linux のマシンを使用しており、かつ別の型を使用した場合は、必ず値を変換してください。 たとえば、16 進数の値を使用した場合は、10 進数の値に変換します。
ActingProcessGuid 省略可能 string 実行プロセスの生成された一意識別子 (GUID)。 システム間でプロセスを識別できます。

例: EF3BD0BD-2B74-60C5-AF5C-010000001E00
ActingProcessIntegrityLevel 省略可能 String すべてのプロセスには、トークンで表される整合性レベルがあります。 整合性レベルは、保護またはアクセスのプロセス レベルを決定します。

Windows では、整合性レベルとして lowmediumhighsystem を定義します。 標準ユーザーには medium の整合性レベルが指定され、管理者特権ユーザーには high の整合性が指定されます。

詳細については、必須の整合性コントロール - Win32 アプリに関するページを参照してください。
ActingProcessMD5 省略可能 String 実行プロセス イメージ ファイルの MD5 ハッシュ。

例: 75a599802f1fa166cdadb360960b1dd0
ActingProcessSHA1 省略可能 SHA1 実行プロセス イメージ ファイルの SHA-1 ハッシュ。

例: d55c5a4df19b46db8c54c801c4665d3338acdab0
ActingProcessSHA256 省略可能 SHA256 実行プロセス イメージ ファイルの SHA-256 ハッシュ。

例:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
ActingProcessSHA512 省略可能 SHA521 実行プロセス イメージ ファイルの SHA-512 ハッシュ。
ActingProcessIMPHASH 省略可能 String 実行プロセスで使用されるすべてのライブラリ DLL のインポート ハッシュ。
ActingProcessCreationTime 省略可能 DateTime 実行プロセスが開始された日時。
ActingProcessTokenElevation 省略可能 String 実行プロセスに適用されたユーザー アクセス制御 (UAC) 特権の昇格の有無を示すトークン。

例: None
ActingProcessFileSize 省略可能 Long 処理プロセスを実行したファイルのサイズ。

親プロセス フィールド

フィールド クラス Type 説明
ParentProcessName 省略可能 string 親プロセスの名前。 この名前は通常、プロセスの仮想アドレス空間にマップされる初期コードとデータを定義するために使用される、イメージまたは実行可能ファイルから派生します。

例: C:\Windows\explorer.exe
ParentProcessFileCompany 省略可能 String 親プロセス イメージ ファイルを作成した会社の名前。

例: Microsoft
ParentProcessFileDescription 省略可能 String 親プロセス イメージ ファイルのバージョン情報からの説明。

例: Notepad++ : a free (GPL) source code editor
ParentProcessFileProduct 省略可能 String 親プロセス イメージ ファイルのバージョン情報からの製品名。

例: Notepad++
ParentProcessFileVersion 省略可能 String 親プロセス イメージ ファイルのバージョン情報からの製品バージョン。

例: 7.9.5.0
ParentProcessIsHidden 省略可能 Boolean 親プロセスが非表示モードかどうかを示します。
ParentProcessInjectedAddress 省略可能 String 責任ある親プロセスが格納されているメモリ アドレス。
ParentProcessId 推奨 String 親プロセスのプロセス ID (PID)。

例: 48610176
ParentProcessGuid 省略可能 String 親プロセスの生成された一意識別子 (GUID)。 システム間でプロセスを識別できます。

例: EF3BD0BD-2B74-60C5-AF5C-010000001E00
ParentProcessIntegrityLevel 省略可能 String すべてのプロセスには、トークンで表される整合性レベルがあります。 整合性レベルは、保護またはアクセスのプロセス レベルを決定します。

Windows では、整合性レベルとして lowmediumhighsystem を定義します。 標準ユーザーには medium の整合性レベルが指定され、管理者特権ユーザーには high の整合性が指定されます。

詳細については、必須の整合性コントロール - Win32 アプリに関するページを参照してください。
ParentProcessMD5 省略可能 MD5 親プロセス イメージ ファイルの MD5 ハッシュ。

例: 75a599802f1fa166cdadb360960b1dd0
ParentProcessSHA1 省略可能 SHA1 親プロセス イメージ ファイルの SHA-1 ハッシュ。

例: d55c5a4df19b46db8c54c801c4665d3338acdab0
ParentProcessSHA256 省略可能 SHA256 親プロセス イメージ ファイルの SHA-256 ハッシュ。

例:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
ParentProcessSHA512 省略可能 SHA512 親プロセス イメージ ファイルの SHA-512 ハッシュ。
ParentProcessIMPHASH 省略可能 String 親プロセスで使用されるすべてのライブラリ DLL のインポート ハッシュ。
ParentProcessTokenElevation 省略可能 String 親プロセスに適用されたユーザー アクセス制御 (UAC) 特権の昇格の有無を示すトークン。

例: None
ParentProcessCreationTime 省略可能 DateTime 親プロセスが開始された日時。

ターゲット ユーザーのフィールド

フィールド クラス Type 説明
TargetUsername プロセス作成イベントの場合は必須です。 String ターゲット ユーザーのユーザー名 (使用可能な場合はドメイン情報を含む)。 さまざまな ID の種類に対してサポートされている形式については、User エンティティに関する記事を参照してください。 シンプル形式は、ドメイン情報が利用できない場合にのみ使用します。

ユーザー名の種類は、TargetUsernameType フィールドに格納します。 他のユーザー名形式が使用可能な場合、それらをフィールド TargetUsername<UsernameType> に格納します。

例: AlbertE
TargetUsernameType 条件付き Enumerated TargetUsername フィールドに格納されているユーザー名の種類を指定します。 有効な値の一覧とその他の情報については、スキーマの概要に関する記事の「UsernameType」を参照してください。

例: Windows
TargetUserId 推奨 String コンピューターが判読できる、英数字で、ターゲット ユーザーを一意に表現したもの。 さまざまな ID の種類に対してサポートされている形式については、User エンティティに関する記事を参照してください。

例: S-1-12
TargetUserIdType 条件付き String TargetUserId フィールドに格納されている ID の種類。 有効な値の一覧とその他の情報については、スキーマの概要に関する記事の「UserIdType」を参照してください。
TargetUserSessionId 省略可能 String ターゲット ユーザーのログイン セッションの一意の ID。

例: 999

: さまざまなシステムに対応するために、型は "文字列" として定義されますが、Windows ではこの値は数値である必要があります。

Windows または Linux のマシンを使用しており、かつ別の型を使用した場合は、必ず値を変換してください。 たとえば、16 進数の値を使用した場合は、10 進数の値に変換します。
TargetUserType オプション UserType アクターの種類。 有効な値の一覧とその他の情報については、スキーマの概要に関する記事の「UserType」を参照してください。

: 値は、異なる用語を使用してソース レコードに提供されている場合があり、これらの値に正規化する必要があります。 元の値は、TargetOriginalUserType フィールドに格納します。
TargetOriginalUserType オプション String レポート デバイスによって提供されている場合、元のターゲット ユーザーの種類。

ターゲット プロセス フィールド

フィールド クラス Type 説明
TargetProcessName Mandatory string ターゲット プロセスの名前。 この名前は通常、プロセスの仮想アドレス空間にマップされる初期コードとデータを定義するために使用される、イメージまたは実行可能ファイルから派生します。

例: C:\Windows\explorer.exe
TargetProcessFileCompany オプション String ターゲット プロセス イメージ ファイルを作成した会社の名前。

例: Microsoft
TargetProcessFileDescription オプション String ターゲット プロセス イメージ ファイルのバージョン情報の説明。

例: Notepad++ : a free (GPL) source code editor
TargetProcessFileProduct オプション String ターゲット プロセス イメージ ファイルのバージョン情報の製品名。

例: Notepad++
TargetProcessFileSize オプション String イベントを処理するプロセスを実行したファイルのサイズ。
TargetProcessFileVersion オプション String ターゲット プロセス イメージ ファイルのバージョン情報の製品バージョン。

例: 7.9.5.0
TargetProcessFileInternalName オプション String ターゲット プロセスのイメージ ファイルのバージョン情報の製品内部ファイル名。
TargetProcessFileOriginalName オプション String ターゲット プロセスのイメージ ファイルのバージョン情報からの製品の元のファイル名。
TargetProcessIsHidden オプション Boolean ターゲット プロセスが非表示モードかどうかを示します。
TargetProcessInjectedAddress オプション String 責任あるターゲット プロセスが格納されているメモリ アドレス。
TargetProcessMD5 オプション MD5 ターゲット プロセス イメージ ファイルの MD5 ハッシュ。

例: 75a599802f1fa166cdadb360960b1dd0
TargetProcessSHA1 オプション SHA1 ターゲット プロセス イメージ ファイルの SHA-1 ハッシュ。

例: d55c5a4df19b46db8c54c801c4665d3338acdab0
TargetProcessSHA256 オプション SHA256 ターゲット プロセス イメージ ファイルの SHA-256 ハッシュ。

例:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
TargetProcessSHA512 オプション SHA512 ターゲット プロセス イメージ ファイルの SHA-512 ハッシュ。
TargetProcessIMPHASH オプション String ターゲット プロセスで使用されるすべてのライブラリ DLL のインポート ハッシュ。
HashType 推奨 String HASH エイリアスフィールドに格納されるハッシュの種類、許可される値はMD5SHASHA256SHA512IMPHASHです。
TargetProcessCommandLine Mandatory String ターゲット プロセスを実行するために使用するコマンド ライン。

例: "choco.exe" -v
TargetProcessCurrentDirectory オプション String ターゲット プロセスが実行される現在のディレクトリ。

例: c:\windows\system32
TargetProcessCreationTime 推奨 DateTime ターゲット プロセス イメージ ファイルのバージョン情報からの製品バージョン。
TargetProcessId Mandatory String ターゲット プロセスのプロセス ID (PID)。

例: 48610176

: さまざまなシステムに対応するために、型は "文字列" として定義されますが、Windows と Linux ではこの値は数値である必要があります。

Windows または Linux のマシンを使用しており、かつ別の型を使用した場合は、必ず値を変換してください。 たとえば、16 進数の値を使用した場合は、10 進数の値に変換します。
TargetProcessGuid オプション String ターゲット プロセスの生成された一意識別子 (GUID)。 システム間でプロセスを識別できます。

例: EF3BD0BD-2B74-60C5-AF5C-010000001E00
TargetProcessIntegrityLevel オプション String すべてのプロセスには、トークンで表される整合性レベルがあります。 整合性レベルは、保護またはアクセスのプロセス レベルを決定します。

Windows では、整合性レベルとして lowmediumhighsystem を定義します。 標準ユーザーには medium の整合性レベルが指定され、管理者特権ユーザーには high の整合性が指定されます。

詳細については、必須の整合性コントロール - Win32 アプリに関するページを参照してください。
TargetProcessTokenElevation オプション String 作成または終了されたプロセスに適用されたユーザー アクセス制御 (UAC) 特権の昇格の有無を示すトークンの種類。

例: None
TargetProcessStatusCode 省略可能 String 終了時にターゲット プロセスによって返される終了コード。 このフィールドは、プロセス終了イベントに対してのみ有効です。 一貫性を保つため、オペレーティング システムによって提供される値が数値の場合でも、フィールドの型は文字列です。

スキーマの更新

バージョン 0.1.1 のスキーマの変更点を次に示します。

  • フィールド EventSchema が追加されました。

これらは、スキーマのバージョン 0.1.2 での変更点です

  • フィールド ActorUserTypeActorOriginalUserTypeTargetUserTypeTargetOriginalUserTypeHashTypeが追加されました。

これらは、スキーマのバージョン 0.1.3 での変更点です

  • フィールド ParentProcessId および TargetProcessCreationTime を必須から推奨に変更しました。

これらは、スキーマのバージョン 0.1.4 での変更点です

  • フィールド ActorScopeDvcScopeIdDvcScope が追加されました。

次のステップ

詳細については、次を参照してください。