ChatGPT带动LLM大语言模型应用兴起,资安防御运用LLM也成为外界关心的议题之一,TXOne资安团队在今年台湾资安大会分享如何运用LLM技术打造逆向资安专家,7×24监控异常行为,当发现异常事件时向资安团队提出示警。
TXOne资安威胁研究员Yi-An Lin首先指出,资安人员所面临的难题,根据牛津大学一篇论文显示,高达99%的大多数警示是误报,资安专家通常要花费许多时间排查误报,才能专注处理真正异常警示,例如过去恶意程式Emotet出现,微软Defender曾因为设定较严格的条件,发出误报警示,尽管微软事后澄清为误报,但是资安人员仍花费不少时间排查误报。
Yi-An Lin表示,即使最后查出的可疑样本,现代侦测引擎有许多的限制,同一个样本在不同资安厂商的侦测引擎中的恶意程式分类标签也不一样,资安人员需要投入许多时间阅读许多的资料,研究恶意样本为何会被归类为特定类型的恶意程式,并且不容易了解哪些程式码导致恶意行为。
侦测引擎的一些使用限制,例如「特征码比对」(Signature Matching)结果,通常使用Yara规则来判断,但是很难从判别的字符结果,掌握不同行为之间的关联及它所代表的意义,而使用「动态分析」(Dynamic Analysis)虽然有利用沙盒环境实验恶意程式,有助资安人员掌握恶意程式不同行为间的关联,但是执行动态分析耗费不少时间之外,也可能面临反分析的种种手法,例如要求输入特定的Key才能执行恶意程式。
另外,如果参考EDR/XDR提供的威胁报告,虽然可以关联图呈现事件内不同事件的关系,但是仍缺乏说明解释,需要研究人员进一步去厘清。
上述种种侦测引擎的隐藏限制,提高资安分析团队在分秒必争的资安攻防战下,快速分析研究恶意程式的难度,因此TXOne团队研究如何运用LLM,协助提高资安威胁研究工作的效率。
已有研究论文基础
Yi-An Lin表示,TXOne参考微软曾发表的论文,研究以ChatGPT/GPT4及其他LLM模型解析Binary code,以比较不同模型的表现,该研究利用LLM的自然语言处理来摘要解析Binary code,发现平均的语意相似度达到程式码的4成7。
TXOne受到启发,尝试让LLM能够更加理解程式码所执行的动作,因此他们再参考其他几篇论文,其中一篇将程式转为控制流程图,再将流程图输入神经模型,让模型以比较连续性方式理解程式;另一篇论文则是根据行为模式来提高对恶意程式判断的准确性,例如可疑程式创造一个档案后,再执行一个行为,例如注册或反安装程式,从一连串行为链来提高对恶意程式的判断准确性。
参考上述研究论文成果,TXOne团队探索能不能透过LLM帮助资安人员识别恶意程式。
逆向资安威胁研究专家如何利用行为链来判别恶意程式?TXOne举例,当发现一个可疑的样本首先执行删除系统回复档案的行为,以阻止系统回复,其次该样本利用呼叫及回圈搜集Windowsf上的磁碟及档案及相关的MetaData资讯,接下来发现使用加密演算法ChaCha20加密资料,最后拆解恶意程式样本建立控制流程图,从一连串的行为链,判断该恶意程式样本为勒索软体,进一步研究后发现,该样本是去年全球前10名的勒索软体Black Basta,英国电信龙头BT曾经受害。
利用LLM辅助判别恶意样本
在不执行恶意程式样本下,利用样本的行为链、控制流程图,最后识别是哪一种恶意软体,原本由资安威胁研究人员判别,TXOne团队尝试由LLM协助判别,来辅助资安威胁研究人员判别恶意程式,将以往需要大量人工研究的过程,在AI辅助下提高工作效率。
TXOne资深资安威胁研究员Jair Chen表示,传统资安威胁研究人员分样恶意样本,利用Disassembler将样本拆解为Code Block,同时也用侦测引擎分析样本的行为,综合Code Block及行为来建立控制流程图,在流程图中标示特定流程执行的恶意行为,以此建立威胁分类资料库。威胁分类资料库依据微软的定义分为15类恶意程式,如间谍程式、钓鱼软体、勒索软体、广告软体等等,每一类都有各自的恶意行为。
Jair Chen指出,之后可以运用AI辅助判别样本,先输入恶意程式样本,拆解出控制流程图及Assembly Code,LLM模型就能根据威胁分类资料库、控制流程图及恶意行为,判别恶意程式类别,并提供解释及建议。经过测试,一个恶意程式样本透过Virus Tatal分类,可能判别为木马、下载器,而透过LLM可能将该样本分类为后门程式、糯虫,通过LLM可以得到额外的观点,这些分类都是恶意程式样本的一部分。
LLM能提供恶意样本分类的说明,例如将该样本分类为后门程式,标示function位置,在DarkFlow Graph的位置,还标示出相关的Assembly Code,并且简单说明可能造成的影响。资安人员再根据LLM的说明,进一步作其他的研究分析。
Jair Chen表示,SOC团队每天都会收到大量的资安攻击报告,威胁专家要花费大量时间分析样本,而LLM使用也有其限制,它对Assembly Code及pseudo-C code的解释性不足,因此仿照威胁研究专家的工作流程,利用行为链和LLM建立一位7×24、全年无休的逆向专家,辅助资安人员对恶意程式的分析及分类。