本文介绍了一种将网络威胁情报报告中的失陷指标(如文件路径、注册表项和命令行指标)转换为安全信息与事件管理(SIEM)检测规则中可验证的正则表达式的方法,该方法结合了大语言模型(LLM)的集成提取与图辅助的组件标注技术。
需要JoVE订阅才能观看此内容。 请登录或开始免费试用
本文介绍了一种将网络威胁情报报告中的失陷指标(如文件路径、注册表项和命令行指标)转换为安全信息与事件管理(SIEM)检测规则中可验证的正则表达式的方法,该方法结合了大语言模型(LLM)的集成提取与图辅助的组件标注技术。
安全运营中心(SOC)通常会将网络威胁情报(CTI)报告转化为可操作的检测内容。在此工作流程中,一个长期存在的瓶颈是将提取的失陷指标(IOCs),特别是文件路径、注册表项和命令行字符串,转化为适用于嵌入安全信息与事件管理(SIEM)关联规则的可部署正则表达式(regexes)。尽管已有研究在自动化失陷指标(IOC)提取方面取得进展,但将提取出的字符串转化为经过验证的正则表达式模式仍主要依赖人工操作,需要专业知识,且容易出错。本方案旨在提供一种标准化、可重复的 IOC 到正则表达式的转换流程。该工作流程包含五个阶段:(1)将异构的 CTI 报告解析为统一的 Markdown 表示形式;(2)使用多个大语言模型(LLMs)进行 IOC 提取,并通过共识投票机制提高准确性;(3)基于规则对提取出的 IOC 进行归一化、分类和去重;(4)借助图结构辅助标注 IOC 组成部分,标记为保留(捕获组)或丢弃(非捕获组);(5)基于原始 IOC 字符串进行迭代式正则表达式生成,并进行诊断性验证。为评估其实用性,该流程应用于 3,156 份 CTI 报告,生成的正则表达式在来自十项 MITRE 对抗性战术、技术与通用知识(ATT&CK)评估场景的 2,400 多个独立收集的真实字符串上进行了测试,平均命中率达到 99.1%,跨 IOC 平均误匹配率为 0.8%。因此,本方案记录了一种可重复实现的 IOC 到正则表达式转换方法,并明确界定了其当前适用范围、运行假设以及已知的失效情况。
网络犯罪持续给公共和私营部门的各类组织带来巨大的运营和财务负担。2023年,美国因网络犯罪造成的报告损失超过125亿美元1,凸显了恶意活动的规模和持续性。在此背景下,安全运营中心(Security Operations Centers, SOCs)作为主要的运营单位,负责实时检测、分析和响应安全威胁。
在许多SOC工作流程中,检测逻辑通过安全信息与事件管理(Security Information and Event Management, SIEM)平台中的基于规则的机制实现,这类机制因其可解释性、确定性以及与现有SOC工作流程的兼容性而被广泛采用。在各类规则中,基于关联的SIEM规则对于识别跨越多个事件、主机和时间窗口的攻击行为尤为重要。在这些规则中,正则表达式(regular expressions, regexes)充当可复用的搜索基本单元:分析人员将其嵌入更广泛的检测规则中,以添加字段约束、平台特定的过滤器和事件关联逻辑,而非将其作为独立的检测器直接部署。
在实际操作中,安全运营中心(SOC)分析师通常从安全厂商、独立研究人员或公开知识库(如 MITRE 对抗战术、技术与常识(ATT&CK))发布的网络威胁情报(CTI)报告中提取的失陷指标(IOCs)开始规则开发2。这些 IOC 字符串可能包括在攻击过程中观察到的文件路径、命令行片段、注册表项或其他结构化攻击产物3。将此类字符串转换为适用于 SIEM 关联规则的正则表达式(regex)模式,是规则编写工作流程中常见的任务。
这一翻译步骤是一个实际的操作瓶颈。编写正则表达式模式需要具备专业技能,这些模式既要具有足够的通用性以捕捉有意义的变异,又要足够精确以避免意外匹配;在语法上的微小错误,或关于哪些组件应保留或泛化的错误决策,都可能导致原本有效的检测规则失效。由于这项工作是手动、重复且注重细节的,可能会延迟对新兴威胁的检测部署,需要更有经验的分析人员进行审查,并增加在实际安全运营中心(SOC)环境中分析人员的工作负担4,5。
在IOC转正则表达式的过程中,核心挑战在于判断IOC的哪些部分编码了稳定的、与攻击者行为相关的信息,因而应予以保留;而哪些部分反映了环境或主机特有的变化,应进行泛化处理。例如,像HKEY_CLASSES_ROOT\CLSID这样的标准注册表根键、System32等系统目录,以及rundll32.exe等已知的可执行文件名,通常需要明确保留;而用户配置路径、主机特定的安全标识符(SIDs)以及全局唯一标识符(GUIDs)则通常应被抽象化。在不同类型的IOC中一致地实现这种区分,正是该翻译任务复杂性的所在。在本实验方案中,我们将前者称为保留项或捕获组组件,后者称为抽象项或非捕获组组件。
先前的研究已探索利用自然语言处理和实体抽取技术从非结构化文本中自动提取威胁情报6,7。最近,一些研究进一步探讨了使用大语言模型(LLMs)直接从网络威胁情报(CTI)报告中生成检测规则8。这些方法表明,语言模型可在一定程度上辅助规则编写工作流程,但通常并未聚焦于生成保留捕获组语义且适用于下游SIEM部署的正则表达式(regex)模式这一具体操作问题。其他相关研究则以不同方式对CTI内容进行结构化处理,以支持下游应用,包括基于知识图谱的表示方法(如TINKER9)以及由CTI驱动生成日志搜索查询的工作(如ThreatRaptor10),这些方法将非结构化的CTI转换为结构化知识或特定领域的查询语言,而非用于嵌入SIEM关联规则中的正则表达式模式。
与此同时,以往的研究已探索了使用基于示例的方法、神经机器翻译以及生成-修复方法来实现自动正则表达式合成11,12,13,14,15,16。然而,这些方法通常针对依赖大量代表性示例或自然语言描述的场景而设计,而不适用于以情报线索(IOC)驱动的检测环境。在安全运营中心(SOC)工作流程中,IOC 字符串通常稀疏、结构异构,且与操作语义紧密相关。这种不匹配性促使我们构建一种专门针对 IOC 到正则表达式转换的工作流程,而非断言现有的正则表达式生成方法普遍存在不足。
本文所述方案专门针对 SOC 检测工作流程中的 IOC 到正则表达式(regex)转换阶段。IOC 提取被视为上游输入,其来源可能是人工分析、自动化工具,或两者的结合;本方案并不试图生成完整的 SIEM 规则。相反,它提供了一套系统化流程,用于将 IOC 字符串转换为语法正确、语义可解释且适用于实际部署的正则表达式模式。当前的 IOC 范围是经过审慎选择的:文件路径、注册表项和命令行指示符既包含稳定的结构成分,也包含可变部分,因此能够从正则表达式的泛化中受益;而诸如 IP 地址、域名和哈希值等原子型指示符则更适用于通过精确匹配条件或基于信誉的查询方式来实现检测,因此不在本方案的主要覆盖范围内。在上述边界内,该方案旨在适用于具有相似输入格式和工具前提条件的各种 SOC 环境。
访问受限。请登录或开始试用以查看此内容。
使用以下五个阶段的工作流程,将 CTI 报告转化为具有可追溯中间输出的已验证正则表达式模式(概览见图1)。
1. 系统设置
第1阶段:文档解析
3. 第二阶段:IOC 提取
4. 第三阶段:IOC 分析与分类
5. 第4阶段:Neo4j辅助的IOC归一化
第6步:正则表达式生成与评分
7. 分析与验证
8. 导出结果
9. 故障排除
10. 确认最终方案的输出结果。
访问受限。请登录或开始试用以查看此内容。
本节展示了IOC-to-regex协议产生的代表性结果,并总结了用于评估其操作适用性的参考评估。该参考评估处理了与MITRE ATT&CK技术相关的3,156份网络威胁情报(CTI)报告,分析了超过230,000个句子,提取了超过63,000个IOC候选项,并针对来自十项MITRE ATT&CK评估场景中独立收集的2,400多个真实字符串对生成的正则表达式进行了评估。这些真实字符串是由网络安全厂商在MITRE ATT&CK评估演练中独立报告、经专家整理的攻击产物,因此反映了实际中人类分析师和厂商所记录的结构模式。以下结果重点关注与操作日志分析和检测工作流程相关的流程行为、结构正确性及评估结果。
端到端流程的概述见图1,该图总结了捕获组查找和正则表达式生成阶段,这些阶段构成了代表性结果的框架。
第一阶段:文档解析输出
图2...
访问受限。请登录或开始试用以查看此内容。
将非结构化的网络威胁情报(CTI)报告转化为可执行的检测逻辑,在实际安全工作流程中仍是一项耗时且易出错的任务。尽管已有研究探索了在指标(IOC)提取或高层级规则生成层面的自动化方法,但实践人员在将提取出的IOC字符串转换为结构正确、语义精确并适用于下游SIEM系统的正则表达式时,仍面临重大挑战。本文提出的协议通过一个分阶段的工作流程弥补了这一空白,每个阶段均生成定义明确的中间产物,并在将结果传递至下一阶段前实施明确的验证步骤。图14记录了一个典型案例,其中一条被去活化且包含干扰空格的文件路径被识别、修正、标准化,并最终转化为可编译的正则表达式;本协议对噪声输入的处理能力及其当前适用范围,将结合下文所列的局限性一并讨论。
本方案的核心贡献在于将工作流程明确分解为多个阶段,并生成可检查的中间输出。具体实现步骤如下:文档解析生成用于大语言模型处理的 Markdown 格式和分块文本;IOC 提取生成针对文件路径、注册表键和命令行指示器的结构化 JSON 数据;基于规则的 IOC 分析对提取的值进行标准化和去重;借助 Neo4j ...
访问受限。请登录或开始试用以查看此内容。
作者无任何利益冲突需要披露。
本工作部分得到了美国国家科学基金会(NSF)CNS-2019340 和 NSF ECCS-2140175 项目的支持。
访问受限。请登录或开始试用以查看此内容。
| 姓名 | 公司 | 目录编号 | 评论 |
|---|---|---|---|
| 计算机(CPU) | — | ≥ 推荐 4 核及以上 | 无需 GPU |
| LangChain | LangChain | ≥ 0.1.x | 大语言模型编排框架 |
| 大语言模型(IOC 提取,单模型模式) | OpenAI | gpt-5.1 | 在禁用集成投票时用于 IOC 提取(第 2 阶段)。temperature = 0.0;max_workers = 5。访问时间:2025-12-15。 |
| 大语言模型(正则表达式生成) | OpenAI | gpt-5.1 | 用于正则表达式生成(第 5 阶段)。下游验证前 temperature = 0.3。访问时间:2025-12-15。 |
| 大语言模型(可扩展性表征) | OpenAI | gpt-5.1 | 用于代表性结果中报告的 6,000 个 IOC 可扩展性运行。访问时间:2025-12-15。 |
| 内存(RAM) | — | ≥ 推荐 16 GB 及以上 | 文档处理所必需 |
| Neo4j | Neo4j, Inc. | ≥ 5.x | 用于 IOC 标准化的图数据库 |
| Neo4j Python 驱动程序 | Neo4j, Inc. | ≥ 5.x | Neo4j 的 Python 接口 |
| 操作系统 | Microsoft / Apple / Linux | Windows、macOS 或 Linux | 支持跨平台运行 |
| PDF 解析 — 主要后端 | Microsoft | MarkItDown ≥ 0.0.x | 第 1 阶段后端;将 PDF/DOCX/HTML/TXT 输入转换为 Markdown。在送入大语言模型处理前,解析输出按 4,000 字符分块。访问时间:2025-12-15。https://github.com/microsoft/markitdown |
| 流水线配置(第 2 阶段 — IOC 提取) | — | 参考默认值 | 单大语言模型模式:temperature = 0.0,max_workers = 5。集成投票模式默认值:每个配置模型重复次数 = 1,最少投票数 = 2。 |
| 流水线配置(第 5 阶段 — 正则表达式生成) | — | 参考默认值 | 生成 temperature = 0.3。验证设置:每个 IOC 使用 5 个确定性负样本进行过生成随机测试。迭代边界:max_iterations = 10,debug_loop_cap = 5,discard_validation_cap = 5。 |
| Python | Python 软件基金会 | ≥ 3.8 | 必需的运行环境 |
| 正则表达式引擎 | Python 标准库 | re 模块 | 用于正则表达式的验证和测试 |
| Streamlit | Streamlit Inc. | ≥ 1.25 | 基于网页的用户界面 |
| 参考实现源代码 | 作者 / GitHub | GitHub 仓库 | 包含 Streamlit 界面、LangChain 流水线、Neo4j 辅助标准化、正则表达式生成、验证工具以及示例配置文件的源代码。获取地址:https://github.com/SOCautomatic/cti-ioc-regex-pipeline。访问时间:2026 年 6 月 11 日。 |