关于 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(高级安全信息模型)将多个产品的安全遥测数据规范化为与来源无关的记录,供分析人员以一致的方式查询。 使用此技能可选择合适的 ASIM 架构、检查规范化字段、解析别名、说明字段类别和逻辑类型,并将事件或实体映射到 ASIM。
生成的 YAML 文件是此技能的权威参考。 如果 YAML 数据中没有某个字段、别名、枚举值、架构版本、条件或架构行为,请说明此处未对此进行记录。 仅将 source.md 用作所请求的 Microsoft Defender Docs ref 和原始 Markdown 副本的最终来源依据。
ASIM 的组成方式
ASIM 以架构为组织单位。
架构是针对某类活动或实体的命名契约,包含版本、状态和字段集。
事件架构描述活动记录,例如 DNS、身份验证、网络、进程、注册表、文件、审核、警报、Web、DHCP、Agent 和用户管理事件。
实体架构描述独立的实体记录,例如 AssetEntity。
规范化事件记录使用 EventSchema 和 EventSchemaVersion 标识其契约;实体记录则使用 EntitySchema 和 EntitySchemaVersion。
字段是限定于架构的契约,而不仅仅是名称。同一字段可出现在多个架构中,并具有不同的类别、允许值、条件或示例。
通用字段描述共享的事件或实体元数据,例如时间、产品、结果、严重性、架构和报告设备详细信息。
实体字段描述事件中的参与方。ASIM 使用 Src、Dst、Actor、Target、Acting 和 Dvc 等角色前缀来区分这些参与方。
即使底层 Log Analytics 物理类型不够具体,逻辑类型仍定义了 ASIM 对值的兼容性契约。
字段类别描述映射优先级和要求级别:Mandatory、Recommended、Conditional、Optional 或 Alias。
别名是为了方便查询而设的名称,指向一个或多个规范字段;映射数据或编写可复用的检测、规则和工作簿时,优先使用规范目标字段。
value 记录文档化的架构常量,allowed_values 记录文档化的规范化枚举值,required_if 记录条件字段何时为必填项。
如果 ASIM 没有直接对应来源特定详细信息的字段,请将值保留在原字段中,或放入 AdditionalFields。
进行映射时,请从活动或实体的语义入手,选择架构,并将该架构文件视为权威来源。 只有在需要跨架构查看某个字段时,才使用字段文件。
数据文件
- 使用 catalog.yaml 选择架构并查找架构数据文件。
- 使用
schemas/<schema>.yaml将遥测数据映射到单个 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 | 发起活动的源系统、身份或应用程序。 |
Dst | 活动所指向的目标系统、身份或应用程序。 |
Actor | 执行操作的用户或身份。 |
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 作为最终依据。