一、背景介绍
美国人工智能公司OpenAI的ChatGPT是一个基于自然语言处理的聊天机器人,在自然语言处理方面具有一定的优势,可以用于识别和理解文本中的实体和关系,提取威胁漏洞、攻击者、攻击方法等情报信息。360刘焕勇《NLP前沿技术:One-shot就能做事件抽取?ChatGPT在信息抽取上的强大应用》中实验得出ChatGPT完全胜任信息抽取工作的结论。
在ChatGPT推出两个月前,微软公开了基于GPT2的ATT&CK(Adversarial Tactics, Techniques, and Common Knowledge)情报提取工具MitreMap,并集成到Azure Sentinel云原生SIEM平台。ATT&CK威胁情报信息如TTPs(技术、战术和程序)等提取分析有助于提高对威胁的识别和响应能力,从而帮助组织更好地保护自己的网络和数据资产。
安全界已经掌握了使用来自OSINT系统或第三方供应商的机器可读资料,但这些资料通常提供IOC或IOA,而没有背景信息。另一方面,我们拥有丰富的威胁分析报告,包含在内部事件响应报告、公共博客和白皮书中。这些报告描述了ATT&CK威胁情报信息,包括网络攻击者的行动、工具、战术和程序等,而当前无法自动消费或使用这些数据,因为它们是由非结构化文本组成的。威胁分析员通过手动操作来提取与他们的威胁模型最相关的对手信息,但这种手动工作存在时间和成本上的瓶颈。
如何从已有的威胁分析报告中提取ATT&CK情报信息用来洞察安全态势?微软基于GPT2的 MitreMap工具是否能有效自动化提取分析ATT&CK情报信息?基于GPT3.5以上的ChatGPT是否可以直接应用于ATT&CK情报提取?本文通过测试分析“类ChatGPT”基于自然语言处理(NLP)技术在ATT&CK情报提取上的“洞察”能力,展望“类ChatGPT”在威胁情报分析领域的应用前景。
二、ATT&CK情报信息提取工具
威胁分析报告大部分是由非结构化文本数据组成,描述了攻击者或攻击团体在网络攻击过程中使用的工具、技术和程序等,报告通常来自于安全博客、社区论坛、安全厂商或情报共享平台。目前越来越多的网络威胁分析报告公布了ATT&CK映射关系,然而传统依赖于人工从不断增长的报告中分析提取出ATT&CK技术是不现实的,为了减轻安全研究人员的分析疲劳,通过NLP技术提取非结构化报告中的ATT&CK,实现威胁报告中不同威胁信息自动映射ATT&CK十分必要。下面分析三种自动化的ATT&CK情报信息提取工具:微软的MitreMap、OpenAI的ChatGPT和绿盟自研NS-IE。
- 微软MitreMap
微软MitreMap是一个基于MITRE ATT&CK框架的威胁情报可视化工具。它可以帮助安全分析师更好地理解和可视化威胁情报,以及威胁行为的攻击链和关联关系。
MitreMap可以与微软 Defender for Endpoint和Azure Sentinel等安全产品集成,从而提高安全分析和响应的效率和准确性。MitreMap集成到Azure Sentinel云原生SIEM平台,该平台依靠微软强大的安全解决方案以及ML的分析能力实现对企业、用户和服务的各种维度的监控及探测,还为客户自定义搜查场景提供运维平台Jupyter Notebook,方便客户创建及运维主动调查的脚本及算力支撑。MitreMap集成在Notebook中可以协助安全分析人员快速分析安全报告,同时也可在Notebook外独立运行。
MitreMap采用的DistilGPT-2模型是一种更快、更轻量、经过知识蒸馏的GPT-2模型,它用于将描述文本中攻击技术术语与历史技术描述相关联,完成文本到ATT&CK技术的映射,另外还支持IOC的抽取。相比于算法上的提升,MitreMap在数据量上也有突破,MitreMap从TRAM、Sentinel Hunting和检测规则等数据源收集了1万3千条数据,训练集与TRAM相比扩充了接近10倍。
值得一提的是,MitreMap为DistilGPT-2模型的ATT&CK技术预测结果提供了部分可解释性,展示了正相关和负相关的相关短语或词汇。
图 1 MitreMap-NoteBook演示
- OpenAIChatGPT
ChatGPT是由OpenAI开发的大型语言模型,建立在GPT-3.5之上,是GPT-3.5微调的产物,可以进行信息抽取、语义理解、问答等自然语言处理任务。ChatGPT在NLP(知识抽取与构建)和IR(知识检索,问答等)相关任务的研究范式上提出了新的思路,图2是ChatGPT在信息抽取中的作用。
图 2 ChatGPT交互式信息抽取
事件抽取是信息抽取的关键技术之一,ChatGPT提供了一个通用事件抽取例子,如图3所示,可以准确地识别文本中的关键信息,抽取通用事件信息基本正确,并给出了解释。可见ChatGPT可以帮助企业和机构从大量文本数据中提取通用事件信息,提高数据分析、决策的效率和准确性。ChatGPT是否可以应用于安全领域ATT&CK相关攻击事件抽取有待后续实验验证。
图 3 ChatGPT交互式事件抽取
- 绿盟自研NS–IE
绿盟天枢实验室在威胁报告分析、安全知识图谱构建和推理分析方面积累了较多技术经验,并自研ATT&CK提取算法(以下简称NS-IE)从网络威胁报告中自动化提取和预测ATT&CK技术,从而降低非结构数据的分析成本,提升ATT&CK在绿盟产品的检测和防御能力。
绿盟对关于威胁报告ATT&CK提取的研究或工具分析总结如表1,其中具有代表性的工作有MITRE威胁信息防御中心CTID提出的TRAM(https://github.com/center-for-threat-informed-defense/tram/)和开源项目rcATT(https://github.com/vlegoy/rcATT)。下面通过模型框架、应用效果等方面综合分析现有ATT&CK提取分析工具。
表 1 ATT&CK情报信息抽取工具汇总
rcATT | TTPDrill | Unfetter Insight | TRAM | MitreMap | |
分类方法 | 多标签文本分类(SVM) | 本体模型 | 多标签文本分类(NB) | 多标签句子分类(LR) | DistilGPT-2 |
特征值 | 词特征 | 威胁行为 | 词特征 | 词特征 | 词特征 |
后置过滤 | 技战术关系 | 技战术关系 | 无 | 无 | 无 |
在对上述ATT&CK提取工具的调研实践中发现,其准确性和稳定性存在不足,主要存在的问题有:
- 攻击行为无关的语句打上ATT&CK技术标签
- 部分ATT&CK技术分类准确率较低
- 缺乏可解释性
- TTPDrill完全依赖行为规则分类,维护成本高
图 4 ATT&CK分类混淆矩阵
ATT&CK技术分类容易产生误报原因之一在于不同技术之间存在交叉性,在文本描述上呈现趋同性容易混淆。例如,从图4所示的部分技术分类混淆矩阵可以看出技术T1546(Event Triggered Execution)与T1033(System Owner/User Discovery)易混淆,原因在于两段技术描述中,system、user、account均为高频词汇,而分类器从词特征上很难准确提取描述文本语义,容易生成误报。
因此我们提出了自己的ATT&CK提取算法(以下简称NS-IE),进行数据和算法优化改进:
- 借鉴TRAM,提供一系列交互功能,包括结果校验、自定义机器学习模型,从上图能看出预测结果直接和对应语句建立关联,并支持用户反馈校验结果;
- 以数据为中心,人工标记数据扩充TRAM训练数据集,添加噪音数据,对非攻击技术相关语句进行初筛,从而降低误报;
- 融和专家经验知识,添加技术行为触发词,通过攻击行为相关短语和词汇来区分易混淆的ATT&CK技术,提供可解释性。
NS-IE不仅集成了ATT&CK提取算法模型,还支持抽取威胁报告中其他关键信息如攻击者、恶意软件、攻击目标和IOC等实体。基于NS-IE关键信息抽取算法,我们构建了威胁报告分析展示平台,如图5所示,我们对关键信息做了列表化和图谱化呈现,实体关系图谱中包括了勒索家族(black basta)、目标行业(retail)和使用的攻击方法(collect data and credentials),其中攻击方法由原文中的行为短语组成,可进一步映射到ATT&CK技术,通过图谱形式提供图可解释性。同时NS-IE除了协助分析人员高效直观地获取信息,还支持用户交互,对分析结果进行校验反馈。
图 5 NS-IE系统截图
三、工具的对比实验分析
通过以下实验,对比分析微软MitreMap,OpenAI ChatGPT和绿盟自研NS-IE三个工具在ATT&CK情报提取方面的优劣势。
- 实验1:远控木马行为分析
针对如下一段话进行ATT&CK情报信息提取测试分析远控木马的攻击行为:
During the initial connection to the remote server (after an initial ping to check for internet connectivity), the Trojan will send the machine\u2019s name, installed Windows version, logged username, webcam availability and the version of the RAT in use.
表 2实验1对比分析结果
预测结果 | 置信度 | 可解释性 | 准确性 | |
MitreMap | T1033-System Owner/User Discovery
|
0.799 | Username、remote、server | 部分准确 |
ChatGPT | T1071:Application Layer Protocol T1105-Remote File Copy T1027- Obfuscated Files or Information |
/ | / | 错误 |
NS-IE | T1082-System Information Discovery | 0.915 | Send the machine | 准确 |
图 6 MitreMap-实验1 抽取预测分析可视化
MitreMap所使用的DistilGPT-2模型,这段话描述了远控木马在连接到远程服务器后,会发送受害主机的Windows版本和登陆用户名等敏感信息给服务器,从图6MitreMap分析结果来看分析结果不是很理想,预测结果并不全面。因为攻击者经常使用新的攻击技术和工具,而且ATT&CK框架也在不断发展和更新,使得预测变得更加困难。
图 7 ChatGPT-实验1对话提取分析
ChatGPT可在对话过程中理解我的意图,并知道ATT&CK技术框架的概念,但是预测结果会给出多种可能性的推测,需要安全专家进一步人工验证分析。
图 8 NS-IE-实验1抽取预测结果图谱展示
NS-IE预测标签为T1082(System Information Discovery),没有预测出T1033(System Owner/User Discovery), 没有完整的识别出描述中所有攻击技术。但是提供相关行为触发词,同时NS-IE对抽取出的技术实体进行图谱化展示,支持用户图交互下钻分析,发现更多关联知识,如恶意样本家族、攻击者和攻击工具等。
- 实验2:恶意软件行为分析
针对如下一段话进行ATT&CK情报信息提取测试分析恶意软件的攻击行为:
Although most of these samples are known, cybercriminals rely on a plethora of obfuscation tools and techniques in order to change the malware structure so as to bypass signature scanning and avoid antivirus detection.
表 3实验2对比分析结果
预测结果 | 置信度 | 可解释性 | 准确性 | |
MitreMap | T1482-Domain Trust Discovery | 0.0906 | Most、tools、bypass | 错误 |
ChatGPT | T1027-Obfuscated Files or Information | / | 具备 | 准确 |
NS-IE | T1027-Obfuscated Files or Information | 0.852 | Obfuscation | 准确 |
图 9 MitreMap-实验2 抽取预测分析可视化
MitreMap预测分析结果并不理想,可信度较低。预测ATT&CK技术是一项非常复杂的任务,需要全面的数据、准确的算法和配置、以及深入的上下文信息等多个因素的综合考虑。因此,即使使用最好的工具和方法,也不能保证完全准确地预测出所有的ATT&CK技术。
图10 ChatGPT-实验2对话提取分析
在对恶意软件的绕过签名行为描述中,ChatGPT能够准确预测ATT&CK技术并给出合理的解释,与在实验1中的表现完全不同,这里我们将实验1和实验2两段话打包整合在一起让ChatGPT进行判断:
图 11 ChatGPT-实验2对话提取结果
可以看出ChatGPT能正确抽取出对应的ATT&CK技术名称并给出中文解释,然而在ATT&CK-ID映射上出现错误:
表4 Obfuscated Files or Information技术对应ChatGPT结果 | ATT&CK官网(v12.1) |
T1218-Obfuscated Files or Information | T1027- Obfuscated Files or Information |
Obfuscated Files or Information对应的ATT&CK技术ID应为T1027(https://attack.mitre.org/techniques/T1027/),该技术初次发布时间为2017年5月并且未被修改过技术ID,其映射错误的T1218: System Binary Proxy Execution(https://attack.mitre.org/versions/v12/techniques/T1218/) 发布时间为2018年4月,而ChatGPT训练数据使用了更新至2021年的大量语料,对于2021年之前的常识信息判断失误。可以看出ChatGPT的效果不太稳定。
图 12 NS-IE-实验2抽取预测结果图谱展示
图12是NS-IE相关图谱,展示了ATT&CK技术T1027相关的样本家族和工具等信息,展示中自动关联了多个威胁报告中所提取ATT&CK情报信息,完整描述了T1027相关上下文信息。可见,攻击者通过各种手段,例如钓鱼攻击、漏洞利用等方式,将恶意软件植入到受害者系统中。为了防御T1027技术,企业可以采取多种措施,例如限制用户权限、监控系统启动项、使用安全软件等,以及实施安全加固措施来减少攻击面。
- 实验3:进程注入行为分析
针对如下一段话进行ATT&CK情报信息提取测试分析进程注入的行为:
CreateProcessAsUserA is called with the following as the CommandLine parameter : <systemroot>\\\\rundll32.exe <zxshell dll name>,zxFunction001 <name of NamedPipe> zxFunction001 modifies the current process memory, uses data contained in the named pipe to create a socket, and then executes the code that sends the remote desktop session to the server controller.”,Before the service is started ChangeServiceConfig is called to modify the service type to shared and interactive.
表5实验3对比分析结果
预测结果 | 置信度 | 可解释性 | 准确性 | |
MitreMap | T1569-System Services
|
0.264 | Change、Service | 错误 |
ChatGPT | T1055- Process Injection T1043-Command and Scripting Interpreter T1543.003-Service Configuration Modification |
/ | 具备 | 准确 |
NS-IE | T1055-Process Injection | 0.827 | Create a socket、execute | 准确 |
图 13 MitreMap-实验3 抽取预测分析可视化
微软MitreMap仍然没有正确预测出该段描述所涉及的ATT&CK技术。针对ATT&CK预测不准确的情况,需要后续采取措施来优化提高预测的准确性和效果。
图 14 ChatGPT-实验3对话提取分析
ChatGPT这次能正确理解语义,分析出ATT&CK技术外,还给出了对应解释以及战术名称。在正确预测到T1055-进程注入攻击技术外,还给出其他两个弱关联的技术分类预测(T1043和T1543.003)可见ChatGPT预测仅仅是基于提供的信息和知识经验而得出的结论,仍然需要进行进一步的确认和验证。
图 15 NS-IE-实验3抽取预测结果图谱展示
NS-IE预测标签为T1055-Process Injection,图14图谱展示了ATT&CK技术T1055相关上下文信息,包括样本家族、入侵集和攻击工具等。进程注入技术是一种难以检测和防御的攻击方法,图谱展示中为防御者给出可以采取的防御措施来提高安全性,如通过端点行为防护中应用程序白名单、监控进程行为和限制系统权限等。
- 实验结果对比
从上面3个实验测试分析中可以看出,MitreMap不能完全理解威胁描述的语义,并准确提取正相关词语,提供可解释性,猜测一方面与训练集质量相关,数据未经过人工校验,并且标签数量多达191个,虽然包括了所有企业域ATT&CK技术,然而这些技术与技术、以及子技术之间存在部分交叉重合。也正因如此,我们提出的NS-IE工具中仅对父技术做分类,保持了较高可信度。另外一方面经过知识蒸馏的GPT-2小模型,其泛化能力不足。
从ChatGPT对话中能看出,能给出靠谱的答案也能给出离谱的预测,其上限高下限低,在做出准确判断的同时,还能给出合理的解释以及相关战术知识补充,然而也能在ATT&CK技术与ID映射关系上犯下“低级失误”,在专业领域场景下缺乏稳定性输出。可见虽然ChatGPT可以理解和分析自然语言文本,但是它并没有专门针对提取ATT&CK情报信息的算法和模型,因此不适合作为专业的ATT&CK情报信息提取工具。
绿盟自研NS-IE测试结果目前稍优,得益于这两年ATT&CK情报信息提取在训练数据积累和加强、算法的迭代优化,同时引入多种技术加强预测正确性,主要在预测流程上做了优化,如图6所示,首先对攻击行为文本初筛,过滤掉非攻击行为相关文本,另外设计攻击行为动作分析方法,对非结构化描述中的具体行为进行抽取, 若抽取出ATT&CK技术高度相关动作如bypass、phishing等短语,可以直接通过规则映射到ATT&CK技术,另外攻击动作短语能作为ATT&CK技术分类器的特征输入,提供可解释性并提高置信度。
图 16 NS-IE-算法流程
四、总结
在威胁报告ATT&CK分析场景下,目前来看无论是MitreMap的DistilGPT-2模型还是ChatGPT都无法提供稳定可靠的结论。ChatGPT在传统NLP任务上如智能问答、关键信息抽取、文本生成上都表现出极强的连贯性和逻辑能力,突破了传统AI系统的程式化交流方式。但是ChatGPT并不是一个专门用于安全领域情报信息抽取的工具,由于安全领域的很多数据都是敏感的,不适合共享或公开,导致训练数据不足,模型训练结果难以达到专业情报信息抽取工具的精度和效果。
因此,如果您需要进行安全领域的专业情报信息抽取分析,一方面使用专门的情报信息抽取工具和技术,提供更多安全领域特定数据经过训练和优化,可以更准确地识别和提取文本中的关键信息,更有效地处理大量的威胁情报数据,并提取有用的信息,帮助您更好地理解和应对潜在的威胁。另一方面,ChatGPT所展现的通用信息抽取能力强大,在大模型时代,我们应该思考如何将其应用在安全垂直领域,融合安全领域相关的特异性知识,如ATT&CK技术间差异性和同质性,从而对模型结构进行改进,让模型适用于领域数据的同时提高数据质量,做好特定任务。
参考文献
- 《NLP前沿技术:One-shot就能做事件抽取?ChatGPT在信息抽取上的强大应用》, https://blog.csdn.net/weixin_44826203/article/details/128222748
- and Massimo Chiriatti. “GPT-3: Its Nature, Scope, Limits, and Consequences.” Minds and Machines 30 (2020): 681-694.
- Ouyang, Long, et al. “Training language models to follow instructions with human feedback.” arXiv preprint arXiv:2203.02155 (2022).
- https://github.com/Azure/Azure-Sentinel-Notebooks/tree/master/mitremap-notebook
- https://www.first.org/resources/papers/ctimay2020/FIRST_CTI_2020_rcATT_Siemens.pdf
版权声明
本站“技术博客”所有内容的版权持有者为绿盟科技集团股份有限公司(“绿盟科技”)。作为分享技术资讯的平台,绿盟科技期待与广大用户互动交流,并欢迎在标明出处(绿盟科技-技术博客)及网址的情形下,全文转发。
上述情形之外的任何使用形式,均需提前向绿盟科技(010-68438880-5462)申请版权授权。如擅自使用,绿盟科技保留追责权利。同时,如因擅自使用博客内容引发法律纠纷,由使用者自行承担全部法律责任,与绿盟科技无关。