CN113239356A - 一种基于混合纹理特征的恶意代码分类方法及装置 - Google Patents
一种基于混合纹理特征的恶意代码分类方法及装置 Download PDFInfo
- Publication number
- CN113239356A CN113239356A CN202110781622.2A CN202110781622A CN113239356A CN 113239356 A CN113239356 A CN 113239356A CN 202110781622 A CN202110781622 A CN 202110781622A CN 113239356 A CN113239356 A CN 113239356A
- Authority
- CN
- China
- Prior art keywords
- image
- malicious code
- malicious
- gray
- features
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/467—Encoded features or binary features, e.g. local binary patterns [LBP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Evolutionary Computation (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种基于混合纹理特征的恶意代码分类方法及装置,所述方法包括:获取待分类恶意代码二进制文件;将所述待分类恶意代码二进制文件映射为灰度图像;从所述灰度图像中提取全局特征;从所述灰度图像中提取局部特征;连接提取的所述全局特征、局部特征,形成复杂纹理特征;将所述复杂纹理特征输入训练好的恶意代码变种分类模型,输出所述待分类恶意代码的分类。根据本发明的方案,充分挖掘恶意代码图像纹理特征,克服针对样本数量不足的恶意代码家族样本分类效果欠佳的问题;提高了恶意代码分类的正确率。有效克服恶意代码动静态特征检测对抗技术的影响,鲁棒性强。
Description
技术领域
本发明涉及网络空间安全领域,尤其涉及一种基于混合纹理特征的恶意代码分类方法及装置。
背景技术
目前,恶意代码检测技术主要分为基于静态特征的检测技术与基于动态特征的检测技术。基于静态特征的恶意代码检测技术资源消耗小,但是一般难以对抗恶意代码混淆技术,恶意代码编写作者通过利用加密、加壳、加花指令等技术修改恶意代码,增加代码逆向难度、时间与空间成本。基于动态特征的恶意代码检测方法,不需要对恶意代码进行逆向分析,降低代码混淆技术对恶意代码检测的影响。但是,恶意代码动态特征抽取过程需要消耗较高的时间和空间成本,恶意代码编写人员,通过增加行为触发条件,设置休眠时间,检测运行环境属性,判断恶意代码是否在真实宿主机中运行等方法,以隐藏恶意代码行为特征,规避动态检测方法。
近年来,研究人员提出了一种基于纹理特征的恶意代码检测技术。该方法通过将恶意代码转化为图像,建立提取图像纹理特征,以实现对恶意代码检测。该方法不需要提取恶意代码特征码,不需要模拟实际运行环境,可以有效对抗特征码修改、动态特征检测规避等免杀技术。恶意代码编写人员无论通过重用恶意代码功能模块,还是对恶意代码进行代码混淆,产生恶意代码变种文件与祖先恶意代码文件都具有很多同源部分。因此,通过提取恶意代码文件纹理特征,可以利用恶意代码变种同源性,对恶意代码变种进行分类。
当前相关专利,例如,申请号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= f gist (M,R r ,F n ,N=(b x ,b y )) (公式1),其中,M为输入的灰度图像数据;R r 为标准化处理后的灰度图像数据;F n 为使用不同尺度与不同方向的Gabor滤波器数量;N=(b x ,b y )为滤波后的纹理特征信息分割的网络在水平方向和垂直方向的数量参数;b x *b y 为一个灰度图像分割后的网格数量。
进一步地,所述步骤S104:从所述灰度图像中提取局部特征,包括:
步骤S1041:将一幅灰度图像的局部纹理区域表示为T,其中,T=t(g c ,g 0 ,…,g P-1 )(公式2),g c 为该局部纹理区域的中心点的灰度值,g 0 ,…,g P-1 为以g c 为中心的半径为R的圆形区域P等分点的灰度值,R>0;所述局部纹理区域为图像中待提取局部纹理特征的某一个区域;
步骤S1042:使用LBP纹理特征描述方法将该局部纹理特征T表示为如下形式的联合差分分布:T=t(g 0 -g c ,g 1 -g c ,…,g P-1 -g c ) (公式3);通过局部区域的像素差分符号来表示该局部区域的像素变化情况,即将T进一步表示为:
T=t(s(g 0 -g c ),s(g 1 -g c ),…,s(g P-1 -g c )) (公式4),其中,s(x)的定义如下:
步骤S1043:结合所述局部纹理特征T的进一步表示,将具有旋转不变性的均匀LBP模式特征定义如下:
其中,U(LBP P,R ) 的计算方式为:
根据本发明第二方面,提供一种基于混合纹理特征的恶意代码分类装置,所述装置包括:
文件获取模块:配置为获取待分类恶意代码二进制文件;
映射模块:配置为将所述待分类恶意代码二进制文件映射为灰度图像;
全局特征提取模块:配置为从所述灰度图像中提取全局特征;
局部特征提取模块:配置为从所述灰度图像中提取局部特征;
连接模块:配置为连接提取的所述全局特征、局部特征,形成复杂纹理特征;
分类模块:配置为将所述复杂纹理特征输入训练好的恶意代码变种分类模型,输出所述待分类恶意代码的分类;
所述训练好的恶意代码变种分类模型,是由多个恶意代码训练样本训练得到的。
进一步地,所述映射模块,包括:
第一映射子模块:配置为将所述待分类恶意代码二进制文件中的数据转化为灰度图像的像素数据,包括:提取所述待分类恶意代码二进制文件字节流数据,将每个字节数据作为一个8比特无符号整型数据,所述无符号整型数据的取值范围是[0,255],二进制灰度图像中每个像素点的取值范围为[0,255],将每个字节数据和像素点一一对应;将所述待分类恶意代码二进制文件的全部字节流数据转化为灰度图像像素点;
第二映射子模块:配置为根据预设策略,确定所述灰度图像的宽度,基于所述待分类恶意代码二进制文件的字节数,计算所述灰度图像的高度。
进一步地,所述预设策略为恶意代码文件小于10KB时,灰度图像的图像宽度为32;恶意代码文件大小大于或等于10KB,且小于30KB时,灰度图像的图像宽度为64;恶意代码文件大小大于或等于30KB,且小于60KB时,灰度图像的图像宽度为128;恶意代码文件大小大于或等于60KB,且小于100KB时,灰度图像的图像宽度为256;恶意代码文件大小大于或等于100KB,且小于200KB时,灰度图像的图像宽度为384;恶意代码文件大小大于或等于200KB,且小于500KB时,灰度图像的图像宽度为512;恶意代码文件大小大于或等于500KB,且小于1000KB时,灰度图像的图像宽度为768;恶意代码文件大小大于或等于1000KB,灰度图像的图像宽度为1024。
根据本发明第三方面,提供一种基于混合纹理特征的恶意代码分类系统,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如前所述的基于混合纹理特征的恶意代码分类方法。
根据本发明第四方面,提供一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如前所述的基于混合纹理特征的恶意代码分类方法。
根据本发明的上述方案,通过提取准确的恶意代码特征,采用合适的恶意代码分类器,具有以下技术效果:根据恶意代码图像纹理特征的特点,进一步丰富了恶意代码的可视化特征,克服了现有方法中存在的问题,有效地提升了恶意代码分类效果。具有如下效果:(1)充分挖掘恶意代码图像纹理特征,基于图像纹理特征实现恶意代码分类,克服针对样本数量不足的恶意代码家族样本分类效果欠佳的问题;(2)在图像全局纹理特征的基础上,结合了恶意代码图像细节纹理特征,更加精确地描述恶意代码样本,有效克服了相似家族恶意代码样本分类效果不佳的问题,提高了恶意代码分类的正确率。(3)深入挖掘图像纹理特征特点,仅基于图像纹理特征实现恶意代码分类,分类效率高,效果好,未加入恶意代码动静态特征,有效克服恶意代码动静态特征检测对抗技术的影响,鲁棒性强。
本发明提出了一种基于包含全局纹理特征与局部细节纹理特征的恶意代码分类方法,依靠恶意代代码可视化的方法,有效的提高了分类方法的鲁棒性。同时,在全局特征的基础上,补充了恶意代码细节纹理特征,更加精确地描述恶意代码,可以更加精确地区分相似家族的恶意代码,最终基于复杂纹理特征实现了快速,高效,效果更佳的恶意代码分类方法。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明提供如下附图进行说明。在附图中:
图1为本发明一个实施方式的基于混合纹理特征的恶意代码分类方法流程图;
图2为本发明一个实施方式的基于混合纹理特征的恶意代码分类方法的细节实现的流程图;
图3为本发明一个实施方式的提取恶意代码文件比特流数据的示意图;
图4为本发明一个实施方式的恶意代码字节流可视化过程示意图;
图5为本发明一个实施方式的恶意代码家族灰度图像样例示意图;
图6为本发明一个实施方式的恶意代码灰度图标准化示意图;
图7为本发明一个实施方式的恶意代码家族Gist特征描述示意图;
图8为本发明一个实施方式的基于混合纹理特征的恶意代码分类装置结构框图。
具体实施方式
首先结合图1说明为本发明一个实施方式的基于混合纹理特征的恶意代码分类方法。如图1-2所示,所述方法包括以下步骤:
步骤S101:获取待分类恶意代码二进制文件;
步骤S102:将所述待分类恶意代码二进制文件映射为灰度图像;
步骤S103:从所述灰度图像中提取全局特征;
步骤S104:从所述灰度图像中提取局部特征;
步骤S105:连接提取的所述全局特征、局部特征,形成复杂纹理特征;
步骤 S106:将所述复杂纹理特征输入训练好的恶意代码变种分类模型,输出所述待分类恶意代码的分类;
所述训练好的恶意代码变种分类模型,是由多个恶意代码训练样本训练得到的。
现有大多数恶意代码检测技术,通常提取恶意代码文件部分特征,作为后期检测的依据,而本方法直接将恶意代码文件视为一个由1、0比特数据流构。成的二进制文件,按照每个字节包含八位比特数据格式,提取恶意代码文件字节流数据。如图3-4所示。
所述步骤S102:将所述待分类恶意代码二进制文件映射为灰度图像,包括:
步骤S1021:将所述待分类恶意代码二进制文件中的数据转化为灰度图像的像素数据,包括:提取所述待分类恶意代码二进制文件字节流数据,将每个字节数据作为一个8比特无符号整型数据,所述无符号整型数据的取值范围是[0,255],二进制灰度图像中每个像素点的取值范围为[0,255],将每个字节数据和像素点一一对应;将所述待分类恶意代码二进制文件的全部字节流数据转化为灰度图像像素点;
步骤S1022:根据预设策略,确定所述灰度图像的宽度,基于所述待分类恶意代码二进制文件的字节数,计算所述灰度图像的高度。
本实施例中,由于恶意代码文件的大小跨度范围通常较大,从KB级到MB级别均存在,为了保证恶意代码文件映射后的灰度图像的宽高比在一定范围内,便于进行后续的特征处理,依据所述恶意代码文件的大小,制定预设策略,确定灰度图像的宽度,再结合所述恶意代码文件的大小,计算所述灰度图像的高度,最终将恶意代码二进制文件字节流数据转化为灰度图像。
本实施例的预设策略为恶意代码文件小于10KB时,灰度图像的图像宽度为32;恶意代码文件大小大于或等于10KB,且小于30KB时,灰度图像的图像宽度为64;恶意代码文件大小大于或等于30KB,且小于60KB时,灰度图像的图像宽度为128;恶意代码文件大小大于或等于60KB,且小于100KB时,灰度图像的图像宽度为256;恶意代码文件大小大于或等于100KB,且小于200KB时,灰度图像的图像宽度为384;恶意代码文件大小大于或等于200KB,且小于500KB时,灰度图像的图像宽度为512;恶意代码文件大小大于或等于500KB,且小于1000KB时,灰度图像的图像宽度为768;恶意代码文件大小大于或等于1000KB,灰度图像的图像宽度为1024。
如图4-5所示,多个不同家族的恶意代码二进制文件映射为灰度图像后,展现出一系列特征。由于恶意代码的不同变种文件的大小差异都各不相同,映射出的灰度图像的尺寸也不同,会影响提取图像特征的精度和准确程度。为增强恶意代码变种检测效果,本实施例中,进一步地,对映射得到的灰度图像进行标准化处理,即将映射出的灰度图像标准化为统一尺寸,本实施例中,将灰度图像统一标准化为256*256格式。图5展示了恶意代码变种C2LOP.gen!g与C2LOP.P家庭映射灰度图标准化处理效果。
恶意代码可视化是纹理特征提取的关键因素之一,本实施例中灰度图像映射方法可以完整的保留恶意代码的全部信息,同时提取灰度图像纹理特征相对于基于深度网络模型处理RGB图像提取特征的效率更高,实际应用时更加便捷。同时图像标准化经过实验验证可以更加准确地描述恶意代码,提高相似恶意代码的分类效果。
步骤S103:从所述灰度图像中提取全局特征,包括:
步骤S1031:使用不同尺度与不同方向的多个Gabor滤波器对所述灰度图像进行滤波,得到多个滤波后的纹理特征信息;
步骤S1032:将每个滤波后的纹理特征信息分割为若干个网格部分;
步骤S1033:计算每个分割后的网格部分内部纹理特征信息的数值平均值;
步骤S1034:连接各个滤波后的纹理特征信息分割的各个网格对应的数值平均值,组合得到滤波后的灰度图像的GIST特征;所述滤波后的灰度图像的GIST特征表示为GIST= f gist (M,R r ,F n ,N=(b x ,b y )) (公式1),其中,M为输入的灰度图像数据;R r 为标准化处理后的灰度图像数据;F n 为使用不同尺度与不同方向的Gabor滤波器数量;N=(b x ,b y )为滤波后的纹理特征信息分割的网络在水平方向和垂直方向的数量参数;b x *b y 为一个灰度图像分割后的网格数量。
本实施例中,采用F n =(8,4,4) ,代表在三个尺度上,分别有8个方向、4个方向和4个方向共16个滤波器对灰度图像进行滤波变换,N b =(4,4) 代表滤波后的灰度图像被分割为4*4=16个网格图像,最终得到的灰度图像的GIST特征维度为16*16=256维。图7为滤波器滤波后生成GIST特征图像可视化效果。
本实施例中,提取的全局特征是GIST特征。图像全局纹理特征是指基于图像整体而不是某个局部提取出的纹理特征。GIST纹理特征算法,是一种结合使用小波变换和Gabor变换的特征描述方法。使用GIST全局纹理特征对图像中场景进行识别分类,不需要对图像进行分割。
本实施例中,基于GIST特征描述方法提取恶意代码文件灰度图像全局纹理特征,能够有效地提取出恶意代码全局纹理特征。
所述步骤S104:从所述灰度图像中提取局部特征,包括:
步骤S1041:将一幅灰度图像的局部纹理区域表示为T,其中,T=t(g c ,g 0 ,…,g P-1 )(公式2),g c 为该局部纹理区域的中心点的灰度值,g 0 ,…,g P-1 为以g c 为中心的半径为R的圆形区域P等分点的灰度值,R>0;所述局部纹理区域为图像中待提取局部纹理特征的某一个区域;
步骤S1042:使用LBP纹理特征描述方法将该局部纹理特征T表示为如下形式的联合差分分布:T=t(g 0 -g c ,g 1 -g c ,…,g P-1 -g c ) (公式3);通过局部区域的像素差分符号来表示该局部区域的像素变化情况,即将T进一步表示为:
T=t(s(g 0 -g c ),s(g 1 -g c ),…,s(g P-1 -g c )) (公式4),其中,s(x)的定义如下:
步骤S1043:结合所述局部纹理特征T的进一步表示,将具有旋转不变性的均匀LBP模式特征定义如下:
其中,U(LBP P,R ) 的计算方式为:
如公式6所示,若所述灰度图像包含P个等分取值点,则U值大于2的LBP分布值全部定为P=1,U值为0的分布共2类,U值为2的分布共P-1类,整体LBP分布共P+2类,经过转化,从所述灰度图像中提取出多个局部特征,在进行分类时,本实施例中,进一步统计LBP特征的分布直方图,以LBP特征分布统计作为最终分类器的部分输入向量。综上所述,所述灰度图像的LBP局部特征生成过程可简化为:
LBP=f
lbp
(M,R
r
,R
c
,P)
其中M为灰度图像,R r 为标准化处理后的灰度图像数据,R c 为局部区域的圆形半径大小,P为局部区域圆形边缘取点等分值。
本实施例中,R取值为256*256,即将恶意代码灰度图像标准化为256*256格式的灰度图像,R c 的值为8,即取值半径为8,P的值为64,即取值的圆形等分为64个值,最终共有66类不同的分布,采用直方图统计后得到66个维度的特征。
提取局部特征,能够快速有效实现对于图像的分类,且分类正确率高。图像的局部特征是指针对图像的细节与局部的特性,提取的特征。本实施例中,提取的局部特征是LBP(Local Binary Pattern)特征,即局部二进制模式,是一种重要的图像局部特征描述方法。LBP特征计算过程相对简单,对图片的识别效果好。本实施例中采用的是具有旋转不变性的均匀LBP模式特征,因其相对于传统LBP特征描述,降低了特征输出维度,减少了特征计算复杂度,但是经过实验验证其可以更加精确描述图像的局部纹理特征,在人脸识别,目标检测的领域取得了更好的效果。
图像的细节特征是指针对图像的细节与局部的特性,提取的特征。本实施例基于具有旋转不变性的均匀局部二进制模式特征提取恶意代码可视化图像局部特征。LBP(Local Binary Pattern)指局部二进制模式,是一种重要的图像局部特征描述方法。LBP特征计算过程相对简单,对图片的识别效果好。本实施例采用具有旋转不变性的均匀LBP模式特征,其相对于传统LBP特征描述,特征维度低,特征计算复杂度也减少,计算效率高,可有效提取出恶意代码局部细节特征。
所述步骤S105:连接提取的所述全局特征、局部特征,形成复杂纹理特征,其中:
通过连接GIST全局特征和LBP局部特征,组合成复杂纹理特征。
本实施例中,每个恶意代码样本提取出322维度特征,其中全局GIST纹理特征有256维度,局部细节特征LBP有66维度。
所述步骤 S106:将所述复杂纹理特征输入训练好的恶意代码变种分类模型,输出所述待分类恶意代码的分类,其中:
本发明可以使用K最近邻算法,多层感知器,决策树,朴素贝叶斯,支持向量机,随机森林等分类算法构建恶意代码变种分类模型,实现恶意代码分类。但是不同家族的恶意代码数据量不同,而随机森林算法可以有效地处理分布不均的数据集,降低分类误差,同时随机森林构建分类模型效率高,泛化能力较强,适合用于恶意代码分类。本实施例基于综合复杂纹理特征与随机森林算法最终实现恶意代码分类。
所述训练好的恶意代码变种分类模型是由训练样本经过获取二进制文件、映射为灰度图像、提取全局特征、提取局部特征、连接提取的所述全局特征、局部特征,形成复杂纹理特征,将形成的复杂纹理特征输入恶意代码变种分类模型,经过多次训练得到训练好的恶意代码变种分类模型。
本实施例综合恶意代码可视化全局特征与局部特征,深入的挖掘恶意代码可视化纹理特征的特点,更加精确地描述恶意代码。基于随机森林算法构建恶意代码分类模型,实现恶意代码分类。不同家族的恶意代码数据量不同,而随机森林算法可以有效地处理分布不均的数据集,降低分类误差,同时随机森林构建分类模型效率高,泛化能力较强,适合用于恶意代码分类。本方法基于恶意代码复杂纹理特征与随机森林算法最终实现恶意代码分类。
本发明实施例进一步给出一种基于混合纹理特征的恶意代码分类装置,如图8所示,所述装置包括:
文件获取模块:配置为获取待分类恶意代码二进制文件;
映射模块:配置为将所述待分类恶意代码二进制文件映射为灰度图像;
全局特征提取模块:配置为从所述灰度图像中提取全局特征;
局部特征提取模块:配置为从所述灰度图像中提取局部特征;
连接模块:配置为连接提取的所述全局特征、局部特征,形成复杂纹理特征;
分类模块:配置为将所述复杂纹理特征输入训练好的恶意代码变种分类模型,输出所述待分类恶意代码的分类;
所述训练好的恶意代码变种分类模型,是由多个恶意代码训练样本训练得到的。
本发明实施例进一步给出一种基于混合纹理特征的恶意代码分类系统,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如前所述的基于混合纹理特征的恶意代码分类方法。
本发明实施例进一步给出一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如前所述的基于混合纹理特征的恶意代码分类方法。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,实体机服务器,或者网络云服务器等,需安装Windows或者Windows Server操作系统)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (10)
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=f gist (M,R r ,F n ,N=(b x ,b y )) (公式1),其中,M为输入的灰度图像数据;R r 为标准化处理后的灰度图像数据;F n 为使用不同尺度与不同方向的Gabor滤波器数量;N=(b x ,b y )为滤波后的纹理特征信息分割的网络在水平方向和垂直方向的数量参数;b x *b y 为一个灰度图像分割后的网格数量。
5.如权利要求1所述的基于混合纹理特征的恶意代码分类方法,其特征在于,
所述步骤S104:从所述灰度图像中提取局部特征,包括:
步骤S1041:将一幅灰度图像的局部纹理区域表示为T,其中,T=t(g c ,g 0 ,…,g P-1 ) (公式2),g c 为该局部纹理区域的中心点的灰度值,g 0 ,…,g P-1 为以g c 为中心的半径为R的圆形区域P等分点的灰度值,R>0;所述局部纹理区域为图像中待提取局部纹理特征的某一个区域;
步骤S1042:使用LBP纹理特征描述方法将该局部纹理特征T表示为如下形式的联合差分分布:T=t(g 0 -g c ,g 1 -g c ,…,g P-1 -g c ) (公式3);通过局部区域的像素差分符号来表示该局部区域的像素变化情况,即将T进一步表示为:
T=t(s(g 0 -g c ),s(g 1 -g c ),…,s(g P-1 -g c )) (公式4),其中,s(x)的定义如下:
步骤S1043:结合所述局部纹理特征T的进一步表示,将具有旋转不变性的均匀LBP模式特征定义如下:
其中,U(LBP P,R ) 的计算方式为:
6.一种基于混合纹理特征的恶意代码分类装置,其特征在于,所述装置包括:
文件获取模块:配置为获取待分类恶意代码二进制文件;
映射模块:配置为将所述待分类恶意代码二进制文件映射为灰度图像;
全局特征提取模块:配置为从所述灰度图像中提取全局特征;
局部特征提取模块:配置为从所述灰度图像中提取局部特征;
连接模块:配置为连接提取的所述全局特征、局部特征,形成复杂纹理特征;
分类模块:配置为将所述复杂纹理特征输入训练好的恶意代码变种分类模型,输出所述待分类恶意代码的分类;
所述训练好的恶意代码变种分类模型,是由多个恶意代码训练样本训练得到的。
7.如权利要求6所述的基于混合纹理特征的恶意代码分类装置,其特征在于,所述映射模块,包括:
第一映射子模块:配置为将所述待分类恶意代码二进制文件中的数据转化为灰度图像的像素数据,包括:提取所述待分类恶意代码二进制文件字节流数据,将每个字节数据作为一个8比特无符号整型数据,所述无符号整型数据的取值范围是[0,255],二进制灰度图像中每个像素点的取值范围为[0,255],将每个字节数据和像素点一一对应;将所述待分类恶意代码二进制文件的全部字节流数据转化为灰度图像像素点;
第二映射子模块:配置为根据预设策略,确定所述灰度图像的宽度,基于所述待分类恶意代码二进制文件的字节数,计算所述灰度图像的高度。
8.如权利要求7所述的基于混合纹理特征的恶意代码分类装置,其特征在于,所述预设策略为恶意代码文件小于10KB时,灰度图像的图像宽度为32;恶意代码文件大小大于或等于10KB,且小于30KB时,灰度图像的图像宽度为64;恶意代码文件大小大于或等于30KB,且小于60KB时,灰度图像的图像宽度为128;恶意代码文件大小大于或等于60KB,且小于100KB时,灰度图像的图像宽度为256;恶意代码文件大小大于或等于100KB,且小于200KB时,灰度图像的图像宽度为384;恶意代码文件大小大于或等于200KB,且小于500KB时,灰度图像的图像宽度为512;恶意代码文件大小大于或等于500KB,且小于1000KB时,灰度图像的图像宽度为768;恶意代码文件大小大于或等于1000KB,灰度图像的图像宽度为1024。
9.一种基于混合纹理特征的恶意代码分类系统,其特征在于,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如权利要求1-5之任一项所述的基于混合纹理特征的恶意代码分类分析方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如权利要求1-5之任一项所述的基于混合纹理特征的恶意代码分类方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110781622.2A CN113239356A (zh) | 2021-07-12 | 2021-07-12 | 一种基于混合纹理特征的恶意代码分类方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110781622.2A CN113239356A (zh) | 2021-07-12 | 2021-07-12 | 一种基于混合纹理特征的恶意代码分类方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113239356A true CN113239356A (zh) | 2021-08-10 |
Family
ID=77135333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110781622.2A Pending CN113239356A (zh) | 2021-07-12 | 2021-07-12 | 一种基于混合纹理特征的恶意代码分类方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113239356A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114510721A (zh) * | 2022-02-18 | 2022-05-17 | 哈尔滨工程大学 | 一种基于特征融合的静态恶意代码分类方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294676A (zh) * | 2012-02-24 | 2013-09-11 | 北京明日时尚信息技术有限公司 | 一种基于gist全局特征和sift局部特征的网络图片内容重复检测方法 |
-
2021
- 2021-07-12 CN CN202110781622.2A patent/CN113239356A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294676A (zh) * | 2012-02-24 | 2013-09-11 | 北京明日时尚信息技术有限公司 | 一种基于gist全局特征和sift局部特征的网络图片内容重复检测方法 |
Non-Patent Citations (3)
Title |
---|
TIMO OJALA ET AL.: "Multiresolution Gray-Scale and Rotation", 《IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE》 * |
刘亚姝等: "抗混淆的恶意代码图像纹理特征描述方法", 《通信学报》 * |
周昊: "恶意代码自动化判定技术研究", 《中国优秀硕士学位论文全文数据库 社会科学I辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114510721A (zh) * | 2022-02-18 | 2022-05-17 | 哈尔滨工程大学 | 一种基于特征融合的静态恶意代码分类方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111062282B (zh) | 基于改进yolov3模型的变电站指针式仪表识别方法 | |
Abd Warif et al. | Copy-move forgery detection: survey, challenges and future directions | |
Lv et al. | Deep learning and superpixel feature extraction based on contractive autoencoder for change detection in SAR images | |
Tang et al. | Robust image hashing with multidimensional scaling | |
CN107909039B (zh) | 基于并行算法的高分辨率遥感影像的地表覆盖分类方法 | |
Naeem et al. | Identification of malicious code variants based on image visualization | |
Qi et al. | Land-use scene classification in high-resolution remote sensing images using improved correlatons | |
Walia et al. | Fusion of handcrafted and deep features for forgery detection in digital images | |
Priyanka et al. | An improved block based copy-move forgery detection technique | |
Lin et al. | Region duplication detection based on hybrid feature and evaluative clustering | |
KR101054107B1 (ko) | 이미지 특성정보를 이용한 개인정보 노출 검색 시스템 | |
Gottschlich | Convolution comparison pattern: an efficient local image descriptor for fingerprint liveness detection | |
Reta et al. | Color uniformity descriptor: An efficient contextual color representation for image indexing and retrieval | |
Dixit et al. | Composite attacks‐based copy‐move image forgery detection using AKAZE and FAST with automatic contrast thresholding | |
CN109871825B (zh) | 一种基于改进的局部二维模式的人像识别方法 | |
KR100701201B1 (ko) | 지문영상의 품질 분류 방법 및 장치와 이를 이용한지문영상 인식 시스템 | |
Khalaf et al. | Robust partitioning and indexing for iris biometric database based on local features | |
CN113239356A (zh) | 一种基于混合纹理特征的恶意代码分类方法及装置 | |
Xu et al. | Multi‐pyramid image spatial structure based on coarse‐to‐fine pyramid and scale space | |
Jenitta et al. | Content based geographic image retrieval using local vector pattern | |
CN117636421A (zh) | 一种基于边缘特征采集的人脸深伪检测方法 | |
Zhang et al. | Saliency detection via image sparse representation and color features combination | |
CN116541841A (zh) | 一种恶意软件的分类方法,分类装置以及存储介质 | |
Chen et al. | Multi‐features fusion classification method for texture image | |
CN109977849B (zh) | 一种基于迹变换的图像纹理特征融合提取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210810 |
|
RJ01 | Rejection of invention patent application after publication |