基于关联增强的网络威胁情报技战术分类
2022-03-29葛文翰王俊峰唐宾徽于忠坤陈柏翰
葛文翰, 王俊峰, 唐宾徽, 于忠坤, 陈柏翰, 余 坚
(1.四川大学计算机学院, 成都 610065; 2. 四川大学网络空间安全学院, 成都 610065)
作为网络分析知识的重要信息来源渠道,网络威胁情报(Cyber Threat Intelligence, CTI)可以将零碎的信息组织成“基于证据的现有或新兴知识”[1].这些零碎的证据信息, 也称妥协指标(Indicators of Compromise, IoCs)[2],可以帮助建立完整的网络攻击场景模型.目前比较认可的对IoCs信息的分级主要是由David提出的IoCs价值和成本测量系统:“痛苦金字塔模型”(Pyramid of Pain, PnP)[3].其中IoCs等级的增加标志着其价值和获取难度的同步增加.根据PnP的描述,直观的IoCs信息,比如IP地址或Hash值等,属于金字塔较低层次.这类信息通常具有相似结构或相似特征.而处在金字塔层级较高的是比较抽象的信息,比如恶意软件、工具、网络结构等.这类信息一般由多种描述方式,例如名称、行为、Hash甚至作者,造成CTI描述的多样性.
经过多年发展,较为低级的IoCs信息已经能够被有效识别[2,4-6].部分较高等级的IoCs信息也能通过使用机器学习进行有效分析.Jang等[7]使用卷积神经网络(Convolutional Neural Networks, CNN)通过代码特征图分类恶意软件.Deliu等[8]通过支持向量机(Support Vector Machines, SVM)和潜在Dirichlet分解抽取恶意工具.
针对当前TTPs分类效果差、不平均,人工关系不明确的问题,本文提出使用基于关联增强的技战术分类模型RENet.该模型使用双向循环神经网络(Bidirectional Recurrent Neural Networks, BiRNN)和CNN作为基础分类器,并通过使用可自我学习和优化的技战术关联矩阵为引导的关联增强模块增强技术分类的效果.本文对RENet就中英文分别进行了工具化并开源到Github上(https:// github.com/MuscleFish/RENet),以供其他需求者使用.
2 相关工作
网络威胁报告(Cyber Treat Reports, CTR)是CTI中的一类情报.这类情报主要由人工撰写的安全文章、博客或其他文本组成[11].与之前的结构化数据相比,CTR由于由多人撰写发布,不具备预定义且完整的描述规则或行文格式,因此被普遍认为是非结构化文本.随着网络安全事件的发生频率越来越高,大量的CTR和安全事件被各大安全公司和安全专家披露.在这种情况下,使用CTR作为安全知识信息库的情报来源,无疑是一种有效选择.
智能分析CTR的方法普遍分为两种:信息抽取(Information Extraction,IE)和分类方法.IE的目标是通过筛选和查找具有特定语义的信息完成信息的检索工作[2].在传统的网络安全分析中,基于规则的方法擅长处理信息完整的结构化数据,如日志[16]和网络流量[17].基于规则的方法[18]可以在特定的结构或模式中优先识别特定的数据,同时保证其方法具有较好的通用性.IP地址、Hash和URLs是比较常见的结构化数据,围绕这部分数据的工作已有很多[2,4-6].命名实体识别(Named Entity Recognition,NER)[19]是目前较为主流的IE全监督学习方法.通过该方法,绝大多数的IoCs信息能够被结构化为特定的结构信息方便存取[14].但因为IoCs的高级信息的多描述、跨语句的特性,NER并不能适用于此类信息抽取的场景.
分类方法是智能分析CTR的另一种方法,其特点在于对全局信息的把控而非对局部信息的抽取.因此现有分类方法对CTR的高级IoCs或全局信息的识别和定义能力明显强于IE.Wang等[20]使用TextCNN识别源代码.Zhao等[21]使用全连接神经网络(Fully-Connected Neural Network, FC-NN)判别网络文章是否属于CTI情报.Grisham等[22]使用RNN从CTI中识别恶意代码.Dang等[23]使用BiLSTM-CNN的方式分类恶意软件.
作为PnP所定义的最高级的IoCs,TTPs在分析CTI的过程中扮演了串联事件、还原攻击的作用[9].当前针对TTPs的分析框架主要包括攻击链[24]、网络攻击生命周期[25]和ATT&CK[26].由于ATT&CK较新且描述完整,目前大多数分析工作普遍围绕ATT&CK和其结构化描述框架STIX[14]开展.ActionMiner[13]和TTPDrill[12]作为从CTR分析TTPs的工具,采用的是结构化STIX信息作为抽取技术的关键.其方法围绕抽取特定的关键细节为蓝本,构造对特殊词汇的技术描述.虽然其出具结果比较优秀,但一方面这个过程过多依赖专家经验导致效果难以复现,另一方面此二者无法有效分析比技术更加抽象的战术信息.正是由于发现了这个事实,Seifert 提出开源TTPs分析工具rcATT[11].该工具使用以SVM为主的机器学习作为分类TTPs的核心,虽然能够有效解决人工分析的压力,但由于其在战术和技术上的分类效果较差且差距过大,导致其分析结果并不十分可信.
值得注意的是,ATT&CK所制定的技战术具有严格的从属划分,对于特定的技术,一般只出现于1~2个战术中.正是考虑到这点,rcATT合理运用该关系修正了部分分类效果,但是该成果并不显著.其原因可能是人工定义的关系和迭代阈值不能精确区分和划分技战术关系的重要性区间和迭代值,造成一定程度的无法进化.rcATT选择的技术增强是典型的后处理,通过将战术分类结果输入SVM分类器作为特征进行技术分类,其假设的条件是战术分类结果正确且关系正确.虽然提高了技术的部分准确性但效果不可逆,即技术的分类推导无法提高战术分类效果.
因此本文考虑使用多任务分类模型作为抽取技战术信息的模型.该模型将同时训练技战术分类,并在分类过程中对技术分类的效果产生指导,合理优化技战术关系,提高技战术分类准确性.
3 方法原理
作为多标签深度学习模型,RENet主要包含两个任务:一个是多标签分类任务;另一个是使用关联增强修正技术的分类结果.本章节将就上述两个目标做数学推导和模型结构说明.
3.1 模型结构
图1展示了RENet的网络模型结构.RENet主体分为两个相互独立分类器,一个管理战术分类,另一个管理技术分类.其独立性体现在两个模型的权重和层的不共享.在分类器尾部RENet使用关联增强的方式将战术的分类效果迁移至技术分类器上共同维护技术的分类效果.
图1 RENet网络结构与数学表达对应关系Fig.1 RENet network structure and mathematical expression correspondence
3.2 技战术分类器
RENet的分类器是由BiRNN[27]和CNN共同组成的TextRCNN模型[28].分类器通过式(1)完成分类任务.该任务要求分类器Cls根据文档D推导其标签列表L.因此Cls的方法实际上是一个由D到L的映射.
Cls:D→L
(1)
事实上,通常文档D是由单词词汇W组成的,通过合理表征W就能够合理表示D的特征.而单词W的表征,一般通过词嵌入学习的方式获取其词向量SW.同时对标签L列表的表示也可以通过其概率模型PL表示.因此式(1)也可以被表示成式(2).
Cls:SW→PL
(2)
(3)
(4)
(5)
式(6)负责将所有的k-gram特征SW(k)合并为一个特征SD,该特征将表示原本文档D的特征.
SD=[SW(1);SW(2);…;SW(k)]
(6)
通过使用式(7),文档特征向量SD将转化为标签概率PL.其中WL和bL分别是其权重和偏移量.σ是sigmoid激活函数.
PL=σ(WLSD+bL)
(7)
通过实现式(3)~(7),式(2)得以实现.由于RENet存在独立的技战术分类器,因此技术和战术的分类将被分别描述为式(8)和式(9).
Clstech:SW→PLtech
(8)
Clstact:SW→PLtact
(9)
3.3 关联增强
(10)
(11)
(12)
4 算法仿真与实验结果
本文基于ATT&CK知识库数据,我们将使用ATT&CK技战术数据就RENet和其他常用CTI分析模型作比较,以验证RENet在分类TTPs上的效果.
4.1 实验准备
本文使用的数据源为MITRE公司官方网站提供的针对ATT&CK V8语句公开标注.表1展示了Mitre官网[26]针对技术T1548.002的描述实例参考.通过数据清洗和去重后形成对14个战术和184个主要技术的6504条描述语句.并通过翻译和校对的方式形成了带有技战术标签的中英文数据集.各数据集将按照6∶4的比例被分割为训练集和测试集.由于技战术分类是多标签分类,本文将使用Precision-Recall和F_β分数为评价指标[29].针对该数据集文本,使用Bert[30]作为其预训练词嵌入模型.
为有效分析RENet的分类效果,如下模型将被作为横向对比实验.所有对比模型均被设计为和RENet类似的多任务模型.
(1) rcATT: rcATT[11]作为目前全监督技战术分类的模型,在使用以线性SVM为分类器时能够达到其最好的结果.
表1 ATT&CK官网对技术T1548.002的语句标注
(2) FC-NN: FC-NN作为Zhao[25]判别网络文章是否属于CTI的分类器的核心,在本文的实验中将被重构为多标签技战术分类模型.
(3) TextCNN: 在Wang[24]的实验中,TextCNN被用于识别源代码的分类,并取得了不错的效果.因此本文选择使用经过技战术分类的TextCNN作为对比模型.
(4) BiRNN: Grisham[26]使用RNN模型作为从CTI中分类恶意代码的方式.BiRNN[31]在RNN的基础上使用双向机制讲古抽取上下文信息.在本文中将使用BiRNN作为对比模型之一.
(5) BiRNN-CNN: 作为BiRNN和CNN 的混合模型,该模型兼顾了RNN在上下文记忆和CNN在高维抽象上的优势,因此,在Dang[27]的实验中表现良好.
(6) TextRCNN: TextRCNN[28]是RENet分类器的核心.设计目标是验证在没有使用关联增强的前提下,TextRCNN的分类结果能否与RENet相同.以此验证关联增强的有效性和必要性.
RENet的关联分析矩阵P(ltech,i|ltact,j)同时具备人工初始化和自我训练优化的优点,因此本文将设计如下变种用来验证不同关系初始化和优化方式对技战术分类效果的影响.这些变种主要包括:
(1) 0-RENet: 该模型使用未经过人工初始化的关联转移矩阵,其所有P(ltech,i|ltact,j)均初始化为0.其设计目的在于检验模型能否更具自身需要设计技战术关系实现分类
(2) a-RENet: 该模型使用经过人工初始化的技战术关联关系.人工初始化关系我们参考ATT&CK官网,对每个有从属关系的技战术P(ltech,i|ltact,j)赋值0.1.
(3) la-RENet: 该模型同样适用人工初始化的技战术关系为关联转移条件.与a-RENet不同的是,其关系是锁定的.这意味着关系不会随着训练的进行改变.该模型的设计是目标是检测从属关系是否为技战术主要关系.
表2~表5分别展示了RENet变种与对比模型在中英文数据集上对技战术分类测试集的结果.
表2 中文数据集战术分类结果
表3 中文数据集技术分类结果
表4 英文数据集战术分类结果
表5 英文数据集技术分类结果
根据表2~表5结果可以产生如下推论.
(1) RENet、BiRNN-CNN和TextRCNN在总体分析结果上优于单独使用TextCNN或BiRNN.这说明RENet、BiRNN-CNN和TextRCNN能够有效兼顾RNN和CNN的优势.
(2) 使用关联增强的RENet无论是在战术的分类还是技术的分类上都优于不用关联增强的TextRCNN.这说明关联增强起到了一定的作用.
(3) 经过人工关系初始化的a-RENet和la-RENet比未经过初始化的0-RENet表现效果好.其原因可能是在训练的初期引入了较少的误差使得模型能够获得并学习更加有效且准确的参数.
(4) la-RENet比a-RENet的效果好.可能是由于技战术的关系主要以ATT&CK所定义的从属关系为主,同时锁定的关系能够进一步降低训练误差.
(5) 中文数据集的效果优于英文数据.其可能原因是中文描述的多样性低于英文描述,导致词汇的分布较为集中,引起效果的提升.
此外,图2和图3分别反映了在中英文数据集中测试集技术分类效果随训练次数的变化.可以发现使用了关联增强的RENet在拟合能力上快于其他没有使用关联增强的对比模型.其可能的原因在于,RENet的关联增强模块能够优先将战术的限制传递到技术的训练上,造成技术的训练从原本的随机梯度下降转变为半随机梯度下降,即有指向性的迭代分类参数,迫使技术分类器能够快速获取进化的方向,完成拟合.
图4~图8分别反映了经过训练后不同RENet变种的关联转移模块权重P(ltech,i|ltact,j)的邻接矩阵热力图.通过对比图4~图6,可以发现虽然存在噪声但3种RENet的技战术关联信息大致接近,同时模型对技战术的关联和联想存在优先级.
图2 中文数据集技术测试集效果随训练变化Fig.2 Chinese dataset techniques test set effect within training
图3 英文数据集技术测试集效果随训练变化Fig.3 English dataset techniques test set effect within training
图4 la-RENet技战术关联转移邻接矩阵Fig.4 la-RENet tactics-techniques correlation transfer adjacency matrix
图5 0-RENet技战术关联转移邻接矩阵(正值)Fig.5 0-RENet tactics-techniques correlation transfer adjacency matrix (positive)
图6 a-RENet技战术关联转移邻接矩阵(正值)Fig.6 a-RENet tactics-techniques correlation transfer adjacency matrix (positive)
图7 0-RENet技战术关联转移邻接矩阵(负值)Fig.7 0-RENet tactics-techniques correlation transfer adjacency matrix (negative)
图8 a-RENet技战术关联转移邻接矩阵(负值)Fig.8 a-RENet tactics-techniques correlation transfer adjacency matrix (negative)
同时,图7和图8也反映出RENet在正支持相关性外也学习到了负支持的相关性.即出现在负支持中的技战术对很难同时出现,这是人工定义所不具备的条件.说明RENet能够利用但不依赖人工关系的特点.
5 结 论
针对现有工具在TTPs分类上的不足,本文提出使用关联增强的多标签分类模型RENet用于技战术分析.RENet通过形成较为完整的技战术分布依赖,锁定技战术标签的范围,提高技战术分类的准确性.实验表明,RENet较现有方法在中英文的技战术分类上均有良好表现,同时具备快速训练和自动关系优化的特点.