发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种恶意代码的查询方法,该方法有效缩短查询的时间,简化计算,有效提高恶意代码的查询的效率性和适用性。
本发明的另一个目的在于提出一种恶意代码的查询系统。
为达到上述目的,本发明一方面实施例提出了一种恶意代码的查询方法,包括以下步骤:对待检测样本进行分词处理,以得到所述待检测样本的分词结果;从预设的数据集中查找与所述待检测样本的分词结果相匹配的相似集合,其中,所述预设的数据集中存储有一一对应于多个恶意样本的多个分词结果;比较所述待检测样本的模糊哈希值与查询得到的所述相似集合中每个恶意样本的模糊哈希值;当相似度大于预定阈值时,则确定所述相似集合中该恶意样本为与所述待检测样本相近的恶意样本。
本发明实施例的恶意代码的查询方法,可以对待检测样本的分词结果进行相匹配得到相似集合,再进行比较得到查询的结果,从而有效缩短查询的时间,简化计算,有效提高恶意代码的查询的效率性和适用性。
在一些示例中,所述对待检测样本进行分词处理,以得到所述待检测样本的分词结果,包括:对所述待检测样本的ssdeep标签进行分段;根据N-GRAM模型和预设的偏移间距对所述待检测样本的ssdeep标签的每个分段结果进行分词处理。
在一些示例中,上述方法还包括:收集恶意样本,以得到恶意样本集合;对所述恶意样本集合中每个恶意样本的ssdeep标签进行分段;根据N-GRAM模型和预设的偏移间距对所述恶意样本集合中每个恶意样本的ssdeep标签的每个分段结果进行分词处理,以得到所述数据集。
在一些示例中,所述比较所述待检测样本的模糊哈希值与查询得到的所述相似集合中每个恶意样本的模糊哈希值,包括:提取所述待检测样本的模糊哈希值;提取所述查询得到的所述相似集合中每个恶意样本的模糊哈希值;根据模糊哈希算法比较所述待检测样本的模糊哈希值与所述查询得到的所述相似集合中每个恶意样本的模糊哈希值,以确定所述待检测样本与所述相似集合中每个恶意样本的相似度。
在一些示例中,在确定所述相似集合中该恶意样本为与所述待检测样本相近的恶意样本之后,还包括:记录所述恶意代码对应的sha256哈希值。
为达到上述目的,本发明另一方面实施例提出了一种恶意代码的查询系统,包括:分词模块,用于对待检测样本进行分词处理,以得到所述待检测样本的分词结果;初步筛选模块,用于从预设的数据集中查找与所述待检测样本的分词结果相匹配的相似集合,其中,所述预设的数据集中存储有一一对应于多个恶意样本的多个分词结果;匹配模块,用于比较所述待检测样本的模糊哈希值与查询得到的所述相似集合中每个恶意样本的模糊哈希值,当相似度大于预定阈值时,则确定所述相似集合中该恶意样本为与所述待检测样本相近的恶意样本。
本发明实施例的恶意代码的查询系统,可以对待检测样本的分词结果进行相匹配得到相似集合,再进行比较得到查询的结果,从而有效缩短查询的时间,简化计算,有效提高恶意代码的查询的效率性和适用性。
在一些示例中,所述分词模块用于对所述待检测样本的ssdeep标签进行分段,并根据N-GRAM模型和预设的偏移间距对所述待检测样本的ssdeep标签的每个分段结果进行分词处理。
在一些示例中,上述系统还包括:收集模块,用于收集恶意样本,以得到恶意样本集合,且所述分词模块还用于对所述恶意样本集合中每个恶意样本的ssdeep标签进行分段,并根据N-GRAM模型和预设的偏移间距对所述恶意样本集合中每个恶意样本的ssdeep标签的每个分段结果进行分词处理,以得到所述数据集。
在一些示例中,所述匹配模块用于提取所述待检测样本的模糊哈希值以及所述查询得到的所述相似集合中每个恶意样本的模糊哈希值,并根据模糊哈希算法比较所述待检测样本的模糊哈希值与所述查询得到的所述相似集合中每个恶意样本的模糊哈希值,以确定所述待检测样本与所述相似集合中每个恶意样本的相似度。
在一些示例中,上述系统还包括:记录模块,用于在所述匹配模块确定所述相似集合中该恶意样本为与所述待检测样本相近的恶意样本时,记录所述恶意代码对应的sha256哈希值。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的网络终端威胁的查询方法及系统,首先将参照附图描述根据本发明实施例提出的恶意代码的查询方法。
图1是本发明一个实施例的恶意代码的查询方法的流程图。
如图1所示,该恶意代码的查询方法包括以下步骤:
在步骤S101中,对待检测样本进行分词处理,以得到待检测样本的分词结果。
在本发明的一个实施例中,对待检测样本的ssdeep标签进行分段;根据N-GRAM模型和预设的偏移间距对待检测样本的ssdeep标签的每个分段结果进行分词处理。
需要说明的是,N-GRAM是指文本中连续出现的n个语词。n元语法模型是基于(n-1)阶马尔可夫链的一种概率语言模型,通过n个语词出现的概率来推断语句的结构这一模型被广泛应用于概率论、通信理论、计算语言学(如基于统计的自然语言处理)、计算生物学(如序列分析)、数据压缩等领域。
具体地,恶意代码威胁情报平台VirusTotal对每个样本都有ssdeep标签,且ssdeep为实现基于内容分割的分片哈希算法的工具,因此,本发明实施例对待检测样本的ssdeep标签进行分段,例如,利用全文搜索引擎Elasticsearch做数据处理,使用自然语言处理中的N-GRAM模型对ssdeep标签做分词处理,并利用Elasticsearch查询语句搜索ssdeep的格式组成部分chunk和double_chunk。其中,Elasticsearch是一个分布式、可扩展、实时的搜索与数据分析引擎。
具体而言,本发明实施例可以使用Elasticsearch处理海量的样本数据,并设置N-GRAM偏移间距最大、最小值和配置ssdeep值分词模式,如利用Elasticsearch设置N-GRAM偏移间距最大和最小为7,例如,某个ssdeep可以分为chunksize、chunk、double_chunk三个字段,其中,chunk字段内容为“v7XINhXznVJ8CC1rBXdo0zekXUd3CdPJxB7mNmDZkUKMKZQbFTiKKAZTy”,而被分词存储的格式为[v7XINhX,7XINhXz,XINhXzn,INhXznV,NhXznVJ,hXznVJ8,XznVJ8C,znVJ8CC,nVJ8CC1,VJ8CC1r,J8CC1rB,8CC1rBX,CC1rBXd,C1rBXdo,1rBXdo0,rBXdo0z,BXdo0ze,Xdo0zek,do0zekX,o0zekX,0zekXUd,zekXUd3,ekXUd3C,kXUd3Cd,XUd3CdP,Ud3CdPJ,d3CdPJx,3CdPJxB,CdPJxB7,dPJxB7m,PJxB7mN,JxB7mNm,xB7mNmD,B7mNmDZ,7mNmDZk,mNmDZk,NmDZkUK,mDZkUKM,DZkUKMK,ZkUKMKZ,kUKMKZQ,UKMKZQb,KMKZQbF,MKZQbFT,KZQbFTi,ZQbFTiK,QbFTiKK,bFTiKKA,FTiKKAZ,TiKKAZT,iKKAZTy]。double_chunk字段内容也是类似。
在步骤S102中,从预设的数据集中查找与待检测样本的分词结果相匹配的相似集合,其中,预设的数据集中存储有一一对应于多个恶意样本的多个分词结果。
在本发明的一个实施例中,收集恶意样本,以得到恶意样本集合;对恶意样本集合中每个恶意样本的ssdeep标签进行分段;根据N-GRAM模型和预设的偏移间距对恶意样本集合中每个恶意样本的ssdeep标签的每个分段结果进行分词处理,以得到数据集。
需要说明的是,如图2所示,借助威胁情报平台(如VirusTotal)收集恶意样本数据,样本集越大匹配效果越好,从而构建预设的数据集,并且预设数据集在使用的过程中会收集新的恶意样本数据,进行不断的完善。
进一步地,将上述得到的分词结果相匹配与事先建立的数据集进行比较匹配,从而得到相似集合,有效减少需要进行比较的数据库的数据量,提高检测的效率。
在步骤S103中,比较待检测样本的模糊哈希值与查询得到的相似集合中每个恶意样本的模糊哈希值。
在本发明的一个实施例中,提取待检测样本的模糊哈希值;提取查询得到的相似集合中每个恶意样本的模糊哈希值;根据模糊哈希算法比较待检测样本的模糊哈希值与查询得到的相似集合中每个恶意样本的模糊哈希值,以确定待检测样本与相似集合中每个恶意样本的相似度。
在步骤S104中,当相似度大于预定阈值时,则确定相似集合中该恶意样本为与待检测样本相近的恶意样本。
预设阀值可以根据实际情况进行设定,如预设阀值可以设置为90,当相似度小于90时,便认为相似度较低,从而可以确定相似集合中该恶意样本不是与待检测样本相近的恶意样本;若相似度大于90时,则相似度较高,从而确定相似集合中该恶意样本为与待检测样本相近的恶意样本。
进一步地,在确定相似集合中该恶意样本为与待检测样本相近的恶意样本之后,还包括:记录恶意代码对应的sha256哈希值。
根据本发明实施例提出的恶意代码的查询方法,可以对待检测样本的分词结果进行相匹配得到相似集合,再进行比较得到查询的结果,从而有效缩短查询的时间,简化计算,有效提高恶意代码的查询的效率性和适用性。
其次参照附图描述根据本发明实施例提出的恶意代码的查询系统。
图3是本发明一个实施例的恶意代码的查询系统的方框示意图。
如图3所示,该恶意代码的查询系统10包括:分词模块100、初步筛选模块200和匹配模块300。
其中,分词模块100用于对待检测样本进行分词处理,以得到待检测样本的分词结果。初步筛选模块200用于从预设的数据集中查找与待检测样本的分词结果相匹配的相似集合,其中,预设的数据集中存储有一一对应于多个恶意样本的多个分词结果。匹配模块300用于比较待检测样本的模糊哈希值与查询得到的相似集合中每个恶意样本的模糊哈希值,当相似度大于预定阈值时,则确定相似集合中该恶意样本为与待检测样本相近的恶意样本。
在本发明的一个实施例中,分词模块100用于对待检测样本的ssdeep标签进行分段,并根据N-GRAM模型和预设的偏移间距对待检测样本的ssdeep标签的每个分段结果进行分词处理。
在本发明的一个实施例中,本发明实施例的系统10还包括:收集模块。收集模块其中用于收集恶意样本,以得到恶意样本集合,且分词模块100还用于对恶意样本集合中每个恶意样本的ssdeep标签进行分段,并根据N-GRAM模型和预设的偏移间距对恶意样本集合中每个恶意样本的ssdeep标签的每个分段结果进行分词处理,以得到数据集。
在本发明的一个实施例中,匹配模块300用于提取待检测样本的模糊哈希值以及查询得到的相似集合中每个恶意样本的模糊哈希值,并根据模糊哈希算法比较待检测样本的模糊哈希值与查询得到的相似集合中每个恶意样本的模糊哈希值,以确定待检测样本与相似集合中每个恶意样本的相似度。
在本发明的一个实施例中,本发明实施例的系统10还包括:记录模块。其中,记录模块用于在匹配模块确定相似集合中该恶意样本为与待检测样本相近的恶意样本时,记录恶意代码对应的sha256哈希值。
需要说明的是,前述对恶意代码的查询方法实施例的解释说明也适用于该实施例的恶意代码的查询系统,此处不再赘述。
根据本发明实施例提出的恶意代码的查询系统,可以对待检测样本的分词结果进行相匹配得到相似集合,再进行比较得到查询的结果,从而有效缩短查询的时间,简化计算,有效提高恶意代码的查询的效率性和适用性。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。