一种基于混合纹理特征的恶意代码分类方法及装置制造方法及图纸

技术编号:29614861 阅读:15 留言:0更新日期:2021-08-10 18:29
本发明专利技术提供一种基于混合纹理特征的恶意代码分类方法及装置,所述方法包括:获取待分类恶意代码二进制文件;将所述待分类恶意代码二进制文件映射为灰度图像;从所述灰度图像中提取全局特征;从所述灰度图像中提取局部特征;连接提取的所述全局特征、局部特征,形成复杂纹理特征;将所述复杂纹理特征输入训练好的恶意代码变种分类模型,输出所述待分类恶意代码的分类。根据本发明专利技术的方案,充分挖掘恶意代码图像纹理特征,克服针对样本数量不足的恶意代码家族样本分类效果欠佳的问题;提高了恶意代码分类的正确率。有效克服恶意代码动静态特征检测对抗技术的影响,鲁棒性强。

【技术实现步骤摘要】
一种基于混合纹理特征的恶意代码分类方法及装置
本专利技术涉及网络空间安全领域,尤其涉及一种基于混合纹理特征的恶意代码分类方法及装置。
技术介绍
目前,恶意代码检测技术主要分为基于静态特征的检测技术与基于动态特征的检测技术。基于静态特征的恶意代码检测技术资源消耗小,但是一般难以对抗恶意代码混淆技术,恶意代码编写作者通过利用加密、加壳、加花指令等技术修改恶意代码,增加代码逆向难度、时间与空间成本。基于动态特征的恶意代码检测方法,不需要对恶意代码进行逆向分析,降低代码混淆技术对恶意代码检测的影响。但是,恶意代码动态特征抽取过程需要消耗较高的时间和空间成本,恶意代码编写人员,通过增加行为触发条件,设置休眠时间,检测运行环境属性,判断恶意代码是否在真实宿主机中运行等方法,以隐藏恶意代码行为特征,规避动态检测方法。近年来,研究人员提出了一种基于纹理特征的恶意代码检测技术。该方法通过将恶意代码转化为图像,建立提取图像纹理特征,以实现对恶意代码检测。该方法不需要提取恶意代码特征码,不需要模拟实际运行环境,可以有效对抗特征码修改、动态特征检测规避等免杀技术。恶意代码编写人员无论通过重用恶意代码功能模块,还是对恶意代码进行代码混淆,产生恶意代码变种文件与祖先恶意代码文件都具有很多同源部分。因此,通过提取恶意代码文件纹理特征,可以利用恶意代码变种同源性,对恶意代码变种进行分类。当前相关专利,例如,申请号CN201610405003.2,CN201511013606.X,CN201810008763.9,CN201811187768.9等基于恶意代码可视化特征研究了恶意代码分类问题,取得了一定的分类效果,但仍存在相似家族的分类正确率不高,针对样本数量较少的恶意代码家族分类效果欠佳等问题。申请号CN201610405003.2针对Android程序,将APK程序代码映射为灰度图像,仅仅提取图像GIST特征实现恶意代码分类,取得了一定的恶意代码分类效果,但是分类正确率还有待进一步提高。申请号CN201511013606.X通过卷积神经网络实现恶意代码家族的分类,但是该方法基于深度学习模型针对样本数量较少的恶意代码爱家族分类效果欠佳。申请号CN201810008763.9提出了一种结合恶意代码可视化特征与部分文件特征的恶意代码分类方法,该方法将恶意代码转化为RGB图像,提取图像特征,并提取恶意代码文件的部分文件静态特征作为局部特征,综合两类特征实现了更好的恶意代码分类效果。但是经过相关研究证明,恶意代码的图像纹理特征具有较好的分类效果,通过结合部分恶意代码静态特征在一定程度上提升了恶意代码分类的效果,但是同时也会因代码混淆,加密等静态检测对抗技术导致恶意代码文件逆向难度增高,降低该方法的效率与恶意代码分类效果。申请号CN201811187768.9提出了一种基于图像纹理特征的恶意代码分类方法,该方法将恶意代码转化为灰度图像后,基于灰度共生矩阵提取图像的纹理特征,结合机器学习分类方法实现恶意代码分类,取得了一定的效果,但是该方法仅仅依靠灰度共生矩阵提取图像纹理特征,针对部分相似家族的恶意代码分类正确率较低,恶意代码分类效果还有待进一步提高。综上,现有的基于图像纹理特征的恶意代码分类方法针对样本数量不足的恶意代码家族与相似家族的恶意代码样本分类正确率还有待提高,未能充分挖掘恶意代码纹理特征的分类效果,同时加入恶意代码的文件静态特征会降低恶意代码分类方法的鲁棒性。探寻更佳的恶意代码可视化分类方法仍然是恶意代码检测领域中重要的研究方向之一。
技术实现思路
为解决上述技术问题,本专利技术提出了一种基于混合纹理特征的恶意代码分类方法及装置,所述方法及装置,用以解决现有技术中基于图像纹理特征的恶意代码分类方法针对样本数量不足的恶意代码家族与相似家族的恶意代码样本分类正确率较低,未能充分挖掘恶意代码纹理特征的分类效果,同时加入恶意代码的文件静态特征会降低恶意代码分类方法的鲁棒性的问题。根据本专利技术的第一方面,提供一种基于混合纹理特征的恶意代码分类方法,所述方法包括以下步骤:步骤S101:获取待分类恶意代码二进制文件;步骤S102:将所述待分类恶意代码二进制文件映射为灰度图像;步骤S103:从所述灰度图像中提取全局特征;步骤S104:从所述灰度图像中提取局部特征;步骤S105:连接提取的所述全局特征、局部特征,形成复杂纹理特征;步骤S106:将所述复杂纹理特征输入训练好的恶意代码变种分类模型,输出所述待分类恶意代码的分类;所述训练好的恶意代码变种分类模型,是由多个恶意代码训练样本训练得到的。进一步地,所述步骤S102:将所述待分类恶意代码二进制文件映射为灰度图像,包括:步骤S1021:将所述待分类恶意代码二进制文件中的数据转化为灰度图像的像素数据,包括:提取所述待分类恶意代码二进制文件字节流数据,将每个字节数据作为一个8比特无符号整型数据,所述无符号整型数据的取值范围是[0,255],二进制灰度图像中每个像素点的取值范围为[0,255],将每个字节数据和像素点一一对应;将所述待分类恶意代码二进制文件的全部字节流数据转化为灰度图像像素点;步骤S1022:根据预设策略,确定所述灰度图像的宽度,基于所述待分类恶意代码二进制文件的字节数,计算所述灰度图像的高度。进一步地,所述预设策略为恶意代码文件小于10KB时,灰度图像的图像宽度为32;恶意代码文件大小大于或等于10KB,且小于30KB时,灰度图像的图像宽度为64;恶意代码文件大小大于或等于30KB,且小于60KB时,灰度图像的图像宽度为128;恶意代码文件大小大于或等于60KB,且小于100KB时,灰度图像的图像宽度为256;恶意代码文件大小大于或等于100KB,且小于200KB时,灰度图像的图像宽度为384;恶意代码文件大小大于或等于200KB,且小于500KB时,灰度图像的图像宽度为512;恶意代码文件大小大于或等于500KB,且小于1000KB时,灰度图像的图像宽度为768;恶意代码文件大小大于或等于1000KB,灰度图像的图像宽度为1024。进一步地,所述步骤S103:从所述灰度图像中提取全局特征,包括:步骤S1031:使用不同尺度与不同方向的多个Gabor滤波器对所述灰度图像进行滤波,得到多个滤波后的纹理特征信息;步骤S1032:将每个滤波后的纹理特征信息分割为若干个网格部分;步骤S1033:计算每个分割后的网格部分内部纹理特征信息的数值平均值;步骤S1034:连接各个滤波后的纹理特征信息分割的各个网格对应的数值平均值,组合得到滤波后的灰度图像的GIST特征;所述滤波后的灰度图像的GIST特征表示为GIST=fgist(M,Rr,Fn,N=(bx,by))(公式1),其中,M为输入的灰度图像数据;Rr为标准化处理后的灰度图像数据;Fn为使用不同尺度与不同方向的Gabor滤波器数量;N=(bx,by)为滤波后的纹理特征信息分割的网络在水平方向和垂直方向的数量参数;bx*by为本文档来自技高网
...

【技术保护点】
1.一种基于混合纹理特征的恶意代码分类方法,其特征在于,包括以下步骤:/n步骤S101:获取待分类恶意代码二进制文件;/n步骤S102:将所述待分类恶意代码二进制文件映射为灰度图像;/n步骤S103:从所述灰度图像中提取全局特征;/n步骤S104:从所述灰度图像中提取局部特征;/n步骤S105:连接提取的所述全局特征、局部特征,形成复杂纹理特征;/n步骤 S106:将所述复杂纹理特征输入训练好的恶意代码变种分类模型,输出所述待分类恶意代码的分类;/n所述训练好的恶意代码变种分类模型,是由多个恶意代码训练样本训练得到的。/n

【技术特征摘要】
1.一种基于混合纹理特征的恶意代码分类方法,其特征在于,包括以下步骤:
步骤S101:获取待分类恶意代码二进制文件;
步骤S102:将所述待分类恶意代码二进制文件映射为灰度图像;
步骤S103:从所述灰度图像中提取全局特征;
步骤S104:从所述灰度图像中提取局部特征;
步骤S105:连接提取的所述全局特征、局部特征,形成复杂纹理特征;
步骤S106:将所述复杂纹理特征输入训练好的恶意代码变种分类模型,输出所述待分类恶意代码的分类;
所述训练好的恶意代码变种分类模型,是由多个恶意代码训练样本训练得到的。


2.如权利要求1所述的基于混合纹理特征的恶意代码分类方法,其特征在于,所述步骤S102:将所述待分类恶意代码二进制文件映射为灰度图像,包括:
步骤S1021:将所述待分类恶意代码二进制文件中的数据转化为灰度图像的像素数据,包括:提取所述待分类恶意代码二进制文件字节流数据,将每个字节数据作为一个8比特无符号整型数据,所述无符号整型数据的取值范围是[0,255],二进制灰度图像中每个像素点的取值范围为[0,255],将每个字节数据和像素点一一对应;将所述待分类恶意代码二进制文件的全部字节流数据转化为灰度图像像素点;
步骤S1022:根据预设策略,确定所述灰度图像的宽度,基于所述待分类恶意代码二进制文件的字节数,计算所述灰度图像的高度。


3.如权利要求2所述的基于混合纹理特征的恶意代码分类方法,其特征在于,所述预设策略为恶意代码文件小于10KB时,灰度图像的图像宽度为32;恶意代码文件大小大于或等于10KB,且小于30KB时,灰度图像的图像宽度为64;恶意代码文件大小大于或等于30KB,且小于60KB时,灰度图像的图像宽度为128;恶意代码文件大小大于或等于60KB,且小于100KB时,灰度图像的图像宽度为256;恶意代码文件大小大于或等于100KB,且小于200KB时,灰度图像的图像宽度为384;恶意代码文件大小大于或等于200KB,且小于500KB时,灰度图像的图像宽度为512;恶意代码文件大小大于或等于500KB,且小于1000KB时,灰度图像的图像宽度为768;恶意代码文件大小大于或等于1000KB,灰度图像的图像宽度为1024。


4.如权利要求1所述的基于混合纹理特征的恶意代码分类方法,其特征在于,所述步骤S103:从所述灰度图像中提取全局特征,包括:
步骤S1031:使用不同尺度与不同方向的多个Gabor滤波器对所述灰度图像进行滤波,得到多个滤波后的纹理特征信息;
步骤S1032:将每个滤波后的纹理特征信息分割为若干个网格部分;
步骤S1033:计算每个分割后的网格部分内部纹理特征信息的数值平均值;
步骤S1034:连接各个滤波后的纹理特征信息分割的各个网格对应的数值平均值,组合得到滤波后的灰度图像的GIST特征;所述滤波后的灰度图像的GIST特征表示为GIST=fgist(M,Rr,Fn,N=(bx,by))(公式1),其中,M为输入的灰度图像数据;Rr为标准化处理后的灰度图像数据;Fn为使用不同尺度与不同方向的Gabor滤波器数量;N=(bx,by)为滤波后的纹理特征信息分割的网络在水平方向和垂直方向的数量参数;bx*by为一个灰度图像分割后的网格数量。


5.如权利要求1所述的基于混合纹理特征的恶意代码分类方法,其特征在于,
所述步骤S104:从所述灰度图像中提取局部特征,包括:
步骤S1041:将一幅灰度图像的局部纹理区域表示为T,其中,T=t(gc,g0,…,gP-1)(公式2),gc为该局部纹理区域的中心点的灰度值,g0,…,gP-1为以gc为中心的半径为R的圆形区域P等分点的灰度值,R>0;所述局部纹理区域为图像中待提取局部纹...

【专利技术属性】
技术研发人员:沈毅郭徽张旻施凡马慧敏薛鹏飞胡淼
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1