tenzir-asim について
tenzir-asimは、Microsoft Sentinel ASIMのテレメトリを扱うセキュリティ分析担当者向けのスキルです。生成されたYAMLを根拠に、スキーマ選択、フィールド、エイリアス、マッピング方法を確認できます。
主な機能
- 01活動やエンティティに応じたASIMスキーマ選択
- 02スキーマのフィールドと論理型の確認
- 03エイリアスと条件の解決
- 04フィールド分類と役割プレフィックスの把握
- 05スキーマに沿ったテレメトリのマッピング
活用シーン
- 01セキュリティイベントに適したASIMスキーマの選択
- 02ソーステレメトリの正規化フィールドへのマッピング
- 03エイリアスの確認と正規フィールドの選択
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tenzir/ skills --skill tenzir-asimインストール後、Claude Code で/tenzir-asimを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
aliases.yamlcatalog.yamlfields.yamldocs/sentinel/normalization-about-schemas.mdnormalization-common-fields.mdnormalization-content.mdnormalization-entity-application.mdnormalization-entity-device.mdnormalization-entity-user.mdnormalization-schema-agent.mdnormalization-schema-alert.mdnormalization-schema-asset.mdnormalization-schema-audit.mdnormalization-schema-authentication.mdnormalization-schema-dhcp.mdnormalization-schema-dns.mdnormalization-schema-file-event.mdnormalization-schema-network.mdnormalization-schema-process-event.mdnormalization-schema-registry-event.mdnormalization-schema-user-management.mdnormalization-schema-web.mdfields/aad_tenant_id.yamlacting_app_id.yamlacting_app_name.yamlacting_app_type.yamlacting_original_app_type.yamlacting_process_command_line.yamlacting_process_creation_time.yamlacting_process_file_company.yaml詳細
Microsoft Sentinel ASIM
Microsoft Sentinel ASIM(Advanced Security Information Model)は、多数の製品からのセキュリティテレメトリを、アナリストが一貫してクエリできるソースに依存しないレコードに正規化します。 このスキルを使って、適切な ASIM スキーマを選択し、正規化されたフィールドを調べ、エイリアスを解決し、フィールドクラスと論理型を説明し、イベントやエンティティを ASIM にマッピングします。
生成された YAML ファイルが、このスキルの正式なリファレンスです。 フィールド、エイリアス、列挙値、スキーマバージョン、条件、またはスキーマの動作が YAML データに記載されていない場合は、ここには記載されていないと伝えてください。 source.md は、要求された Microsoft Defender Docs の参照と raw Markdown のコピーについて、最終的な出典確認にのみ使用してください。
ASIM の構成
ASIM はスキーマを中心に構成されています。
スキーマは、ある種類のアクティビティまたはエンティティについて、バージョン、ステータス、フィールドセットを定めた名前付きの契約です。
イベントスキーマは、DNS、認証、ネットワーク、プロセス、レジストリ、ファイル、監査、アラート、Web、DHCP、エージェント、ユーザー管理などのイベントレコードを記述します。
エンティティスキーマは、AssetEntity のような単独のエンティティレコードを記述します。
正規化されたイベントレコードでは EventSchema と EventSchemaVersion で契約を識別し、エンティティレコードでは EntitySchema と EntitySchemaVersion を使用します。
フィールドは単なる名前ではなく、スキーマごとに定められた契約です。同じフィールドが複数のスキーマに登場し、クラス、許可される値、条件、または例が異なる場合があります。
共通フィールドは、時刻、製品、結果、重大度、スキーマ、レポート元デバイスの詳細など、イベントまたはエンティティに共通するメタデータを表します。
エンティティフィールドは、イベントの参加者を表します。ASIM では、参加者を区別するために Src、Dst、Actor、Target、Acting、Dvc などのロールプレフィックスを使用します。
論理型は、基盤となる Log Analytics の物理型がより具体的でない場合でも、値に対する ASIM の互換性契約を定義します。
フィールドクラスは、マッピングの優先度と必須レベルを示します。Mandatory、Recommended、Conditional、Optional、または Alias です。
エイリアスはクエリを使いやすくするための名前で、1 つ以上の正規フィールドを参照します。データのマッピングや、再利用可能な検出、ルール、ブックの作成では、正規の参照先フィールドを優先してください。
value にはスキーマ定数が、allowed_values には正規化された列挙値が、required_if には条件付きフィールドが必須となる条件が記載されます。
ASIM にソース固有の詳細に対応するフィールドがない場合は、その値を元のフィールドまたは AdditionalFields に保持してください。
マッピングを行うときは、まずアクティビティまたはエンティティの意味に基づいてスキーマを選び、そのスキーマファイルを正式なリファレンスとして扱ってください。 スキーマをまたいだフィールドの情報が必要な場合に限り、フィールドファイルを使用してください。
データファイル
- catalog.yaml を使ってスキーマを選択し、スキーマデータファイルを見つけます。
schemas/<schema>.yamlを使って、テレメトリを 1 つの ASIM スキーマにマッピングします。- fields.yaml は、フィールド名とフィールドファイルの対応を示すマニフェストとして直接使用します。
fields/<field>.yamlを使って、複数のスキーマにわたるフィールドの意味を確認します。- aliases.yaml を使って、エイリアスフィールドと条件付きエイリアスルールを解決します。
マッピングルール
- アクティビティまたはエンティティの意味から始め、catalog.yamlでASIMスキーマを選択してから、スキーマファイルを読み込みます。
- まず
Mandatoryフィールドと有用なRecommendedフィールドを設定し、その後、情報源に有用なコンテキストが含まれている場合はOptionalフィールドを追加します。 - フィールドレコードの
required_if条件が適用される場合は、Conditionalフィールドを設定します。 - 再利用可能な検出、分析ルール、ブック、マッピングでは、エイリアスより正規化された標準フィールドを優先します。
- Microsoftが文書化しているクエリの利便性を説明するにはエイリアスを使用しますが、マッピングする前にaliases.yamlを使って解決します。
- ASIMに直接対応する正規化フィールドがない場合は、情報源固有の値を元のフィールドまたは
AdditionalFieldsに保持します。 - スキーマで値フィールドと型フィールドの両方が定義されている場合、識別子の形式が分かっていれば型フィールドを設定します。
role: commonのフィールドは共有イベント/エンティティメタデータとして扱いますが、スキーマ固有のvalue、allowed_values、required_ifレコードに従ってください。
フィールドクラス
| クラス | 意味 |
|---|---|
Mandatory | そのスキーマの正規化レコードに設定します。 |
Recommended | 分析上の価値を高めるため、情報源から十分な情報が得られる場合に設定します。 |
Conditional | フィールドレコードの条件が適用される場合に設定します。 |
Optional | 情報源から有用なコンテキストが得られる場合に設定します。 |
Alias | クエリの利便性を高めるフィールドです。再利用可能なコンテンツでは、対応する標準フィールドを優先します。 |
ロールの接頭辞
| 接頭辞 | ロール |
|---|---|
Src | アクティビティを開始するソースシステム、ID、またはアプリケーション。 |
Dst | アクティビティの対象となる宛先システム、ID、またはアプリケーション。 |
Actor | 操作を実行するユーザーまたはID。 |
Target | 操作の影響を受けるユーザー、システム、オブジェクト、またはアプリケーション。 |
Acting | アクターに代わって動作するプロセスまたはアプリケーション。 |
Dvc | 選択したスキーマでより具体的なロールが定義されていない限り、レポートを送信するデバイスまたはコレクター。 |
質問の振り分け
| 質問のパターン | 参照先 |
|---|---|
| このイベントまたはエンティティは、どのASIMスキーマにマッピングすればよいですか? | catalog.yaml、次に選択したスキーマファイル |
| スキーマXにはどのフィールドが含まれていますか? | schemas/<schema>.yaml |
| フィールドXの意味は何ですか? | fields.yaml、次にfields/<field>.yaml |
| エイリアスにはどのフィールドを使用すればよいですか? | aliases.yaml、次に対象フィールドのファイル |
| ユーザー/デバイス/アプリケーションのロールはどのようにマッピングしますか? | 上記のロール接頭辞テーブル、次に選択したスキーマファイル |
| このデータの元になったMicrosoftの生データソースは何ですか? | source.md |
出所、指定されたMicrosoft Defender Docsの参照先、および生データソースのコピーについては、最後の参照先としてsource.mdを使用してください。