高度なセキュリティ情報モデル (ASIM) ヘルパー関数は、正規化されたデータとの対話やパーサーの記述に役立つ機能を提供する KQL 言語を拡張します。
エンリッチメント検索関数
エンリッチメント検索関数を使用すると、数値表現に基づいて既知の値を簡単に検索できます。 このような関数は、イベントが短い形式の数値コードを使用することがよくありますが、ユーザーはテキスト形式を好むので便利です。 ほとんどの関数には、次の 2 つの形式があります。
参照バージョンは、数値コードを入力として受け取り、テキスト 形式を返すスカラー関数です。
ルックアップ バージョンで次の KQL スニペットを使用します。
| extend ProtocolName = _ASIM_LookupNetworkProtocol (ProtocolNumber)解決バージョンは、次の表形式関数です。
- KQL パイプライン演算子として使用されます。
- 検索する値を保持するフィールドの名前を入力として受け入れます。
- 通常、入力値と結果のルックアップ値の両方を保持する ASIM フィールドを設定します。
解決バージョンで次の KQL スニペットを使用します。
| invoke _ASIM_ResolveNetworkProtocol (`ProtocolNumber`)関数は、検索の結果を ASIM フィールドに自動的に設定します。
ASIM パーサーでは 解決 バージョンを使用することをお勧めしますが、 ルックアップ バージョンは汎用クエリで役立ちます。 エンリッチメント検索関数は、複数の値を返す必要がある場合は、常に 解決 形式を使用します。
スカラー関数と表形式関数 (それぞれ参照バージョンと解決バージョンで表される) の詳細については、Kusto ドキュメントの ユーザー定義関数 に関するページを参照してください。
参照型関数
| 機能 | 入力* | 出力 | 説明 |
|---|---|---|---|
| _ASIM_LookupDnsQueryType | 数値 DNS クエリの種類コード | クエリの種類名 | IANA で定義されているように、数値 DNS リソース レコード (RR) 型を名前に変換します |
| _ASIM_LookupDnsResponseCode | 数値 DNS 応答コード | 応答コード名 | IANA で定義されている数値 DNS 応答コード (RCODE) を名前に変換する |
| _ASIM_LookupICMPType | 数値 ICMP の種類 | ICMP の種類名 | IANA で定義されているように、数値 ICMP 型を名前に変換します |
| _ASIM_LookupNetworkProtocol | IP プロトコル番号 | IP プロトコル名 | IANA で定義されているように、数値 IP プロトコル コードを名前に変換する |
| _ASIM_LookupHTTPStatusCode | HTTP ステータス コード | HTTP 状態コード名 | IANA で定義されているように、数値 HTTP 状態コードを名前に変換します。 また、IIS やその他の Web サーバーで使用される拡張状態コードもサポートされています。 |
| _ASIM_LookupAADcodes | STS エラー コードのMicrosoft Entra ID | エラー カテゴリ | Microsoft Entra ID STS エラー コードを、Logon violates policyやNo such user or passwordなどのエラー カテゴリに変換します。 |
型関数を解決する
解決形式関数は、対応するルックアップと同じアクションを実行しますが、文字列定数として指定されたフィールド名を入力として受け入れ、定義済みのフィールドを出力として設定します。 入力値は、定義済みのフィールドにも割り当てられます。
| 機能 | 拡張フィールド |
|---|---|
| _ASIM_ResolveDnsQueryType |
-
DnsQueryType 入力値の- DnsQueryTypeName 出力値の |
| _ASIM_ResolveDnsResponseCode |
-
DnsResponseCode 入力値の- DnsResponseCodeName 出力値の |
| _ASIM_ResolveICMPType |
-
NetworkIcmpCode 入力値の- NetworkIcmpType ルックアップ値の |
| _ASIM_ResolveNetworkProtocol |
-
NetworkProtocolNumber 入力値の- NetworkProtocol ルックアップ値の |
パーサー ヘルパー関数
次の関数は、パーサーで一般的であり、パーサー開発を加速するのに役立つタスクを実行します。
デバイス解決機能
デバイス解決関数は、ホスト名を分析し、ドメイン情報とドメイン表記の種類を持っているかどうかを判断します。 その後、関数は、デバイスを表す関連する ASIM フィールドを設定します。 すべての関数は型関数を解決し、文字列として表されるホスト名を含むフィールドの名前を入力として受け入れます。
| 機能 | 拡張フィールド | 説明 |
|---|---|---|
| _ASIM_ResolveFQDN | - ExtractedHostname- Domain- DomainType - FQDN |
指定したフィールドの値を分析し、それに応じて出力フィールドを設定します。 詳細については、パーサーの開発に関する記事の 例 を参照してください。 |
| _ASIM_ResolveSrcFQDN | - SrcHostname- SrcDomain- SrcDomainType- SrcFQDN |
_ASIM_ResolveFQDNに似ていますが、Src フィールドを設定します |
| _ASIM_ResolveDstFQDN | - DstHostname- DstDomain- DstDomainType- DstFQDN |
_ASIM_ResolveFQDNに似ていますが、Dst フィールドを設定します |
| _ASIM_ResolveDvcFQDN | - DvcHostname- DvcDomain- DvcDomainType- DvcFQDN |
_ASIM_ResolveFQDNに似ていますが、Dvc フィールドを設定します |
ユーザー型関数
ユーザー型関数は、ユーザー名パターンまたはセキュリティ識別子 (SID) に基づいてユーザーの種類を決定するのに役立ちます。
| 機能 | Input | 出力 | 説明 |
|---|---|---|---|
| _ASIM_GetUsernameType | ユーザー名文字列 | ユーザー名の種類 | ユーザー名の形式に基づいてユーザー名の種類を返します。 使用できる値には、 UPN (電子メールのようなユーザー名の場合)、 Windows (ドメイン\ユーザー形式の場合)、 DN (識別名の場合)、 Simple、ユーザー名が空の場合は空などがあります。 |
| _ASIM_GetWindowsUserType | ユーザー名文字列、SID 文字列 | ユーザーの種類 | ユーザー名とセキュリティ識別子 (SID) に基づいて、Windows システムのユーザーの種類を返します。 使用できる値は、 Admin、 Guest、 Service、 Machine、 System、 Anonymous、 Regular、または Otherです。 |
| _ASIM_GetUserType | ユーザー名文字列、SID 文字列 | ユーザーの種類 | 非推奨。 代わりに _ASIM_GetWindowsUserType を使用します。 ユーザー名と SID に基づいて、Windows システムの UserType を設定します。 |
ソース識別関数
_ASIM_GetSourceBySourceType関数は、SourceBySourceType Watchlist から入力として提供されるソースの種類に関連付けられているソースの一覧を取得します。 関数は、パーサー ライターが使用することを目的としています。 詳細については、「 Watchlist を使用したソースの種類によるフィルター処理」を参照してください。
_ASIM_GetDisabledParsers関数は、ASimDisabledParsersウォッチリストを読み取り、パラメーターとして指定されたパーサーが無効になっているかどうかに基づいて判断します。 この関数は、特定のパーサーの無効化をサポートするために、ASIM パーサーによって内部的に使用されます。
ウォッチリスト関数
ウォッチリスト関数は、ASIM パーサーのウォッチリストを読み取るための最適化されたメソッドを提供します。
| 機能 | Input | 出力 | 説明 |
|---|---|---|---|
| _ASIM_GetWatchlistRaw | Watchlist エイリアス (string)、省略可能なキー (動的配列) | ウォッチリストアイテム | 生形式で 1 つのウォッチリストを読み取ります。 一般的な _GetWatchlist 関数よりもパフォーマンスが高い。 |
| _ASIM_GetWatchlistsRaw | ウォッチリスト エイリアス (動的配列)、省略可能なキー (動的配列) | ウォッチリストアイテム | 生形式で複数のウォッチリストを読み取ります。 主なユース ケースは、同じウォッチリストに対して複数のウォッチリスト名を使用するためのオプションを提供することです。 |
ID エンリッチメント関数
ID エンリッチメント関数は、UEBA IdentityInfo テーブルのユーザー情報を使用してデータをエンリッチするのに役立ちます。
| 機能 | Input | 出力 | 説明 |
|---|---|---|---|
| _ASIM_IdentityInfo | なし | 正規化された IdentityInfo テーブル | IdentityInfo テーブルを重複除去して正規化し、クエリの使いやすさを向上させます。 ASIM で正規化されたフィールド名を持つ重複除去テーブルを返します。 |
| _ASIM_Enrich_IdentityInfo | 入力テーブル、フィールド名パラメーター | エンリッチされたテーブル |
IdentityInfo テーブルのユーザー情報を使用して結果セットをエンリッチします。 パラメーターを使用して、照合に使用するフィールド ( AadIdField、 TenantIdField、 SidField、 UpnField、または EmailField) を指定します。 |
次の手順
この記事では、高度なセキュリティ情報モデル (ASIM) のヘルプ機能について説明します。
詳細については、以下を参照してください: