Advanced Security Information Model (ASIM) スキーマは、アクティビティまたはエンティティを表す一連のフィールドです。 クエリで正規化されたスキーマのフィールドを使用すると、正規化されたすべてのソースでクエリが確実に機能します。
スキーマが ASIM アーキテクチャにどのように適合するかを理解するには、 ASIM アーキテクチャの図を参照してください。
アクティビティ/イベント スキーマ
スキーマ参照は、各スキーマを構成するフィールドの概要を示します。 ASIM では現在、イベントに対して次のスキーマが定義されています。
| Schema | テストのスキーマ名 | バージョン | 状態 |
|---|---|---|---|
| アラート イベント | AlertEvent |
0.1 | GA |
| 監査イベント | AuditEvent |
0.1.2 | GA |
| 認証イベント | Authentication |
0.1.4 | GA |
| DHCP アクティビティ | DhcpEvent |
0.1.1 | GA |
| DNS アクティビティ | Dns |
0.1.7 | GA |
| ファイル アクティビティ | FileEvent |
0.2.2 | GA |
| ネットワーク セッション | NetworkSession |
0.2.7 | GA |
| プロセス イベント | ProcessEvent |
0.1.4 | GA |
| レジストリ イベント | RegistryEvent |
0.1.3 | GA |
| ユーザー管理 | UserManagement |
0.1.2 | GA |
| Web セッション | WebSession |
0.2.7 | GA |
エンティティ スキーマ
ASIM では現在、エンティティに対して次のスキーマが定義されています。
| Schema | テストのスキーマ名 | バージョン | 状態 |
|---|---|---|---|
| Asset Entity | AssetEntity |
0.1.0 | GA |
他の ASIM スキーマの一部であるエンティティについては、「 イベント エンティティ」を参照してください。
フィールドの名前付け
各スキーマの中核となるのは、そのフィールド名です。 フィールド名は、次のグループに属します。
- すべてのスキーマに共通のフィールド。
- スキーマに固有のフィールド。
- スキーマに参加するユーザーなどのエンティティを表すフィールド。 エンティティを表すフィールド は、スキーマ間で似ています。
ドキュメント化されたスキーマに表示されないフィールドがソースにある場合、一貫性を維持するために正規化されます。 追加のフィールドがエンティティを表す場合、エンティティ フィールドのガイドラインに基づいて正規化されます。 それ以外の場合、スキーマは、すべてのスキーマの整合性を維持するように努めます。
たとえば、DNS サーバー アクティビティ ログはユーザー情報を提供しませんが、エンドポイントからの DNS アクティビティ ログにはユーザー情報が含まれる場合があります。これは、ユーザー エンティティのガイドラインに従って正規化できます。
共通フィールド
一部のフィールドは、すべての ASIM スキーマに共通です。 各スキーマでは、特定のスキーマのコンテキストで一部の共通フィールドを使用するためのガイドラインが追加される場合があります。 たとえば、 EventType フィールドの許可される値は、 EventSchemaVersion フィールドの値と同様に、スキーマごとに異なる場合があります。
フィールド クラス
フィールドには、パーサーによってフィールドを実装する必要があるタイミングを定義する、いくつかのクラスが含まれる場合があります。
- 必須フィールドは 、すべてのパーサーに表示する必要があります。 ソースがこの値の情報を提供しない場合、またはデータを追加できない場合、正規化されたスキーマを参照するほとんどのコンテンツ 項目はサポートされません。
- 使用可能 な場合は、推奨されるフィールドを正規化する必要があります。 ただし、すべてのソースで使用できるわけではありません。 正規化されたスキーマを参照するすべてのコンテンツ アイテムは、可用性を考慮する必要があります。
- 省略可能な フィールド (使用可能な場合) は、正規化するか、元のフォームに残すことができます。 通常、最小限のパーサーでは、パフォーマンス上の理由から正規化されません。
- 条件付き フィールドは、後続のフィールドが設定されている場合は必須です。 通常、条件付きフィールドは、別のフィールドの値を記述するために使用されます。 たとえば、共通フィールド DvcIdType は共通フィールド DvcId の値 int を記述するため、後者が設定されている場合は必須です。
- Alias は条件付きフィールドの特殊な型であり、別名フィールドが設定されている場合は必須です。
イベント エンティティ
イベントは、ユーザー、ホスト、プロセス、ファイルなどのエンティティを中心に展開します。 各エンティティでは、それを記述するために複数のフィールドが必要になる場合があります。 たとえば、ホストに名前と IP アドレスがあるとします。
1 つのレコードに、ソース ホストと宛先ホストの両方など、同じ種類の複数のエンティティが含まれる場合があります。
ASIM はエンティティを一貫して記述する方法を定義し、エンティティはスキーマを拡張できるようにします。
たとえば、ネットワーク セッション スキーマにはプロセス情報は含まれませんが、一部のイベント ソースでは、追加できるプロセス情報が提供されます。 詳細については、「 エンティティ」を参照してください。
エンティティ機能を有効にするには、エンティティ表現に次のガイドラインがあります。
| Guideline | 説明 |
|---|---|
| プレフィックスとエイリアス | 1 つのイベントには、ソースホストや宛先ホストなど、同じ種類の複数のエンティティが含まれることがよくあります。 プレフィックス は、フィールドが関連付けられているエンティティを識別するために使用されます。 正規化を維持するために、ASIM は標準プレフィックスの小さなセットを使用し、エンティティの特定のロールに最も適したプレフィックスを選択します。 型の 1 つのエンティティがイベントに関連する場合は、プレフィックスを使用する必要はありません。 また、プレフィックスのないフィールドのセットは、各型で最も使用されるエンティティにエイリアスを付けます。 |
| 識別子と型 | 正規化されたスキーマを使用すると、各エンティティに対して複数の識別子を使用できます。この識別子はイベント内で共存することが予想されます。 ソース イベントに正規化されたスキーマにマップできない他のエンティティ識別子がある場合は、ソース フォームに保持するか 、AdditionalFields 動的フィールドを使用します。 識別子の型情報を保持するには、該当する場合は、同じ名前とサフィックスが Type のフィールドに型を格納 します。 たとえば、 UserIdType です。 |
| 属性 | 多くの場合、エンティティには識別子として機能しない他の属性があり、記述子で修飾することもできます。 たとえば、ソース ユーザーにドメイン情報がある場合、正規化されたフィールドは SrcUserDomain です。 |
特定のエンティティ型の詳細については、次を参照してください。
完全なエンティティ スキーマの詳細については、次を参照してください。
エイリアス
エイリアスでは、指定した値に対して複数の名前を使用できます。 場合によっては、異なるユーザーがフィールドに異なる名前を付ける必要があります。 たとえば、DNS 用語では、 DnsQuery という名前のフィールドが必要になることがありますが、一般的にはドメイン名を保持します。 別名 Domain は、両方の名前の使用を許可することでユーザーを支援します。
注:
エイリアスは、アナリストが対話型クエリを使用できるようにするためのものです。 カスタム検出、分析ルール、ブックなどの再利用可能なコンテンツでクエリを使用する場合は、エイリアスではなくエイリアスフィールドを使用します。 エイリアス化されたフィールドを使用すると、パフォーマンスが向上し、エラーが少なくなり、クエリの読みやすさが向上します。
場合によっては、イベントで使用できる値に応じて、エイリアスに複数のフィールドの値を指定できます。 たとえば、Dvc エイリアス、エイリアスは DvcFQDN、DvcId、DvcHostname、DvcIpAddr、または Event Product フィールドのいずれかです。 エイリアスに複数の値を指定できる場合、その型は、可能なすべてのエイリアス値に対応する文字列である必要があります。 その結果、このようなエイリアスに値を割り当てる場合は、KQL 関数 tostring を使用して型を文字列に変換してください。
ネイティブ正規化テーブル には、重複するデータ ストレージを意味するエイリアスは含まれません。 代わりに 、スタブ パーサーによって エイリアスが追加されます。 パーサーでエイリアスを実装するには、 extend 演算子を使用して元の値のコピーを作成します。
論理型
各スキーマ フィールドには型があります。 Log Analytics ワークスペースには、データ型のセットが制限されています。 このため、Microsoft Sentinelでは、多くのスキーマ フィールドに論理型が使用されます。これは、Log Analytics では適用されませんが、スキーマの互換性のために必要です。 論理フィールド型を使用すると、値とフィールド名の両方がソース間で一貫性を保ちます。
| データ型 | 物理型 | 形式と値 |
|---|---|---|
| Boolean | ブール | ブール値の数値または文字列表現ではなく、組み込みの KQL bool データ型を使用します。 |
| 列挙 | 文字列 | フィールドに対して明示的に定義された値のリスト。 スキーマ定義には、受け入れられた値が一覧表示されます。 |
| 日付/時刻 | インジェスト方法の機能に応じて、次のいずれかの物理表現を降順で使用します。 - Log Analytics 組み込みの datetime 型 - Log Analytics の datetime 数値表現を使用した整数フィールド。 - Log Analytics の datetime 数値表現を使用した文字列フィールド - サポートされている Log Analytics の日付/時刻形式を格納する文字列フィールド。 |
Log Analytics の日付と時刻の表現 は似ていますが、Unix の時刻表現とは異なります。 詳細については、 変換ガイドラインに関するページを参照してください。 注: 該当する場合は、タイム ゾーンを調整する必要があります。 |
| [MAC アドレス] | 文字列 | Colon-Hexadecimal 表記。 |
| IP アドレス | 文字列 | Microsoft Sentinelスキーマには、個別の IPv4 アドレスと IPv6 アドレスがありません。 IP アドレス フィールドには、次のように IPv4 アドレスまたは IPv6 アドレスが含まれる場合があります。 - ドット 10 進表記の IPv4。 - 8-hextets 表記の IPv6。短い形式が可能です。 例: - IPv4: 192.168.10.10 - IPv6: FEDC:BA98:7654:3210:FEDC:BA98:7654:3210- IPv6 の短い形式: 1080::8:800:200C:417A |
| FQDN | 文字列 | ドット表記を使用した完全修飾ドメイン名 (例: learn.microsoft.com)。 詳細については、「 デバイス エンティティ」を参照してください。 |
| ホスト | 文字列 | FQDN ではないホスト名には、文字、数字、ハイフンを含む最大 63 文字が含まれます。 詳細については、「 デバイス エンティティ」を参照してください。 |
| ドメイン | 文字列 | FQDN のドメイン部分 (ホスト名なし) (たとえば、 learn.microsoft.com)。 詳細については、「 デバイス エンティティ」を参照してください。 |
| DomainType | 列挙 | ドメインと FQDN フィールドに格納されているドメインの種類。 値の一覧と詳細については、「 デバイス エンティティ」を参照してください。 |
| DvcIdType | 列挙 | DvcId フィールドに格納されているデバイス ID の種類。 許可される値の一覧と詳細については、 DvcIdType を参照してください。 |
| DeviceType | 列挙 | DeviceType フィールドに格納されているデバイスの種類。 次の値を指定できます。 - Computer- Mobile Device- IOT Device- Other. 詳細については、「 デバイス エンティティ」を参照してください。 |
| 名 | 文字列 | サポートされている 種類のいずれかで有効なユーザー名。 詳細については、「 ユーザー エンティティ」を参照してください。 |
| UsernameType | 列挙 | ユーザー名フィールドに格納されているユーザー名の種類。 サポートされる値の詳細と一覧については、「 ユーザー エンティティ」を参照してください。 |
| UserIdType | 列挙 | ユーザー ID フィールドに格納されている ID の型。 サポートされる値は、 SID、 UIS、 AADID、 OktaId、 AWSId、および PUIDです。 詳細については、「 ユーザー エンティティ」を参照してください。 |
| UserType | 列挙 | ユーザーの種類。 許可される値の詳細と一覧については、「 ユーザー エンティティ」を参照してください。 |
| AppType | 列挙 | アプリケーションの種類。 サポートされている値の一覧については、「 アプリケーション エンティティ」を参照してください。 |
| 国 | 文字列 | 次の優先順位に従って、 ISO 3166-1 を使用する文字列。 - 米国の USなど、Alpha-2 コード。 - 米国の USAなど、Alpha-3 コード。 - 短い名前。 コードの一覧は、 国際標準機関 (ISO) Web サイトにあります。 |
| Region | 文字列 | ISO 3166-2 を使用した国/地域のサブディビジョン名。 コードの一覧は、 国際標準機関 (ISO) Web サイトにあります。 |
| 市区町村 | 文字列 | |
| Longitude | 倍精度浮動小数点数 | ISO 6709 座標表現 (符号付き 10 進数)。 |
| Latitude | 倍精度浮動小数点数 | ISO 6709 座標表現 (符号付き 10 進数)。 |
| MD5 | 文字列 | 32 桁の 16 進文字。 |
| SHA1 | 文字列 | 40 桁の 16 進文字。 |
| SHA256 | 文字列 | 64 桁の 16 進文字。 |
| Sha512 | 文字列 | 128 桁の 16 進文字。 |
| ConfidenceLevel | 整数 | 0 から 100 の範囲に正規化された信頼度レベル。 |
| RiskLevel | 整数 | 0 から 100 の範囲に正規化されたリスク レベル。 |
| SchemaVersion | 文字列 | 形式の ASIM スキーマ バージョン <major>.<minor>.<sub-minor> |
| DnsQueryClassName | 文字列 | DNS クラス名。 |
| Username | 文字列 | 単純またはドメインで修飾されたユーザー名 |
サンプル エンティティ マッピング
このセクションでは、Windows イベント 4624 を例として使用して、Microsoft Sentinelのイベント データを正規化する方法について説明します。
このイベントには、次のエンティティがあります。
| Microsoft の用語 | 元のイベント フィールド プレフィックス | ASIM フィールド プレフィックス | 説明 |
|---|---|---|---|
| 件名 | Subject |
Actor |
サインインの成功に関する情報を報告したユーザー。 |
| 新しいログオン | Target |
TargetUser |
サインインが実行されたユーザー。 |
| プロセス | - | ActingProcess |
サインインを試行したプロセス。 |
| ネットワーク情報 | - | Src |
サインイン試行が実行されたコンピューター。 |
これらのエンティティに基づいて、 Windows イベント 4624 は次のように正規化されます (一部のフィールドは省略可能です)。
| 正規化されたフィールド | 元のフィールド | 例の値 | 備考 |
|---|---|---|---|
| ActorUserId | SubjectUserSid | S-1-5-18 | |
| ActorUserIdType | - | SID | |
| ActorUserName | SubjectDomainName\ SubjectUserName | WORKGROUP\WIN-GG82ULGC9GO$ | 2 つのフィールドを連結して構築 |
| ActorUserNameType | - | Windows | |
| ActorSessionId | SubjectLogonId | 0x3e7 | |
| TargetUserId | TargetUserSid | S-1-5-21-1377283216-344919071-3415362939-500 | |
| UserId | TargetUserSid | Alias | |
| TargetUserIdType | - | SID | |
| TargetUserName | TargetDomainName\ TargetUserName | Administrator\WIN-GG82ULGC9GO$ | 2 つのフィールドを連結して構築 |
| Username | TargetDomainName\ TargetUserName | Alias | |
| TargetUserNameType | - | Windows | |
| TargetSessionId | TargetLogonId | 0x8dcdc | |
| ActingProcessName | ProcessName | C:\Windows\System32\svchost.exe | |
| ActingProcessId | ProcessId | 0x44c | |
| SrcHostname | WorkstationName | Windows | |
| SrcIpAddr | Ipaddress | 127.0.0.1 | |
| SrcPortNumber | IpPort | 0 | |
| TargetHostname | コンピューター | WIN-GG82ULGC9GO | |
| Hostname | コンピューター | Alias |
次の手順
この記事では、Microsoft Sentinelと ASIM での正規化の概要について説明します。
詳細については、以下を参照してください: