杨春雨,徐 洋,张思聪,李小剑
贵州师范大学 贵州省信息与计算科学重点实验室,贵阳 550001
国家互联网应急中心2020 年第8 期网络安全信息与动态周报指出,境内感染网络病毒的主机数量达到了58.6 万,被木马或僵尸程序控制的主机约52.7 万个,感染飞客蠕虫的主机约5.9 万,木马和僵尸程序较上周增长了3.4%,飞客蠕虫较上周增长了4.5%[1]。随着互联网的发展,快速增长的恶意软件无疑给国家和社会带来了巨大的经济损失,有必要提出更加精准快速的分析方法。
传统的恶意软件分析方法分为静态方法和动态方法[2]。静态方法主要是对恶意软件和其反编译文件提取的静态特征进行分析,但是仅仅采用单一类型的特征容易受到代码混淆或加壳等技术的影响,对多种特征融合和降维,然后使用分类算法对恶意软件进行分类往往能够获得更好的效果。动态分析方法主要是在虚拟环境中执行恶意软件样本,记录恶意软件的行为特征,如系统调用名称、上下文参数、环境变量等[3],然后基于动态行为特征进行分类,常用的恶意软件动态分析平台有Cuckoo Sandbox。恶意软件检测是一个二分类问题[4],而恶意软件分类是根据不同恶意软件家族的相似特征来识别出样本,是一个多分类问题。
2010年,Conti等[5]首次提出将二进制文件转化为灰度图像。2011年,Nataraj等[6]提出将恶意软件转化成灰度图像,利用同一恶意软件家族的灰度图具有纹理的相似性,提取灰度图的Gist 特征,使用KNN 作为分类器,在Malimg数据集上取得了98%的准确率。……