ASIM パーサーを使用する
Microsoft Sentinel では、解析と正規化はクエリ時に行われます。 パーサーは KQL ユーザー定義関数として構築され、CommonSecurityLog、カスタム ログテーブル、Syslog などの既存のテーブルのデータを正規化されたスキーマに変換します。
ユーザーは、クエリでテーブル名の代わりに Advanced Security Information Model (ASIM) パーサーを使用して、正規化された形式でデータを表示し、スキーマに関連するすべてのデータをクエリに含めます。
組み込みの ASIM パーサーとワークスペースにデプロイされたパーサー
多くの ASIM パーサーは、すべての Microsoft Sentinel ワークスペースに組み込まれており、すぐに利用できます。 ASIM では、ARM テンプレートを使用して、または手動で GitHub から特定のワークスペースへのパーサーのデプロイもサポートしています。 すぐに利用できるパーサーとワークスペースにデプロイされたパーサーはどちらも機能的に同等ですが、名前付け規則が若干異なるため、両方のパーサー セットを同じ Microsoft Sentinel ワークスペースに共存させることができます。
どちらの方法にも、他の方法に比べて利点があります。
比較 | 組み込み | ワークスペースにデプロイ |
---|---|---|
利点 | すべての Microsoft Sentinel インスタンスに存在します。 他の組み込みコンテンツと共に使用できます。 | 新しいパーサーは、多くの場合、ワークスペースにデプロイされたパーサーとして最初に配信されます。 |
短所 | ユーザーが直接変更することはできません。 使用可能なパーサーが少なくなります。 | 組み込みコンテンツでは使用されません。 |
使用する場合 | ASIM パーサーが必要なほとんどの場合に使用します。 | 新しいパーサーをデプロイする場合、またはすぐに利用できないパーサーの場合に使用します。 |
組み込みのパーサーを使用できるスキーマには、組み込みのパーサーを使用することをお勧めします。
パーサー階層
ASIM には、統合パーサーとソース固有のパーサーという 2 つのレベルのパーサーが含まれます。 通常、ユーザーは、関連するスキーマに対して統合パーサーを使用して、スキーマに関連するすべてのデータが照会されるようにします。 統合パーサーは、ソース固有のパーサーを呼び出して、実際の解析と正規化を実行します。これは、ソースごとに固有です。
統一パーサーの名前は、組み込みパーサーの場合は _Im_Schema、ワークスペースにデプロイされたパーサーの場合は imSchema です。 Schema は、それが提供する特定のスキーマを表します。 ソース固有のパーサーを個別に使用することもできます。 たとえば、Infoblox 固有のブックでは、vimDnsInfobloxNIOS ソース固有パーサーを使用します。
統一パーサー
クエリで ASIM を使うときは、統一パーサーを使用して、すべてのソースを結合し、同じスキーマに正規化し、正規化されたフィールドを使ってクエリを実行します。
たとえば、次のクエリでは、組み込みの統一 DNS パーサーを使用し、ResponseCodeName、SrcIpAddr、TimeGenerated の正規化フィールドを使って DNS イベントのクエリを実行します。
_Im_Dns(starttime=ago(1d), responsecodename='NXDOMAIN')
| summarize count() by SrcIpAddr, bin(TimeGenerated,15m)
この例では、ASIM のパフォーマンスを向上させる フィルター操作パラメーター を使用しています。 パラメーターをフィルター処理しない同じ例は次のようになります。
_Im_Dns
| where TimeGenerated > ago(1d)
| where ResponseCodeName =~ "NXDOMAIN"
| summarize count() by SrcIpAddr, bin(TimeGenerated,15m)
次の表は、利用可能な統一パーサーの一覧です。
スキーマ | パーサーの統一 |
---|---|
認証 | imAuthentication |
DNS | _Im_Dns |
ファイル イベント | imFileEvent |
ネットワーク セッション | _Im_NetworkSession |
プロセス イベント | imProcessCreate と imProcessTerminate |
レジストリ イベント | imRegistry |
Web セッション | _Im_WebSession |
パラメーターを使用した解析の最適化
パーサーを使用すると、主に解析後の結果のフィルター処理により、クエリのパフォーマンスに影響する可能性があります。 このため、多くのパーサーには省略可能なフィルター パラメーターが含まれています。これにより、解析前にフィルター処理を行い、クエリのパフォーマンスを向上させることができます。 クエリの最適化および事前フィルター処理と共に ASIM パーサーを使うと、多くの場合、正規化をまったく使わない場合と比べてパフォーマンスが向上します。
パーサーを呼び出すときは、ASIM パーサーの最適なパフォーマンスを確保するために、常に 1 つ以上の名前付きパラメーターを追加して、使用可能なフィルター パラメーターを使用します。
各スキーマにはフィルター パラメーターの標準セットがあり、関連するスキーマのドキュメントで説明されています。 フィルター パラメーターは完全に省略可能です。 次のスキーマでは、フィルター パラメーターがサポートされています。
- 認証
- DNS
- ネットワーク セッション
- Web セッション
パラメーターのフィルター処理をサポートするすべてのスキーマは、少なくとも starttime と enttime パラメーターをサポートし、それらを使うことは、多くの場合、パフォーマンスを最適化するために重要です。