3.2 KiB
3.2 KiB
归因方法论坑与边界
基础设施误归因
- 共享 ≠ 控制:C2 域名/服务器常被出售、出租、二次利用——「同一 C2 域名」只能说明使用过同一资源,不能说明同一组织;判断标准是注册信息/控制面痕迹(whois 邮箱、证书私钥、管理后台特征),不是 IP 或域名本身
- 被劫持基础设施:已退役或失守的服务器可能被多个活动方复用;若无法证明控制时间窗,证据只能计弱
- 托管商聚集:同一机房/托管商聚集大量恶意活动是常态,不能作为关联证据(同 NS/ASN 可作弱证据,且必须叠加其他角)
- Passive DNS 数据时效:解析历史可能被缓存/污染,查询时点不同结果不同;取证性结论要标注查询时间与数据源
能力/样本证据坑
- 工具是商品化资源:公开工具、框架、租赁服务任何人都能获得——「使用了某框架/公开工具」不能归因;只有自研/定制特征(独特字符串、私有协议实现细节)有区分度
- 代码相似 ≠ 同源:抄代码、借用开源项目、代码生成器都会产生相似;相似度阈值要按「唯一性内容占比」校准,不是整体相似度
- 语言/伪装误导:攻击者会故意使用其他语言/地区的字符串与习惯伪装归属(false flag)——单一语言特征只能作弱证据
- 编译特征变化:同一团队的构建链会变(编译器/打包方式升级),特征缺失不代表不同源;反过来说特征吻合也可能只是「同一构建工具」而非「同一团队」
时间线与反取证
- 时间戳伪造:文件时间/日志时间可被改写;多时间来源(文件、日志、流量、第三方被动数据)交叉验证
- 时区与时钟偏差:跨时区/时钟未校准的设备产生的时间要先归一(统一 UTC)再对齐,否则「活动窗口重叠」是假象
- 活动缺口 ≠ 活动结束:攻击者切换基础设施/隐藏期是常态,时间线缺口要标注「未观察到」而非「不存在」
归因声明边界与反例
- 情报归因 ≠ 司法归因:情报结论(概率化、分级)不满足刑事证据标准(排除合理怀疑、链式保管)——本技能输出是情报判断,移交司法场景要注明局限
- 「无法归因」是合法结论:证据不足时输出「关联活动」与证据清单,比强行归因更专业;声明「无法判定」并给出原因(缺角/反证/数据盲区)
- 组织命名本身会误导:公开标签(媒体起的代号)可能与实际归属无关;报告用可检验的描述(时间线+TTP+基础设施特征),少依赖标签
- 反例:仅凭「同一域名后缀」归因(域名后缀可注册);仅凭「同一样本家族名」归因(家族名是分析人员起的,不是归属证据)
使用注意
- 授权与脱敏红线贯穿全程:不点名真实组织/受害者,案例化描述用代号
- 每步产物存档(whois/证书/图输出,路径 + 查询时间 + sha256,见 re-triage)
- 结论按 re-analyze/analysis-contract 交付;对外口径与内部结论分离
- 证据时效:whois/证书数据会过期,报告标注「截至查询时点」