尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

基于14B开源大模型的威胁狩猎自动化实践:从ATTCK映射到检测规则生成

基于14B开源大模型的威胁狩猎自动化实践:从ATTCK映射到检测规则生成
📅 发布时间:2026/7/31 4:39:15

1. 项目概述:当大语言模型遇上威胁狩猎

最近在安全运营中心(SOC)和威胁情报分析这块,大家讨论的热点除了层出不穷的0day,就是如何把大语言模型(LLM)真正用起来,去解决那些耗时又费力的重复性分析工作。我自己和团队在过去半年里,也深度折腾了好几个开源和闭源的模型,试图让它们成为分析师们的“副驾驶”。今天想和大家深入聊聊我们基于一个14B参数的开源模型——我们内部称之为SecGPT-14B——所做的一系列效果验证,核心就是看它能不能理解安全分析师的语言,并产出真正有操作价值的成果,比如自动生成MITRE ATT&CK映射、解析攻击者战术、技术与过程(TTPs),乃至给出可落地的检测规则建议。

这不仅仅是一个简单的“调API”的活儿。安全领域的文本有其特殊性:充斥着大量的缩写、特定上下文的技术术语(比如“LSASS内存转储”和“凭证盗窃”的关联),以及需要高度逻辑推理才能建立的攻击链关系。一个通用模型,哪怕参数再大,如果没经过针对性的“训练”和“引导”,很容易产生看似合理实则谬误的“幻觉”,这在安全领域是致命的。我们的目标,就是探索一条路径,让一个中等规模的、可私有化部署的模型,在特定任务的引导下,达到接近甚至超越人类初级分析师效率的产出质量。接下来,我会从我们的整体设计思路开始,拆解每一个环节的关键考量、实操步骤以及我们踩过的那些坑。

2. 核心思路与方案选型:为什么是SecGPT-14B?

在启动这个项目时,我们面前有几个选择:直接使用GPT-4等顶级闭源API、采用更小参数(7B)的模型、或者选择这个14B参数的模型。最终选择SecGPT-14B,是基于以下几个核心考量,这背后是成本、效果、可控性三者的平衡。

2.1 模型规模与能力的权衡

7B模型轻量,部署成本低,但在我们早期的测试中,对于需要多步推理和复杂模式匹配的安全分析任务,其能力上限明显不足。它可能能很好地总结一段攻击描述,但很难自主地将分散的入侵指标(IOCs)关联到正确的ATT&CK战术下,更别提推导出后续的检测逻辑了。而像GPT-4这样的超大模型,能力毋庸置疑,但存在三个现实问题:一是API调用成本,对于需要批量处理大量警报或报告的场景,长期成本不可忽视;二是数据隐私与合规,安全数据往往极为敏感,传出内部环境存在风险;三是延迟与可控性,API服务可能存在不稳定或政策变化,且我们无法针对安全领域的特有知识进行深度微调。

14B参数规模是一个“甜点区”。它足够大,能够容纳相当丰富的世界知识和一定的复杂推理能力;同时又比动辄上百B的模型“瘦”,使得我们在有限的GPU资源(例如,单张A100或两张3090)上就能进行高效的推理,甚至可以进行领域适配性微调。SecGPT-14B是基于Llama 2或类似架构,在大量代码和通用文本上预训练后的一个 checkpoint,我们在此基础上进行后续工作。

2.2 任务定义与Prompt工程的设计哲学

模型本身只是基础,如何“问对问题”才是关键。我们不是要让模型天马行空地“创作”安全报告,而是引导它完成结构化的分析任务。这依赖于精心设计的Prompt模板。我们的设计哲学是:角色定义 + 结构化输出 + 逐步链式思考(Chain-of-Thought)。

例如,对于“生成ATT&CK映射”这个任务,我们不会简单地说“请分析以下日志”。我们的Prompt模板会这样构建:

你是一名资深网络安全威胁狩猎分析师。你的任务是根据提供的安全事件描述,将其映射到MITRE ATT&CK企业版矩阵。 请遵循以下步骤思考: 1. 首先,提取描述中所有可能与攻击者行为相关的动词和对象(例如:“攻击者上传了PowerShell脚本并执行” -> 动作:“上传”、“执行”;对象:“PowerShell脚本”)。 2. 然后,将每个动作-对象对与MITRE ATT&CK技术库进行匹配。请优先使用精确的技术ID(如T1059.001)和名称。 3. 最后,根据技术所属的战术阶段(如“执行”、“持久化”),组织成表格输出。 输出格式必须是严格的JSON: { "事件摘要": "一句话总结", "映射结果": [ { "序号": 1, "ATT&CK技术ID": "T1059.001", "技术名称": "命令和脚本解释器:PowerShell", "所属战术": "执行", "证据片段": "来自原文的引用" } ] } 事件描述:[此处填入具体的日志或警报文本]

这种设计强制模型进行逻辑分解,并以机器可读的JSON格式输出,极大方便了后续的自动化处理。同时,明确的角色设定能让模型更好地调用其“知识库”中与安全分析师相关的语料。

2.3 知识注入与上下文管理

MITRE ATT&CK是一个庞大且不断更新的知识库。虽然预训练模型可能包含一些相关知识,但为了确保准确性和时效性,我们必须将ATT&CK知识作为“上下文”注入给模型。我们不会直接微调模型(成本高且可能损害通用能力),而是采用以下两种主要方式:

  1. 向量检索增强(RAG):我们将MITRE ATT&CK官网的技术描述、子技术、缓解措施、检测建议等文本进行切片和向量化,存入向量数据库。当模型处理一个具体事件时,先根据事件描述从向量库中检索出最相关的若干条ATT&CK技术描述,将这些描述作为“参考材料”附加到Prompt的上下文窗口里。这相当于给了模型一本“随时可查的ATT&CK手册”。
  2. 系统提示词(System Prompt)固化:在模型的系统指令中,我们会固化一些最关键、最通用的ATT&CK框架结构、战术列表和常见技术缩写,帮助模型建立基础认知。例如,系统提示词开头可能就是:“你精通MITRE ATT&CK企业版框架,熟悉其12项核心战术及数百项具体技术...”

通过这种“RAG动态知识+Prompt静态知识”的组合,我们以较小的成本,让模型获得了接近专业分析师的知识储备。

3. 核心任务效果展示与深度解析

接下来,我将通过三个核心任务场景,展示SecGPT-14B的实际输出效果,并深度解析其背后的工作流程、我们的评估标准以及遇到的挑战。

3.1 任务一:从安全事件描述到MITRE ATT&CK映射表

这是最基础也是需求最广的任务。输入可能是一段入侵警报的文本描述、一份恶意软件分析报告的片段,或者一行EDR(终端检测与响应)记录。

实操案例输入:“监控发现,主机X上出现了异常的进程创建链:powershell.exe通过-enc参数执行了一段Base64编码的脚本,该脚本随后尝试从远程服务器downloader.malicious[.]com下载一个二进制文件payload.dll,并利用rundll32.exe将其加载。”

SecGPT-14B输出(经格式美化):

{ "事件摘要": "攻击者利用PowerShell执行编码脚本,进行远程下载并通过rundll32加载DLL载荷。", "映射结果": [ { "序号": 1, "ATT&CK技术ID": "T1059.001", "技术名称": "命令和脚本解释器:PowerShell", "所属战术": "执行", "证据片段": "powershell.exe 通过 -enc 参数执行了一段Base64编码的脚本" }, { "序号": 2, "ATT&CK技术ID": "T1105", "技术名称": "入口工具转移", "所属战术": "命令与控制", "证据片段": "尝试从远程服务器 downloader.malicious[.]com 下载 payload.dll" }, { "序号": 3, "ATT&CK技术ID": "T1218.011", "技术名称": "系统二进制代理执行:Rundll32", "所属战术": "防御规避", "证据片段": "利用 rundll32.exe 将其加载" } ] }

效果分析与操作要点:

  1. 准确性:模型准确识别了三个关键行为,并映射到了正确的技术ID。特别是将rundll32.exe加载DLL识别为T1218.011(Rundll32),而非泛泛的T1218(系统二进制代理执行),显示了其对ATT&CK子技术细节的理解。
  2. 逻辑关联:模型隐含地构建了一个简单的攻击链:“执行”(PowerShell)-> “C2”(下载)-> “防御规避/执行”(Rundll32)。这为后续的TTPs分析打下了基础。
  3. Prompt设计的关键作用:我们要求输出“证据片段”,这迫使模型必须回到原文寻找依据,减少了胡编乱造的可能。同时,严格的JSON格式避免了模型输出冗余的自然语言描述,便于自动化解析。

注意:模型有时会对边界模糊的技术产生混淆。例如,上述行为也可能涉及T1027(混淆文件或信息)。我们的经验是,在Prompt中增加一条指令:“如果一项行为可能对应多个技术,请选择最直接、最具体的一项”,可以有效提高映射的精确度。

3.2 任务二:基于映射结果的TTPs深度分析

生成映射表只是第一步。真正的价值在于,基于这些离散的技术点,提炼出攻击者的战术意图、技术偏好和操作流程,即TTPs分析。我们设计了一个两阶段Prompt链。

第一阶段:技术聚类与战术意图推断将上一个任务输出的JSON数组(映射结果)作为输入,要求模型进行总结。

Prompt示例:“基于提供的ATT&CK映射列表,请分析攻击者的可能战术意图和技术组合模式。回答需包括:1. 攻击链阶段重建(按战术顺序排列);2. 攻击者可能使用的工具或脚本类型推断;3. 本次攻击活动中表现出的技术特点(例如,是否大量使用Living-off-the-land binaries, LOLBin)。”

SecGPT-14B输出摘要:

  • 攻击链重建:初始访问(未在本次事件中体现)-> 执行(T1059.001)-> 持久化(未体现)-> 防御规避(T1218.011)-> 命令与控制(T1105)。这是一个典型的利用合法系统工具(PowerShell, Rundll32)进行载荷投递和执行的链式攻击。
  • 工具推断:攻击者可能使用了自定义的PowerShell脚本作为下载器(Downloader),最终载荷为DLL格式。远程服务器指示了C2基础设施的存在。
  • 技术特点:强烈依赖LOLBin(PowerShell, Rundll32)来绕过基于白名单的应用程序控制,并使用Base64编码进行简单混淆。

第二阶段:关联威胁情报与活动分组我们将模型的分析结果,与内部历史事件库或外部威胁情报(如威胁组织报告)进行关联。这里,我们利用模型的文本匹配和摘要能力。例如,我们可以提问:“以下攻击模式([插入上述分析摘要])与已知的哪些威胁组织或恶意软件家族活动相似?请列出最多3个可能的关联,并说明理由。”

模型可能会输出:“此模式与APT29(Cozy Bear)常用的‘PowerShell后门下载DLL’模式相似,也与勒索软件团伙在初始部署阶段常用的‘无文件加载’技术重合。” 这为分析师提供了宝贵的调查方向。

实操心得:TTPs分析的成功率高度依赖于第一阶段映射的准确性。如果映射出现偏差,后续分析就是“垃圾进,垃圾出”。因此,我们建立了一个反馈循环:分析师可以手动修正模型的错误映射,这些修正后的“高质量数据对”会被收集起来,用于后续可能的模型微调或Prompt优化。

3.3 任务三:生成可落地的检测规则建议

这是将分析成果转化为防御能力的最后一步。我们的目标不是让模型写出生产级、无错误的规则代码,而是生成高质量的、具备上下文信息的规则“草稿”或“建议”。

工作流程:

  1. 输入:事件描述 + ATT&CK映射结果 + TTPs分析摘要。
  2. Prompt设计:要求模型针对特定的技术点,为某类安全产品(如SIEM、EDR、网络IDS)编写检测逻辑建议。Prompt必须包含规则结构模板。

示例:为SIEM(假设使用Splunk SPL)生成检测规则建议

Prompt:“针对ATT&CK技术 T1059.001 (PowerShell) 和 T1218.011 (Rundll32),且结合其常用于下载器链的场景,请为Splunk SIEM编写一条Splunk Processing Language (SPL) 检测规则建议。规则应能发现通过PowerShell执行Base64编码命令并随后启动rundll32的进程链。输出包括:规则名称、描述、置信度(高/中/低)、SPL查询语句、以及可能的误报说明。”

SecGPT-14B输出:

{ "规则名称": "疑似LOLBin链:PowerShell Base64编码后接Rundll32执行", "描述": "检测使用PowerShell执行Base64编码命令,并在短时间内由同一父进程或同一用户会话生成rundll32进程的序列,这可能表明无文件攻击或恶意DLL加载。", "关联ATT&CK技术": ["T1059.001", "T1218.011"], "置信度": "中", "SPL查询建议": "`index=windows EventCode=4688 (New_Process_Name=\"*powershell.exe\" CommandLine=\"*-enc*\") | rename HostName as src_host, New_Process_Name as parent_process, CommandLine as parent_cmd | join type=inner src_host user [ search index=windows EventCode=4688 New_Process_Name=\"*rundll32.exe\" | rename HostName as src_host, Parent_Process_Name as child_of, New_Process_Name as child_process, CommandLine as child_cmd | eval join_key=src_host+\":\"+user ] | where (child_of=parent_process OR (relative_timestamp(child_time, parent_time) < 30)) | table src_host, user, parent_process, parent_cmd, child_process, child_cmd`", "误报说明": "合法的系统管理脚本或安全软件也可能使用类似模式。建议结合rundll32加载的DLL路径(是否非常见位置)、网络连接事件(是否连向可疑IP)进行二次过滤,或将其作为低置信度告警,供分析师复核。", "优化建议": "1. 可增加对rundll32命令行中是否包含‘.dll’的检查。2. 可将时间窗口(本例中30秒)调整为可配置参数。" }

深度解析与价值评估:

  1. 实用性:模型生成的SPL查询具备了基本的结构,包含了关键的事件代码(4688,进程创建)、进程名过滤、命令行参数特征(-enc)以及进程链的时序关联(30秒内)。这为安全工程师提供了一个极佳的起点,节省了从零开始构思查询语法的时间。
  2. 上下文关联:规则描述和误报说明直接关联了ATT&CK技术和攻击场景(“无文件攻击”),使得规则的可读性和可维护性大大增强。分析师一眼就知道这条规则是为了防什么。
  3. 局限性认知:模型自己给出了“置信度:中”和“误报说明”,这体现了它对检测规则不确定性的理解。它甚至提供了“优化建议”,这通常是资深工程师才会做的思考。
  4. 并非生产就绪:必须强调,永远不要直接将模型生成的规则不经审核就投入生产。上述SPL可能存在语法细节错误、性能问题(如连接查询可能低效)或逻辑瑕疵。它的核心价值在于“灵感启发”和“框架提供”,工程师需要基于此进行调试、优化和测试。

关键技巧:为了让模型的规则建议更贴近实际,我们在Prompt的“上下文”中,会提供几段公司内部真实的、已上线的、高质量的检测规则样例(脱敏后)。这让模型能够学习我们内部偏好的规则命名风格、描述结构和查询模式。

4. 实施路径、挑战与调优实录

将SecGPT-14B用于实际安全分析,并非部署一个模型然后简单调用那么简单。这是一个系统工程,充满了各种细节上的挑战。

4.1 本地化部署与推理优化

我们选择在内部GPU服务器上部署模型,以确保数据不出域。使用vLLM或Text Generation Inference这类高性能推理框架,它们支持连续批处理、PagedAttention等优化技术,能显著提高吞吐量。

配置要点:

  • 量化:为了在有限显存下运行14B模型,我们采用了GPTQ或AWQ量化技术,将模型精度从FP16降至INT4或INT8。实测中,INT4量化在精度损失极小的情况下,能将显存占用降低至原来的1/4,速度也有提升。
  • 上下文长度:安全事件描述和ATT&CK知识库片段可能很长。我们需要模型支持至少8K甚至16K的上下文长度。这需要检查模型是否经过相应长度的训练,并使用支持长上下文的注意力算法(如NTK-aware scaling)。
  • 推理参数:对于分析类任务,我们通常设置temperature=0.1甚至0,以降低输出的随机性,确保相同输入得到稳定、可重复的分析结果。对于需要一点“创造性”联想(如关联威胁组织)的任务,可能会将temperature提高到0.3。

4.2 评估体系构建:如何判断模型“好不好”?

我们不能凭感觉说模型有用。我们建立了一个简单的评估体系:

  1. 准确率(Accuracy):随机抽取100个历史安全事件,由三名资深分析师独立完成ATT&CK映射,取共识作为“标准答案”。然后让模型处理相同事件,计算其技术ID映射的精确匹配率。我们初期设定的合格线是85%。
  2. 有用率(Usefulness):将模型生成的检测规则建议匿名后,交给安全运维团队的工程师评审,让他们在“完全无用”、“需大量修改方可使用”、“稍作修改即可使用”、“可直接使用”四个选项中打分。我们关注的是后两项的占比。
  3. 效率提升(Efficiency Gain):记录分析师完成一份典型事件分析报告(含映射、TTPs分析、规则建议构思)的平均时间。然后,在提供模型辅助输出(作为初稿)的情况下,再次测量时间。计算时间节省百分比。

4.3 遇到的典型问题与调优策略

在测试中,我们遇到了几个反复出现的问题,并总结了应对策略:

问题1:技术映射“偏泛”或“偏怪”。

  • 现象:模型有时会选择一个过于宽泛的上级技术(如T1059命令和脚本解释器),而不是更具体的子技术(如T1059.001PowerShell);或者偶尔会选择一个非常冷门、不相关的技术。
  • 根因:模型对ATT&CK技术的层级结构和应用场景理解不深;向量检索返回的知识片段可能不够精准。
  • 解决:
    • Prompt强化:在指令中明确要求“优先使用最具体、最底层的子技术ID”。
    • 知识库优化:对ATT&CK向量知识库进行清洗,为每项技术生成更精准的摘要,包含典型命令、工具、防御规避特征等关键词,提高检索相关性。
    • 后处理规则:编写简单的后处理脚本,如果模型输出的是父技术ID,且上下文中有明确子技术关键词(如出现“powershell”),则自动纠正或提示。

问题2:对复杂、多阶段事件的攻击链重建逻辑混乱。

  • 现象:对于包含十几步操作的复杂攻击报告,模型可能无法正确理清动作之间的时序和因果关系,导致攻击链顺序错乱。
  • 根因:模型的逻辑推理能力在超长、复杂的叙事文本面前仍有局限。
  • 解决:采用“分而治之”策略。先让模型将长报告按“阶段”或“主机”拆分成多个独立的事件片段,对每个片段单独进行映射和分析,最后再用一个专门的Prompt让模型整合所有片段的映射结果,梳理出整体攻击链。这相当于引入了人工分析中的“分段研判、综合拼图”思路。

问题3:检测规则建议“华而不实”。

  • 现象:生成的SPL或YARA规则语法看起来复杂,但实际部署后可能产生大量误报或漏报,或者性能极差。
  • 根因:模型缺乏对底层数据模式(如日志字段的实际名称、数据质量)和产品性能特性的认知。
  • 解决:这是最需要人工介入的环节。我们建立了规则建议的“工程师评审-反馈”闭环。将模型生成的不合格规则进行分类,例如:“语法错误”、“逻辑缺陷(误报高)”、“性能陷阱”、“数据源不匹配”。针对每一类问题,我们提炼出“反面教材”和“修改指南”,并将其作为新的“上下文知识”注入到后续的Prompt中。例如,在Prompt里加入:“注意:我们的Windows进程创建日志中,进程ID字段是ProcessId,不是pid。” 通过这种方式,让模型逐步学习我们环境的“规矩”。

5. 未来展望与集成应用场景

经过数月的迭代,SecGPT-14B已经成为我们安全团队一个有力的辅助工具。它并非要取代分析师,而是充当一个不知疲倦的“初级分析员”,处理那些海量、重复、模式化的初步分析工作,将人类专家从繁琐的“信息搬运”和“简单匹配”中解放出来,去专注于更复杂的威胁狩猎、策略制定和深度调查。

几个正在探索的集成场景:

  1. SOC告警富化流水线:当SIEM产生一条告警时,自动调用模型API,将告警上下文发送给模型。模型快速生成ATT&CK映射和初步的TTPs分析,并将结果作为富化字段附加到原告警中。这样,分析师在告警控制台一眼就能看到:“此告警可能涉及T1059.001和T1218.011,常用于载荷投递”,极大加快了分类和响应的速度。
  2. 威胁情报报告自动摘要:每天都有大量的外部威胁情报文章、博客、报告。模型可以自动阅读这些文章,提取其中描述的威胁组织、恶意软件、利用的ATT&CK技术、IOCs等信息,生成结构化的摘要,甚至与内部历史事件进行关联提示。
  3. 安全剧本(Playbook)辅助生成:在编写事件响应剧本时,可以要求模型根据某个攻击场景(例如“内网横向移动”),推荐应采取的检测规则、调查步骤和遏制措施,并引用相关的ATT&CK技术作为依据。

最后的体会:使用大模型做安全分析,技术选型和Prompt工程固然重要,但更关键的是人机协同的流程设计。我们必须清晰地界定哪些任务交给模型做又快又好(如初步映射、信息提取),哪些任务必须由人类把关(如最终研判、规则投产、关键决策)。建立一个顺畅的、带有反馈循环的人机协作流程,让模型在不断“学习”人类专家的纠正和偏好中越用越聪明,才是这项技术能真正产生价值的长久之道。在这个过程中,安全分析师的角色正在从“操作工”向“训练师”和“审计师”演变,这本身也是一个充满挑战和机遇的转变。

相关新闻

  • 数组指针---指向数组的指针
  • AI语音转文字,会议记录不再愁,录音秒变文档
  • 2026年零基础新手电脑录音转文字APP推荐 避坑后就能直接上手

最新新闻

  • Spring AI:Java开发者构建AI应用的标准工具链
  • Transformer机器翻译系统:工业级优化与生产实践
  • 想在北京办理宽带的话都需要提前了解哪些相关的注意事项?
  • 花不到15美元,用步进电机和ESP32让普通空调变智能!
  • AMD/Xilinx 生态中的块级控制协议(Block-Level Control Protocol),以cmac 为例
  • 基于51单片机的烟雾报警系统:从传感器原理到智能算法实现

日新闻

  • 7步掌握KMS智能激活工具:Windows和Office永久激活完整方案
  • 如何在Windows上运行iOS应用:ipasim跨平台模拟器终极指南
  • 2026年重庆工伤赔偿律师口碑推荐:洪家木律师用专业赢得信赖 - 本地品牌推荐

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号