本技术介绍了一种创新的恶意软件分类方法,该方法通过静态多特征优化与融合实现。首先,利用EfficientNet-B3模型对恶意软件图像进行特征提取。接着,结合IDA Pro和Radare2工具对软件进行逆向分析,以提取静态特征。通过特征优化和融合,提高恶意软件家族分类的准确性和效率。
背景技术
恶意软件防御领域第一阶段的检查工作,会对现实网络的海量样本进行初步筛查,得到的可疑样本还需要进行进一步的分析,即恶意软件防御工作的第二阶段任务,这个阶段的数据量也是十分可观的,仍然需要高效的方式来进行进一步的处理,在这个阶段中,恶意软件的家族分类是主流的研究方向。
研究恶意软件家族分类对恶意软件防御领域具有重要的理论价值和现实意义。对于恶意软件检测,研究家族分类有助于揭示家族特征,使得识别未知的家族变体成为可能;另一方面,单纯检测和防范始终是被动的,为了更好地从根源上遏制恶意软件的发展,目前研究机构和安全公司都开展了恶意软件溯源的分析和研究工作,恶意软件家族分类是其中家族溯源的重要技术支撑。
经过第一阶段的检测,识别出的可疑样本,通常主要包含以下三类情况:
第一类是可以直接实现静态逆向分析的样本发明件。这是最理想的情况,这类恶意软件样本通常是普通的病毒、木马、蠕虫等,可能是未经过混淆、加密、加壳等操作的样本,也可能是使用常见的加壳、加密等技术进行保护,但是可以采用工具实现脱壳解密等操作,通过静态逆向分析可以获取其完整的汇编代码和功能。对于这类样本,采用静态分析能够获得程序的结构、语义、统计等各种类型的特征,这也一直是恶意软件分析中最流行、最有效的分析方法之一。因此对此类文件,研究基于静态分析特征的恶意软件智能家族分类方法具有重要的理论价值和现实意义。本发明的研究工作就是针对这类样本的家族分类展开,尤其着重于家族分类过程中的特征优化与融合筛选。
家族变体是已知恶意软件经过功能或反检测技术的进化后生成的新型恶意软件,现有针对恶意软件变种的家族溯源工作一般都是通过提取其特征信息或部分原始代码,通过分析它们与已知家族样本发明件的相似性,实现可疑样本的家族溯源。现有研究中借助机器学习技术实现的智能分类工作近年来有所增加,这些工作中对特征的提取主要分为两类,一类是与传统检测工作类似,需要利用恶意软件的相关先验知识,通过静态或动态分析,提取出可读字符串、文件结构和函数调用图等特征。文献[Kinable,J.,&Kostakis,O.(2011).Malware classification based on call graph clustering[J].Journal inComputer Virology,7,233-245.]通过提取恶意软件样本的系统调用图,应用图匹配的方法分析恶意软件相似性,从而达到识别其家族同源性的目的。另一类研究工作则不依托恶意软件先验知识,直接利用机器学习方法实现家族分类。文献[Nataraj,L.,Karthikeyan,S.,Jacob,G.,&Manjunath,B.S.(2011).Malware images:visualization and automaticclassification[C].Visualization for Computer Security.]提出的将恶意软件直接转换为灰度图的方法,开启了学术界一个新的研究方向,后续研究都沿用了代码转换为灰度图这一思路,在其基础上进行了各种改进。有的研究对灰度图进行分割并使用灰度共生矩阵特征(Gray Level Cooccurrence Matrix,GLCM),有的研究工作引入了信息熵的概念,提出了熵图的概念,通过比较图像的熵值来对恶意软件进行分类等等。
这些工作都取得了一定的成绩,为恶意软件家族分类的研究做出了贡献,但仍然存在一些值得改进的问题:一方面,现有工作大部分还是采用了单一特征或者单一类型的特征,这就使得这些特征只能覆盖一部分恶意软件的特征信息,不能充分全面地表征原始样本所携带的信息,即存在一定的信息损失,从而导致最终的分类结果受到影响。另一方面,一些研究工作开始尝试多个特征的结合,但是大多以简单拼接的方式实现,没有对特征进行优化和选择,易导致特征维度过大,会引起训练时间开销的增加,且过多的特征冗余会分散有效特征对分类结果的影响权重,难以聚焦真正起作用的特征。
实现思路