用AI威胁狩猎的十种方法

网络安全行业的人工智能浪潮已经到来,但人工智能并不会取代网络安全人才,而是让他们变得更强大。以下,我们将以ChatGPT为例,介绍用大语言模型人工智能技术提升威胁猎人猎杀技能的十种方法。

01对恶意PowerShell去混淆

攻击者常用PowerShell在系统中下载恶意软件并获得初始访问权限。

PowerShell易于编写,在大多数企业的IT环境中可用,并且具备可与Windows API交互的强大功能。对攻击者不利的是,PowerShell很容易被防御者读取并阻止。因此,攻击者会使用各种技巧来混淆PowerShell恶意代码。

威胁猎人经常会遇到经过混淆的PowerShell脚本,需要对这些脚本进行去混淆,以了解它们在做什么,以及是否包含可检索的IOC。过去,这是一个艰苦的工作,但现在ChatGPT可以代劳!

只需将混淆过的PowerShell复制到ChatGPT的对话框中,让它来研究代码的作用:

02发现攻击者的TTP

在搜寻威胁时,猎人们需要紧盯攻击者留下的IOC,例如IP地址、域名和文件哈希。但是,为了提高狩猎的成功率,猎人还需要了解攻击者的战术/技术/程序(TTP),因为攻击者很难改变自己的TTP(参考痛苦金字塔模型)。

威胁狩猎依赖威胁情报提供攻击者的TTP信息,但收集此类情报可能很困难,需要查询各种来源,这时我们可以求助于人工智能。以勒索软件拉撒路(Lazarus)为例,我们可以问ChatGPT该组织的TTP:

03生成威胁搜寻查询

为了搜寻攻击者的IOC和TTP,我们需要为企业的安全解决方案(例如SIEM或EDR)创建威胁搜寻查询。这些查询定义了我们想要搜寻的内容,以及我们希望找到何种数据以及如何呈现给我们。

遗憾的是,不同安全解决方案使用不同的语法来定义其平台上的搜索查询。例如CrowdStrikes使用FQL(Falcon查询语言),微软使用KQL(Kusto查询语言),QRadar使用AQL(Ariel查询语言)。如果你的企业使用多个安全产品,掌握这些语法让人颇为头疼。

我们可以要求ChatGPT用我们选择的语言为我们编写威胁搜寻查询,大大加快搜寻流程。

例如,我们可以让ChatGPT创建一个查询来搜索KQL中的恶意IP地址:

我们同样可以用ChatGPT在Splunk中生成威胁搜索查询:

事实上,我们可以要求ChatGPT根据我们使用的各种主流威胁狩猎平台编写对应的查询。

04分析恶意命令行

作为威胁猎人,我们经常需要分析命令行是否恶意。这些命令行包含各种选项、参数、文件名、可执行文件等。这项任务有时很困难,因为我们可能不知道每个命令行的作用。

为了解决这个问题,威胁猎人严重依赖Google查找有关命令的文档。这种方法有时有效(但可能会非常耗时),有时则一无所获,只能靠猜测。幸运的是,ChatGPT可以充当命令行的调查助手。例如,你知道下面这个命令行是做什么的吗?

schtasks.exe/create/sc minute/mo 1 /tn “Reverse shell” /tr c:\some\directory\revshell.exe

对于一位经验丰富的威胁猎人,会立刻发现此命令添加了一个名为“反向外壳”的计划任务,表明对手正在试图安装持久性机制。但是,如果你是新手无法判断,也可以求助ChatGPT:

05发现哪些攻击者盯上了你

所有威胁狩猎都基于为企业量身定制的威胁情报进行设计。

威胁搜寻应侧重于企业可能遇到的IOC或TTP。如果你的公司在美国运营,那么专注于专门针对俄罗斯企业的攻击者是没有意义的。因此,最佳做法是找出哪些攻击者会针对你,然后找到与其活动相关的IOC和与其攻击方法相关的TTP。

为了查找此威胁情报,企业需要根据其需求定制免费和付费威胁情报源。此外,你也可以求助ChatGPT,如下图所示:

假设您的企业不是一家全球化公司。可以尝试在提示词中增加国家和行业关键词以获得更准确的答案:

06掌握恶意软件趋势

作为威胁猎人,搜寻恶意软件是你的日常工作之一,无论是简单的信息窃取程序(例如Red Line)还是复杂的勒索软件(例如QakBot)。你需要在企业IT环境中开展威胁狩猎工作,搜寻此类恶意软件的指标。

恶意软件家族和变种在网络中的流行度往往会随时间推移产生较大波动,威胁猎人必须随时了解恶意软件的“潮流”。过去,安全认识主要依赖来自安全供应商的威胁情报源或季度威胁报告,如今ChatGPT也可以帮我们快速了解恶意软件趋势: 

本文使用的是ChatGPT 3.0,训练数据集的截止时间为2021年4月,因此并没有最新恶意软件的实时信息。但是ChatGPT 4.0(付费版本)能提供此类信息(编者:可通过插件或扩展应用关联实时威胁情报)。

07开发威胁搜寻假设

威胁狩猎始于一个假设——你想要寻找什么以及如何做到这一点。

例如,你可能需要查找攻击者在IT环境中使用的驻留机制。你需要将这个想法转变为可以通过实验测试的陈述,将想法变成假设。最重要的是,你必须能够反驳这个假设,否则,你将永远得不到最初问题的答案。

例如:“我将在IT环境中查找攻击者使用注册表运行密钥的驻留机制。我可以通过在每台计算机上查找已知的恶意注册表项来做到这一点。”

现在,你知道要查找的内容(恶意注册表运行密钥)以及查找位置(计算机的注册表日志)。你可以通过编写包含良好文档的流程来将此假设转换为实验。

生成一个好的假设可能很困难:

  • 你需要具体,但又不能太具体,以至于错过了想要寻找的东西。
  • 你需要确保你可以反驳你的假设。
  • 你需要将假设限制在一个可管理的时间范围内。

值得庆幸的是,您可以在创建威胁搜寻假设时向ChatGPT寻求帮助,它甚至能生成测试步骤:

08记录威胁狩猎

威胁狩猎是否成功往往取决于文档,没有文档记录的狩猎难以重现。

文档工作很容易被新手威胁猎人忽视,他们经常过于关注行动而不是方法。值得庆幸的是,ChatGPT可以帮助解决这个问题。下面是ChatGPT提供的一个示例模板,可在威胁搜寻的每个阶段填写此模板,从而帮助我们养成编写文档的好习惯: 

09学习威胁狩猎

威胁狩猎涉及多种技能,需要大量时间系统学习和实践才能掌握。许多威胁猎人利用在线资源在工作中学习,但是由于在线资源的非结构化属性,这种学习方法可能效率低下且难以跟踪。

你可以要求ChatGPT帮你编制一个威胁狩猎的自学课程大纲,具体如下:

有了课程大纲,你只需要收集学习资源并根据此大纲进行组织。您甚至可以要求ChatGPT推荐学习资源:

10威胁狩猎自动化

自动化是网络安全的王道。作为威胁猎人,我们的目标是自动执行威胁狩猎。我们希望提升威胁狩猎的自动化水平,即威胁狩猎任务可(自动)重复执行。ChatGPT可以帮助我们初步了解如何自动化特定威胁狩猎任务:

如上所示,ChatGPT为我们提供了有关Cobalt Strike(一种流行的命令和控制C2框架)自动化威胁搜寻的想法。我们还可以要求ChatGPT提供其中某个想法的更具体信息。

总结

本文探讨了使用人工智能工具帮助威胁猎人提升技能和效率的十种方法:

  • 对恶意PowerShell进行去混淆处理
  • 发现攻击者的TTP
  • 生成威胁搜寻查询
  • 解码恶意命令行
  • 发现哪些攻击者可能以您的企业为目标
  • 调查恶意软件趋势
  • 开发威胁狩猎假设
  • 创建威胁狩猎文档
  • 学习威胁狩猎
  • 威胁狩猎的自动化

随着人工智能网络安全应用的普及,网络安全从业者应该主动了解并尝试用强大的人工智能工具来增强工作流程并提高效率,使自己成为人工智能的受益者而不是受害者。

前一篇美国牙科巨头MCNA泄露900万患者数据
后一篇银基科技获2亿元B+轮融资