基于代码切片的家族判定方法、***及存储介质
技术领域
本发明涉及网络安全技术领域,特别涉及一种基于代码切片的家族判定方法、***及存储介质。
背景技术
目前对恶意代码的家族判定,主要是基于提取的恶意代码特征向量,利用聚类、分类的方法进行向量的相似性判断,提取的向量主要是基于恶意代码静动态行为进行提取,包括代码结构,如PE节名称、PE导入导出表函数名等、代码属性,如编译器名称、壳名称等、动态行为如进程操作、网络操作、文件操作等,通过对向量进行抽象化数值化后利用聚类和分类的方法家族判定。
对于不同的文件格式的恶意代码,提取的特征类型、特征个数不同。导致对于每类文件格式的恶意代码都需要建立不同的特征抽象方法、家族判定方法,无法建立统一的特征抽象、家族判定模型来对所有文件类型的恶意代码进行家族判定。
发明内容
为解决上述技术问题,本发明提出了一种基于代码切片的家族判定方法、***及存储介质,能够对任何格式的文件,在不需要获取特征的情况下,进行家族判定。
本发明通过如下方法实现:
一种基于代码切片的家族判定方法,包括:
获取待检测文件,并判断文件格式;
根据文件格式,按照最小功能的结构化数据块对待检测文件进行文件切片;
分别计算各切片的模糊哈希;
利用相似度计算方法,将各切片的模糊哈希与恶意代码切片特征库进行关联分析,得到与待检测文件相似的已知样本;
确定关联分析后相似度最高的已知样本;
则所述待检测文件与所述相似度最高的已知样本为同一恶意代码家族。
所述的方法中,所述获取待检测文件,并判断文件格式,具体为:获取待检测文件,读取文件内容及大小到内存中,对内存中的内容进行格式识别,确定文件格式。
所述的方法中,所述根据文件格式,按照最小功能的结构化数据块对待检测文件进行文件切片,具体为:根据文件格式,按照文件结构进行全文遍历,对遍历的每个具有最小功能的结构化数据块进行切片操作,且切片的大小为结构化数据块所定义的长度。
所述的方法中,所述恶意代码切片特征库中存储的为:已知家族的每个恶意代码的切片数据块名称、各切片数据块对应的模糊哈希及家族名称。
所述的方法中,所述利用相似度计算方法,将各切片的模糊哈希与恶意代码切片特征库进行关联分析,具体为:计算待检测恶意代码与恶意代码切片特征库中,相同切片数据块名称切片的模糊哈希的相似度,再根据各切片的模糊哈希相似度,计算文件综合相似度,若文件综合相似度超过第一阈值,则待检测文件与对应已知样本相似。
所述的方法中,根据各切片的模糊哈希相似度,计算文件综合相似度,具体为:计算各切片的模糊哈希相似度超过第二阈值的数量与待检测文件切片总数的比值,即为文件综合相似度。
本发明还提出一种基于代码切片的家族判定***,包括:
文件获取模块,获取待检测文件,并判断文件格式;
切片模块,根据文件格式,按照最小功能的结构化数据块对待检测文件进行文件切片;
计算模块,分别计算各切片的模糊哈希;
关联分析模块,利用相似度计算方法,将各切片的模糊哈希与恶意代码切片特征库进行关联分析,得到与待检测文件相似的已知样本;
结果获取模块,确定关联分析后相似度最高的已知样本;
则所述待检测文件与所述相似度最高的已知样本为同一恶意代码家族。
所述的***中,所述获取待检测文件,并判断文件格式,具体为:获取待检测文件,读取文件内容及大小到内存中,对内存中的内容进行格式识别,确定文件格式。
所述的***中,所述根据文件格式,按照最小功能的结构化数据块对待检测文件进行文件切片,具体为:根据文件格式,按照文件结构进行全文遍历,对遍历的每个具有最小功能的结构化数据块进行切片操作,且切片的大小为结构化数据块所定义的长度。
所述的***中,所述恶意代码切片特征库中存储的为:已知家族的每个恶意代码的切片数据块名称、各切片数据块对应的模糊哈希及家族名称。
所述的***中,所述利用相似度计算方法,将各切片的模糊哈希与恶意代码切片特征库进行关联分析,具体为:计算待检测恶意代码与恶意代码切片特征库中,相同切片数据块名称切片的模糊哈希的相似度,再根据各切片的模糊哈希相似度,计算文件综合相似度,若文件综合相似度超过第一阈值,则待检测文件与对应已知样本相似。
所述的***中,根据各切片的模糊哈希相似度,计算文件综合相似度,具体为:计算各切片的模糊哈希相似度超过第二阈值的数量与待检测文件切片总数的比值,即为文件综合相似度。
一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上任一所述的基于代码切片的家族判定方法。
本发明利用一个统一的切片模型解决了所有文件类型的恶意代码进行家族判定的问题。本发明切片方法可以针对任何格式的文件,根据文件格式,对文件内容切片为各个数据块,对每个切片数据块进行相似度关联分析,从而确定家族名。本发明不需要了解恶意代码特性、不需要关心如何提取恶意代码特征,只需要了解文件结构,能对文件的最小结构功能数据块进行分片操作,即可利用相似度判定方法进行家族判定。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种基于代码切片的家族判定方法实施例流程图;
图2为本发明一种基于代码切片的家族判定***结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
一种基于代码切片的家族判定方法,如图1所示,包括:
S101:获取待检测文件,并判断文件格式;
S102:根据文件格式,按照最小功能的结构化数据块对待检测文件进行文件切片;如office文档,可按照文件头部、扇区表、目录结构、文件流等所有具有最小功能的数据块进行切片操作,保证切片信息的完整性和多样性;
S103:分别计算各切片的模糊哈希;
S104:利用相似度计算方法,将各切片的模糊哈希与恶意代码切片特征库进行关联分析,得到与待检测文件相似的已知样本;
S105:确定关联分析后相似度最高的已知样本;
则所述待检测文件与所述相似度最高的已知样本为同一恶意代码家族。
所述的方法中,所述获取待检测文件,并判断文件格式,具体为:获取待检测文件,读取文件内容及大小到内存中,对内存中的内容进行格式识别,确定文件格式。
所述的方法中,所述根据文件格式,按照最小功能的结构化数据块对待检测文件进行文件切片,具体为:根据文件格式,按照文件结构进行全文遍历,对遍历的每个具有最小功能的结构化数据块进行切片操作,且切片的大小为结构化数据块所定义的长度。
所述的方法中,所述恶意代码切片特征库中存储的为:已知家族的每个恶意代码的切片数据块名称、各切片数据块对应的模糊哈希及家族名称。
所述的方法中,所述利用相似度计算方法,将各切片的模糊哈希与恶意代码切片特征库进行关联分析,具体为:计算待检测恶意代码与恶意代码切片特征库中,相同切片数据块名称切片的模糊哈希的相似度,再根据各切片的模糊哈希相似度,计算文件综合相似度,若文件综合相似度超过第一阈值,则待检测文件与对应已知样本相似。
所述的方法中,根据各切片的模糊哈希相似度,计算文件综合相似度,具体为:计算各切片的模糊哈希相似度超过第二阈值的数量与待检测文件切片总数的比值,即为文件综合相似度。
本发明的相似度关联分析,并不是简单的计算两两切片的模糊哈希的相似度,而是通过计算对应结构切片的模糊哈希的相似度后,在进一步进行综合相似度判断。
本发明还提出一种基于代码切片的家族判定***,如图2所示,包括:
文件获取模块201,获取待检测文件,并判断文件格式;
切片模块202,根据文件格式,按照最小功能的结构化数据块对待检测文件进行文件切片;
计算模块203,分别计算各切片的模糊哈希;
关联分析模块204,利用相似度计算方法,将各切片的模糊哈希与恶意代码切片特征库进行关联分析,得到与待检测文件相似的已知样本;
结果获取模块205,确定关联分析后相似度最高的已知样本;
则所述待检测文件与所述相似度最高的已知样本为同一恶意代码家族。
所述的***中,所述获取待检测文件,并判断文件格式,具体为:获取待检测文件,读取文件内容及大小到内存中,对内存中的内容进行格式识别,确定文件格式。
所述的***中,所述根据文件格式,按照最小功能的结构化数据块对待检测文件进行文件切片,具体为:根据文件格式,按照文件结构进行全文遍历,对遍历的每个具有最小功能的结构化数据块进行切片操作,且切片的大小为结构化数据块所定义的长度。
所述的***中,所述恶意代码切片特征库中存储的为:已知家族的每个恶意代码的切片数据块名称、各切片数据块对应的模糊哈希及家族名称。
所述的***中,所述利用相似度计算方法,将各切片的模糊哈希与恶意代码切片特征库进行关联分析,具体为:计算待检测恶意代码与恶意代码切片特征库中,相同切片数据块名称切片的模糊哈希的相似度,再根据各切片的模糊哈希相似度,计算文件综合相似度,若文件综合相似度超过第一阈值,则待检测文件与对应已知样本相似。
所述的***中,根据各切片的模糊哈希相似度,计算文件综合相似度,具体为:计算各切片的模糊哈希相似度超过第二阈值的数量与待检测文件切片总数的比值,即为文件综合相似度。
一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上任一所述的基于代码切片的家族判定方法。
本发明利用一个统一的切片模型解决了所有文件类型的恶意代码进行家族判定的问题。本发明切片方法可以针对任何格式的文件,根据文件格式,对文件内容切片为各个数据块,对每个切片数据块进行相似度关联分析,从而确定家族名。本发明不需要了解恶意代码特性、不需要关心如何提取恶意代码特征,只需要了解文件结构,能对文件的最小结构功能数据块进行分片操作,即可利用相似度判定方法进行家族判定。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。