01 · 为什么用图:STIX本身就是图模型
选择图模型不是技术偏好,而是数据结构决定的:威胁情报的主体是实体及其关系,而关系型数据库的JOIN在多层关系遍历下代价极高,图数据库则天然为"多跳"遍历设计。更关键的是,STIX 2.1标准本身就是图结构:它以19种领域对象(SDO,如Threat Actor、Intrusion Set、Campaign、Malware、Infrastructure、Indicator、Report、Vulnerability、Tool、Attack Pattern、Identity、Location、Incident、Grouping、Opinion等)表达威胁概念,以18种网络可观测对象(SCO,如Domain Name、IPv4/IPv6地址、URL、File、X.509 Certificate、Email Message、User Account等)表达技术证据,以2种关系对象(SRO:Relationship与Sighting)表达实体间关系(Incident对象系STIX 2.1相对2.0版本的新增对象,专用于事件建模)——遵循STIX建模,图数据库就是顺其自然的落地方案。
三类节点与两类边的分工:SDO回答"谁、为什么、干了什么"(概念层);SCO回答"看到了什么技术痕迹"(证据层);SRO-R(Relationship)表达"使用、针对、归因于"等语义关系;SRO-Sighting(目击)表达"某组织实际观测到某指标"——Sighting是连接情报与防御的桥:它记录指标在真实环境中的出现,是情报有效性的直接证据。
学术界已有将真实威胁报告批量转化为STIX 2.1图的研究实践:2026年发表的公开数据集研究将150份英文CTI报告人工构建为STIX 2.1有向异构图,含4,777个节点、5,817条关系边,并将攻击行为映射至ATT&CK企业矩阵(1,273条映射覆盖269个技术编号与全部15个战术)——这证明"报告→STIX图"的流水线不仅可行,而且已被用于训练与分析研究。
02 · 图谱模式设计
模式(Schema)设计决定图谱"能回答什么问题"。本课题基于STIX 2.1规范中的关系动词设计核心模式:
| 源实体 | 关系 | 目标实体 |
|---|---|---|
| 攻击活动 Campaign | attributed-to | 入侵组织 Intrusion Set(攻击活动的战术归因) |
| 入侵组织 Intrusion Set | attributed-to | 威胁行为者 Threat Actor(组织向具体行为体的归因,标注证据强度) |
| 组织/活动 | uses | 恶意软件 Malware / 工具 Tool / 攻击技术 Attack Pattern |
| 组织/恶意软件 | targets | 目标 Identity(行业、机构、地区) |
| 恶意软件/组织 | communicates-with / hosts | 基础设施 Infrastructure |
| 域名 Domain | resolves-to | IPv4/IPv6地址 |
| 指标 Indicator | indicates | 恶意软件 / 攻击活动(指标的语义指向) |
| 组织/基础设施 | located-at | 地理位置 Location(按公开数据,粒度到国家/城市即止) |
| 基础设施 | related-to | 基础设施(第2页"疑似关联"边的落点,带置信度) |
设计纪律:①关系必须出自STIX 2.1规范定义的关系动词,自定义关系会导致跨平台交换时语义丢失;②每条归因边必须携带证据描述与置信度(STIX Relationship的description与confidence属性);③SOC内部产生的Sighting应回流图谱,形成"情报消费→目击确认→置信度修正"的闭环。
03 · 存储与平台选型
| 平台 | 定位 | 优势 | 局限 |
|---|---|---|---|
| OpenCTI | 开源威胁情报平台(Filigran公司主导),STIX 2.1原生 | 数据模型即STIX;GraphQL API完善;内置实体合并、关系管理、Sighting跟踪与可视化;社区活跃 | 平台功能重,二次定制需遵循其架构;大规模部署需规划数据分层 |
| Neo4j | 通用图数据库,Cypher查询语言 | 模式完全自主设计;Cypher多跳查询表达力强;生态成熟(驱动、工具齐全) | 威胁情报的一切(STIX映射、合并逻辑、界面)需自行建设,投入大 |
| MISP | 开源威胁情报共享平台 | 事件/属性/对象/对象引用体系与STIX互转;社区共享生态最广泛 | 以"事件"为中心而非"实体"为中心,跨事件实体级关联查询非其强项 |
本课题选型建议:以OpenCTI为主体承载实体级图谱与关联分析,MISP作为共享交换通道(经STIX 2.x互转对接伙伴生态);需要完全定制流水线或已有Neo4j技术栈的组织,可选择Neo4j自建——两种路线的图谱模式设计原则相同,本课题的产出对两者均适用。
04 · 构建流水线
4.1 实体类型构成(教学示意)
05 · 多跳关联查询:从"一个域名"到"一张网络"
图查询的核心价值在于多跳遍历。典型分析路径:一个钓鱼域名 → 解析到的IP → 同IP的其他域名 → 这些域名的证书 → 证书签发的全部域名。这种三跳以内的遍历在关系型数据库中需要多次JOIN且难以控制深度,在图数据库中则是一条查询(以下为Neo4j Cypher示意语法):
MATCH (d:Domain)-[:RESOLVES_TO]->(ip:IPv4)<-[r:RESOLVES_TO]-(d2:Domain) WHERE d.value = "suspicious.example" RETURN d2.value AS related_domain, count(*) AS co_occurrences ORDER BY co_occurrences DESC
注:以上为Cypher查询语言的通用语法示例(标签与关系名为自定义示意),不构成对具体部署的命令。
- 共同邻居分析:两个组织共享的基础设施越多,其关联越强;为"疑似关联"边提供量化依据。
- 路径查询:回答"这个样本与这个域名之间是否存在通路",支撑攻击链还原(第4页)。
- 子图抽取:围绕单个组织/活动抽取其 ego-network(自我网络)用于研判与报告。
VirusTotal Enterprise的图形化关联分析与urlscan.io的相似检索,是这种多跳思路的商业/开源产品化形态;本课题的思路是在自有数据上复现同等能力,保证敏感数据不出域。
06 · 社区发现与聚类:找到"集群"
攻击基础设施天然呈集群形态(同一运营者批量注册域名、租赁同段IP)。社区发现算法在无监督条件下识别图中的稠密子结构:
| 算法 | 出处 | 原理 | 特点 |
|---|---|---|---|
| Louvain | Blondel等,《Fast unfolding of communities in large networks》,2008年 | 贪心优化模块度(modularity):不断将节点移动到使模块度增益最大的社区,再聚合为超级节点迭代 | 速度快、适合大规模图;已知缺陷是可能产生内部不连通的社区 |
| Leiden | Traag、Waltman、van Eck,《From Louvain to Leiden: guaranteeing well-connected communities》,Nature Communications,2019年 | Louvain的改进:社区聚合前先细化分裂,保证输出社区内部良好连通 | 质量更优且速度相当,已成为社区发现的首选基线之一 |
| 标签传播 LPA | Raghavan等,Physical Review E,2007年 | 节点迭代采纳邻居中最多的社区标签,近线性时间复杂度 | 极快、无需预设社区数;结果不稳定(随机性大),适合做粗筛 |
在威胁情报中的应用:对"域名—IP—证书"二分/多重图运行社区发现,输出基础设施集群;集群与已知组织的归属关系为活动重构(第4页)提供先验;新增IOC落入哪个集群,直接决定其初步处置优先级。
07 · 时空关联分析
- 时间线分析:同一集群内域名/证书的注册时间若高度集中(分钟级批量),指向自动化批量运营;集群的时间演化(新增—活跃—弃用节奏)可刻画运营者的资源周转模式。
- 地理与网络维度:基础设施的ASN、地理位置(基于公开IP地理库,精度有限需声明)分布可提示运营者偏好(如云服务商、注册商选择),作为归因的弱特征使用。
- 时序共现:被动DNS时间序列上长期共现的域名/IP,关联强度显著高于瞬时共现(承接第2页被动DNS特征)。
08 · ATT&CK映射增强:用TTP相似性弥补基础设施易变性
基础设施会变(域名弃用、IP更换),但攻击者的行为模式(TTP)相对稳定——这正是MITRE ATT&CK框架的价值。将活动/组织关联的战术技术映射为ATT&CK企业矩阵的技术编号向量(Txxxx),计算两个实体的技术向量相似度(如Jaccard系数),可在基础设施零重叠的情况下仍识别出"手法同源"的可疑关联。
实际研究中,将CTI报告映射到ATT&CK通常需人工或半自动完成(识别报告中的行为描述并匹配技术条目);前述2026年公开数据集(150份报告、1,273条映射)即为该方向的参考实践。本课题建议在分析师研判流程中强制嵌入ATT&CK标注步骤,使每一轮人工分析都沉淀为可计算的技术向量。
09 · 案例推演(教学示意)
示例声明:以下推演中的域名、IP、证书、组织名均为虚构,仅用于演示关联分析流程,不指向任何真实实体。
场景:监控发现新注册域名"secure-verify.example"(教学虚构)。三步关联:
- 第一跳:该域名解析至198.51.100.23;同IP解析着另外9个域名,其中3个已在已知钓鱼集群K-07中。
- 第二跳:该域名证书SAN另列2个域名;证书公钥与集群K-07某历史证书相同。
- 第三跳:对"域名—IP—证书"图运行Leiden社区发现,新域名与K-07同社区,且K-07已映射的ATT&CK技术(如T1566钓鱼、T1078有效账户)与该域名的页面行为证据一致。
产出:新域名自动并入集群K-07,继承其综合置信度与处置策略(封禁+同源排查),分析师收到"新增成员"通知而非"新事件"告警——这体现了融合关联对告警降噪的量化价值。
10 · 图谱数据质量保障:模式校验与数据契约
图谱的价值上限由数据质量决定。本课题建立三道入图门禁:
- 语法校验:全部STIX对象先经OASIS官方JSON Schema校验(STIX 2.1规范附录提供机器可读的schema文件),必填字段缺失、类型不符的对象直接拒收进死信队列。
- 语义校验:关系动词必须属于STIX 2.1规范定义的关系集合(如uses/targets/attributed-to/indicates),且"源类型—关系—目标类型"必须符合规范约束的三元组表——例如"Indicator indicates Malware"合法,而"Domain indicates Malware"不是规范关系,应改写为经由Observed Data的证据链。
- 数据契约:每个上游数据源定义一份契约(字段、格式、更新频率、TLP标签的强制要求),契约测试(contract testing)纳入流水线——上游变更违反契约时自动阻断接入并告警,防止单源格式漂移污染全图。
质量指标看板:入图拒绝率(按源分组)、必填字段完整度、关系动词合规率、Sighting回流延迟分布——四个指标纳入月度源审计(与第5页源治理体系打通),使"数据质量"从口号变为可度量、可归因的责任项。
11 · 图表示学习与关联预测(研究前沿,非工程依赖)
知识图谱嵌入(TransE,Bordes等,NIPS 2013)与图神经网络(GCN,Kipf与Welling,ICLR 2017;图注意力网络GAT,Veličković等,ICLR 2018)为"预测缺失关系"提供了新范式:在威胁图谱上训练嵌入模型,可对"某域名与已知组织之间是否存在尚未发现的归属关系"给出排序候选。学术界已有多篇将GNN应用于恶意域名检测与攻击组织归因的探索性研究。
本课题的克制立场:①嵌入模型的可解释性弱于显式规则,其预测只能作为"候选线索"进入人工研判队列,不能自动落图;②嵌入训练依赖的标注归因本身稀缺且有争议(第1页合规声明),垃圾进则垃圾出;③图规模与更新频率对训练流水线提出额外工程要求。因此本课题将图表示学习列为跟踪研究项,在年度报告"展望"中评估其成熟度后再决定是否纳入工程路线——这是"对新技术保持开放、对生产系统保持保守"原则的体现。
12 · 面向分析师的图谱可视化交互设计
- 三视图并行:全局结构视图(力导向布局,看社区簇)/ego-network视图(以选定实体为中心展开指定跳数)/时间轴视图(按首次观测时间排布,看活动演进)——单一视图无法同时回答"什么结构""和谁相连""何时发生"三类问题。
- 置信度视觉编码:边与节点的颜色/虚线样式编码置信度与争议状态(红色实线=高置信归属,灰色虚线=疑似关联),让"证据强度"成为第一视觉要素,防止低置信关联被误读为事实。
- 取证导出:任意子图可导出为含来源标注的取证报告(PNG+可机读JSON双格式),报告自动生成证据链清单(每边对应的外部引用与Sighting统计)——分析师的每次研判产出都是可审计载体。
- 性能护栏:单视图渲染节点数设上限(如500节点,超出时按社区折叠为超节点),防止全量渲染造成交互卡顿;深度遍历查询强制跳数与超时限制(与第6页§2.2一致)。
13 · 置信度标度规范:从STIX字段到分析语言
融合流水线的每个环节都在产出“置信度”,若标度本身不统一,融合引擎的输入就是不可比的。本课题规定三层标度纪律:
- 机器层——STIX 2.1置信度词表:STIX 2.1规范为confidence属性定义了官方词表:Not Specified / None / Low / Medium / High(见规范附录A置信度词汇表)。所有入库对象必须显式填写,禁止用来源方自定义的“高危/紧急”等标签直接映射而不留转换记录。
- 平台层——OpenCTI 0—100数值标度:OpenCTI将上述词表映射为0—100数值,并支持可配置的置信度标度(内置Admiralty Scale六档:A1—F6)。组织内应固定一种平台标度并文档化映射表,避免同一分析师在不同界面对同一证据给出不可比评分。
- 语言层——估计性语言规范:面向人的情报产品使用结构化概率语言。通行参照是FBI《Words of Estimative Probability》的校准表(“Almost No Chance”≈0—5%……“Almost Certain”≈95—100%)以及Sherman Kent提出的WEP词表传统;FIRST社区亦有公开的分析置信度培训材料。第4页§12的不确定性沟通模板即以此为基础。
映射纪律:不同厂商报告中的“高置信度”未必等值——有的厂商以遥测命中率为基础,有的以分析师判断为基础。融合引擎消费外部置信度前,必须先经“源档案”(第5页§1.1)中登记的标度说明做归一化映射,并在审计日志中保留原始值与映射结果。
本节参考来源(第3页)
以下均为真实可查来源;学术论文仅列标题与出处,不给出来源不明的链接。
OASIS《STIX Version 2.1》官方规范(SDO/SRO/SCO对象与关系动词定义):docs.oasis-open.org/cti/stix/v2.1/os/stix-v2.1-os.html
Das等(孟加拉国达卡大学信息技术学院、美国阿拉巴马大学团队),《A Structured Cyber Threat Intelligence Dataset Using STIX 2.1 Entities and MITRE ATT&CK Mappings》,arXiv:2607.23312(2026,150份报告构建STIX图数据集,4,777节点/5,817边/1,273条ATT&CK映射):arxiv.org/abs/2607.23312
OpenCTI开源平台:filigran.io/solutions/opencti/;代码库 github.com/OpenCTI-Platform/opencti
Neo4j图数据库与Cypher查询语言官方文档:neo4j.com/docs/cypher-manual
Blondel, Guillaume, Lambiotte, Lefebvre,《Fast unfolding of communities in large networks》,Journal of Statistical Mechanics: Theory and Experiment, P10008(2008)。
Traag, Waltman, van Eck,《From Louvain to Leiden: guaranteeing well-connected communities》,Nature Communications 10, 5233(2019)。
Raghavan, Albert, Kumara,《Near linear time algorithm to detect community structures in large-scale networks》,Physical Review E 76, 036106(2007)。
MITRE ATT&CK企业矩阵:attack.mitre.org;MISP平台:misp-project.org;VirusTotal:virustotal.com;urlscan.io:urlscan.io
OASIS STIX 2.1规范附录A(confidence置信度词表):docs.oasis-open.org;OpenCTI置信度标度文档(含Admiralty Scale等可配置标度):docs.opencti.io
FBI《Words of Estimative Probability》(美国情报界估计性语言校准表,公开培训材料);Sherman Kent, Words of Estimative Probability, Studies in Intelligence (1964)(WEP词表原始文献)。