Files
reverse-skills-max/vendor-new/rev-skills/.claude/skills/re-attribution/references/decision-tree.md

4.1 KiB
Raw Blame History

归因决策树与证据分级

归因是推理链不是查询:每一步都要能回答「这条证据支持/反对哪个假设,强度多少」。本文档与 SKILL.md 步骤 1-4 配套使用。

场景决策树(输入 → 分支)

输入请求
├─ 单 IOC / 单个样本背景 → [[re-ti]](查询即可,不进入归因)
├─ 行为判定「在干什么」→ [[re-behavior]]
├─ 「是不是同一伙」多事件串并 → 归因流程(钻石模型定位)
└─ 「谁干的」组织级归因 → 归因流程 + 置信度分级

归因流程(钻石模型):

四角信息盘点
├─ 仅 1 角(只有样本或只有域名)→ 不出归因结论,输出「情报线索」级
├─ ≥2 角且无独立证据交叉 → 「关联活动」声明(低置信度)
├─ 2 类独立证据交叉 → 「疑似同一活动」(中置信度)
└─ ≥3 类 + 时间线一致 + 无反证 → 「高度疑似归属」(高置信度)

证据收集子分支(每角都走):

证据类型 → 区分「控制」与「共享」
├─ 控制面证据(注册邮箱/证书私钥操作/唯一配置/自研工具)→ 可计强证据
├─ 共享面证据(托管商/跳板/公共 C2 框架/公开工具)→ 仅弱证据,不可独立归因
└─ 时间线(活动窗口/时区校准后对齐)→ 只能佐证,不能独立定案

分支逻辑说明

  • 入口分流:归因请求先问「有没有两角以上」,不足则退回情报级输出(单 IOC 查询归 re-ti),这是防止「一个域名归一个组织」类错误声明的第一道闸
  • 证据独立性:两条证据来自同一条数据链(如同一份 whois 记录里的邮箱与注册者)算一类证据,不交叉;交叉 = 不同来源(whois + 证书透明 + 行为分析)
  • 强证据门槛:唯一性特征(罕见字符串、自研工具、唯一注册信息)才可作强证据;「共用 C2 框架」等商品化特征一律弱证据
  • 时间线只作佐证:时间窗口重叠说明「可能同时活跃」,不说明同一归属(攻击者会复用时段);时间线缺口必须显式标注

证据分级表

证据类型 弱 中 强 归因意义
基础设施 同托管商/同 C2 框架 共用 NS/ASN/证书 唯一注册邮箱/私钥/证书链 强证据可作核心,弱证据只作旁证
能力/样本 同家族通用 TTP 代码片段相似 唯一字符串/编译特征/自研模块 工具是商品化资源,单独不能定案
行为/TTP 同大类技术(ATT&CK 一级) 同技术组合序列 罕见流程顺序+参数习惯 需要叠加其他角才升档
时间线 活跃时段相近 时段重叠+节奏一致 事件序列交错(互为前置) 只能佐证,不能独立定案
反证 一条矛盾证据 多条矛盾证据 结构性矛盾(能力与声明不符) 任何等级都要列出反证

置信度判定流程(组合套路)

  1. 把每条证据按上表标档(弱/中/强)
  2. 合并同类来源(同一数据链只算一次)
  3. 统计独立证据类数(基础设施/能力/行为/时间线)
  4. 对照分级:1 类弱 = 低;2 类交叉或 1 类强 = 中;≥3 类 + 无反证 = 高
  5. 检查反证:有矛盾证据 → 降一级并写进报告「未决项」
  6. 措辞与置信度严格对应(见 gotchas 声明边界)

实现教训(内化)

  • 「控制 vs 共享」是第一判断,不是相似度判断——先问这条证据能不能被第三方买到/租到/偷到,再谈强度
  • 证据要能复现:每条证据标注来源与查询时间(whois 记录会过期,截图存档)
  • 分级结果不是终点:高置信度声明也要写「假设前提」(如「假设该基础设施未被劫持」)
  • 归因输出是概率化陈述,报告里禁用绝对化断言

使用注意

  • 全部在授权范围与脱敏要求内执行(不点名真实组织/受害者,见 SKILL.md 红线)
  • 结论按 re-analyze/analysis-contract 格式交付;对外报告与内部结论分离
  • 本技能结论是情报判断,不是司法证据(标准不同,见 gotchas)