论文部分内容阅读
近年来,国家之间的网络对抗正变得越来越激烈,以高级持续性威胁为代表的定向网络攻击已经严重威胁到政府、军队和企业等重要机构和组织的网络安全。面对日益严峻的网络安全形势,安全人员亟需快速定位攻击来源,并从源头遏制网络攻击行为的能力。恶意代码是攻击者使用的重要工具和手段,但同时也是安全人员的重要溯源依据。目前基于恶意代码的溯源分析方法大多是从功能层面进行分析,但不同的攻击组织可以使用不同的方法包装同一功能的恶意代码,并将其用于攻击;而同一攻击组织也会针对不同目标,开发不同功能的恶意代码,以上情况给溯源攻击组织的工作带来了很大的困难。针对以上问题,本文主要研究从恶意代码中提取能够明确指向其攻击组织的可见字符串和汇编代码片段,将其定义为该攻击组织的恶意代码基因。恶意代码基因是同一攻击组织的恶意代码样本特有,而其他攻击组织样本不具备的信息,具有排他性。攻击组织特征是该攻击组织所有恶意代码基因的集合。在此基础上,本文提出了一种基于恶意代码基因的攻击组织特征提取方法,主要工作可以概括如下:(1)提出了一种基于TF-IDF与Word2Vec融合的恶意代码可见字符串向量化方法。在提取恶意代码可见字符串基因时,需要确定某个可见字符串是否仅在某个攻击组织的样本存在。为了便于可见字符串间的比较,需要将可见字符串转化为易于比较的向量,针对Word2Vec模型侧重于词语的语义信息而忽略每个恶意代码可见字符串重要性的问题,本文首先使用TF-IDF算法计算恶意代码可见字符串在攻击组织样本中的权重,然后对UNICODE编码和特殊模式的可见字符串进行了权重叠加,最后将其与原始Word2Vec向量拼接,得到既包含恶意代码可见字符串语义信息又包含其重要程度的向量表示。(2)提出了一种基于自注意力机制的双向循环神经网络的汇编代码表示学习模型。在提取恶意代码的汇编代码基因时,需要确定某一汇编代码片段是否仅在某一个攻击组织中存在。为了便于汇编代码片段间的相互比较,需要将汇编函数转化为易于比较的向量。本文提出的模型能够更全面的学习不同编译器和优化级别上生成的恶意代码汇编函数的上下文语义,得到包含语义的汇编代码向量表示,尽可能消除不同的编译器和优化级别对恶意代码函数相似性检测带来的影响。(3)提出了基于恶意代码基因的攻击组织特征提取方法。恶意代码基因是某一攻击组织的恶意代码样本中特有的可见字符串和汇编代码片段,攻击组织特征是则该攻击组织的所有恶意代码基因的集合。在提取过程中,需要移除与其他攻击组织样本高度相似的可见字符串和汇编代码片段。在将恶意代码可见字符串与汇编函数转换为对应向量后,计算向量之间的余弦相似度,然后按照相似度进行排序,若某个可见字符串或汇编代码片段与其他攻击组织的可见字符串或汇编代码片段高度相似,则将移除该可见字符串和汇编代码片段。通过不断迭代,提取出在当前恶意代码样本集下该攻击组织所有恶意代码基因,作为攻击组织特征。(4)开发了基于恶意代码基因的攻击组织特征提取系统。最后,经过多项对比实验,验证了本文所提出的攻击组织特征提取方法的有效性。能够有效溯源到攻击组织中的特有基因,与其他方法相比查全率和查准率有着明显提升。