一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种恶意代码检测方法、装置、电子设备及存储介质与流程

2022-02-22 23:49:08 来源:中国专利 TAG:


1.本发明涉及计算机网络安全技术领域。尤其是涉及一种恶意代码检测方法、装置、电子设备及存储介质。


背景技术:

2.传统分析并检测病毒的方法是先通过人工分析调试一病毒样本,针对其行为模式,提取一段含有特殊意义的、能够表征其行为模式的特征(包括特殊字符串,特殊行为,特定二进制),将从不同病毒样本中提取的特征汇集成病毒库,利用病毒库中已有的病毒样本的特征对该病毒进行检测,只能检测病毒库中已有的病毒。


技术实现要素:

3.有鉴于此,本发明实施例提供一种恶意代码检测方法、装置、电子设备及存储介质,能够检测已知病毒样本的变种。
4.为达到上述目的,本发明的实施例采用如下技术方案:
5.本发明实施例提供一种恶意代码检测方法,包括:确定待检代码的基本块的数据信息;基于所述基本块的数据信息,为所述待检代码的基本块建立标签;将所述待检代码的基本块的标签,按照预设标签向量建立规则,建立待检代码的标签向量;将所述待检代码的标签向量,按照预设匹配规则,与预先建立的恶意样本特征库中的恶意样本标签向量进行匹配;若确定所述待检代码的标签向量,与所述恶意样本特征库中的一恶意样本标签向量相匹配,则确定所述待检代码为恶意代码。
6.根据本发明实施例的一种具体实现方式,所述确定待检代码的基本块的数据信息,包括:确定待检代码的基本块的指令信息和/或应用程序接口信息。
7.根据本发明实施例的一种具体实现方式,基于所述基本块的数据信息,为所述待检代码的基本块建立标签,包括:基于所述基本块的数据信息的功能特征,为所述待检代码的基本块建立相应的标签。
8.根据本发明实施例的一种具体实现方式,所述将所述待检代码的基本块的标签,按照预设标签向量建立规则,建立待检代码的标签向量,包括:将所述待检代码的基本块的标签,按照所述基本块在所述待检代码中执行的先后顺序,建立所述待检代码的标签向量。
9.根据本发明实施例的一种具体实现方式,在确定待检代码的基本块的数据信息之前,所述方法还包括:基于已知样本,建立已知样本的基本块标签库;根据所述已知样本的基本块标签库,建立恶意样本集的恶意样本特征库。
10.根据本发明实施例的一种具体实现方式,所述基于已知样本,建立已知样本的基本块标签库,包括:确定已知样本中至少两个基本块的数据信息;基于所述至少两个基本块的数据信息,为所述至少两个基本块分别建立标签;基于所述至少两个基本块的标签,建立所述已知样本的基本块标签库。
11.根据本发明实施例的一种具体实现方式,所述根据所述已知样本的基本块标签
库,建立恶意样本集的恶意样本特征库,包括:建立恶意样本集的恶意样本标签向量库,建立白样本集的白样本标签向量库;将所述恶意样本标签向量库中,与所述白样本标签向量库中相匹配的恶意样本标签向量删除,得到恶意样本特征库。
12.根据本发明实施例的一种具体实现方式,所述恶意样本集包括两个以上的恶意样本,所述两个以上的恶意样本包括第一恶意样本和第二恶意样本;其中,所述建立恶意样本集的恶意样本标签向量库,包括:将第一恶意样本的各基本块,按照预设匹配规则,与所述已知样本的基本块进行匹配,从所述第一恶意样本的各基本块中,确定出与所述已知样本的基本块相匹配的第一基本块,为所述第一基本块建立第一标签;所述第一标签与所述已知样本中与所述第一基本块相匹配的基本块的标签相同;将第一恶意样本中的各基本块的标签,按照所述预设标签向量建立规则,建立第一恶意样本标签向量;将第二恶意样本的各基本块,按照预设匹配规则,与所述已知样本的基本块进行匹配,从所述第二恶意样本的各基本块中,确定出与所述已知样本的基本块相匹配的第二基本块,为所述第二基本块建立第二标签;所述第二标签与所述已知样本中与所述第二基本块相匹配的基本块的标签相同;将第二恶意样本中的各基本块的标签,按照所述预设标签向量建立规则,建立第二恶意样本标签向量;基于建立的各恶意样本标签向量,建立恶意样本集的恶意样本标签向量库。
13.根据本发明实施例的一种具体实现方式,所述白样本集包括两个以上的白样本,所述两个以上的白样本包括第一白样本和第二白样本;其中,所述建立白样本集的白样本标签向量库,包括:将第一白样本的各基本块,按照预设匹配规则,与所述已知样本的基本块进行匹配,从所述第一白样本的各基本块中,确定出与所述已知样本的基本块相匹配的第一基本块,为所述第一基本块建立第一标签;所述第一标签与所述已知样本中与所述第一基本块相匹配的基本块的标签相同;将第一白样本中的各基本块的标签,按照所述预设标签向量建立规则,建立第一白样本标签向量;将第二白样本的各基本块,按照预设匹配规则,与所述已知样本的基本块进行匹配,从所述第二白样本的各基本块中,确定出与所述已知样本的基本块相匹配的第二基本块,为所述第二基本块建立第二标签;所述第二标签与所述已知样本中与所述第二基本块相匹配的基本块的标签相同;将第二白样本中的各基本块的标签,按照所述预设标签向量建立规则,建立第二白样本标签向量;基于建立的各白样本标签向量,建立白样本集的白样本标签向量库。
14.第二方面,本发明提供一种恶意代码检测装置,包括:基本块提取模块,用于确定待检代码的基本块的数据信息;标签建立模块,用于基于所述基本块的数据信息,为所述待检代码的基本块建立标签;标签向量建立模块,用于将所述待检代码的基本块的标签,按照预设标签向量建立规则,建立待检代码的标签向量;标签向量匹配模块,用于将所述待检代码的标签向量,按照预设匹配规则,与预先建立的恶意样本特征库中的恶意样本标签向量进行匹配;恶意代码确定模块,用于若确定所述待检代码的标签向量,与所述恶意样本特征库中的一恶意样本标签向量相匹配,则确定所述待检代码为恶意代码。
15.根据本发明实施例的一种具体实现方式,所述基本块提取模块,具体用于:确定待检代码的基本块的指令信息和/或应用程序接口信息。
16.根据本发明实施例的一种具体实现方式,所述标签建立模块,具体用于:基于所述基本块的数据信息的功能特征,为所述待检代码的基本块建立相应的标签。
17.根据本发明实施例的一种具体实现方式,所述标签向量建立模块,具体用于:将所
述待检代码的基本块的标签,按照所述基本块在所述待检代码中执行的先后顺序,建立所述待检代码的标签向量。
18.根据本发明实施例的一种具体实现方式,还包括:基本块标签库建立模块,用于基于已知样本,建立已知样本的基本块标签库;恶意样本特征库建立模块,用于根据所述已知样本的基本块标签库,建立恶意样本集的恶意样本特征库。
19.根据本发明实施例的一种具体实现方式,所述基本块标签库建立模块,具体用于:确定已知样本中至少两个基本块的数据信息;基于所述至少两个基本块的数据信息,为所述至少两个基本块分别建立标签;基于所述至少两个基本块的标签,建立所述已知样本的基本块标签库。
20.根据本发明实施例的一种具体实现方式,所述恶意样本特征库建立模块,具体用于:建立恶意样本集的恶意样本标签向量库,建立白样本集的白样本标签向量库;将所述恶意样本标签向量库中,与所述白样本标签向量库中相匹配的恶意样本标签向量删除,得到恶意样本特征库。
21.根据本发明实施例的一种具体实现方式,所述恶意样本集包括两个以上的恶意样本,所述两个以上的恶意样本包括第一恶意样本和第二恶意样本;其中,所述建立恶意样本集的恶意样本标签向量库,包括:将第一恶意样本的各基本块,按照预设匹配规则,与所述已知样本的基本块进行匹配,从所述第一恶意样本的各基本块中,确定出与所述已知样本的基本块相匹配的第一基本块,为所述第一基本块建立第一标签;所述第一标签与所述已知样本中与所述第一基本块相匹配的基本块的标签相同;将第一恶意样本中的各基本块的标签,按照所述预设标签向量建立规则,建立第一恶意样本标签向量;将第二恶意样本的各基本块,按照预设匹配规则,与所述已知样本的基本块进行匹配,从所述第二恶意样本的各基本块中,确定出与所述已知样本的基本块相匹配的第二基本块,为所述第二基本块建立第二标签;所述第二标签与所述已知样本中与所述第二基本块相匹配的基本块的标签相同;将第二恶意样本中的各基本块的标签,按照所述预设标签向量建立规则,建立第二恶意样本标签向量;基于建立的各恶意样本标签向量,建立恶意样本集的恶意样本标签向量库。
22.根据本发明实施例的一种具体实现方式,所述白样本集包括两个以上的白样本,所述两个以上的白样本包括第一白样本和第二白样本;其中,所述建立白样本集的白样本标签向量库,包括:将第一白样本的各基本块,按照预设匹配规则,与所述已知样本的基本块进行匹配,从所述第一白样本的各基本块中,确定出与所述已知样本的基本块相匹配的第一基本块,为所述第一基本块建立第一标签;所述第一标签与所述已知样本中与所述第一基本块相匹配的基本块的标签相同;将第一白样本中的各基本块的标签,按照所述预设标签向量建立规则,建立第一白样本标签向量;将第二白样本的各基本块,按照预设匹配规则,与所述已知样本的基本块进行匹配,从所述第二白样本的各基本块中,确定出与所述已知样本的基本块相匹配的第二基本块,为所述第二基本块建立第二标签;所述第二标签与所述已知样本中与所述第二基本块相匹配的基本块的标签相同;将第二白样本中的各基本块的标签,按照所述预设标签向量建立规则,建立第二白样本标签向量;基于建立的各白样本标签向量,建立白样本集的白样本标签向量库。
23.第三方面,本发明实施例提供一种电子设备,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;
电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述第一方面中任一项所述的恶意代码检测方法。
24.第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述第一方面中任一项所述的恶意代码检测方法。
25.本发明实施例提供一种恶意代码检测方法、装置、电子设备及存储介质,通过确定待检代码的基本块的数据信息可以得到待检代码的基本块的功能,通过待检代码的基本块的功能可以为所述待检代码的基本块建立描述其功能的标签,通过预设标签向量建立规则与待检代码的基本块的标签可以建立描述待检代码功能的标签向量,将可以描述待检代码功能的标签向量与可以描述恶意代码功能的恶意样本标签向量相匹配,是将待检代码与恶意代码在功能上进行检测,所以可以检测已知病毒通过修改恶意代码的局部特征得到的恶意样本的变种。
附图说明
26.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
27.图1为本发明一实施例恶意代码检测方法的流程示意图;
28.图2为本发明一实施例一基本块的示意图;
29.图3为本发明一实施例恶意代码检测装置的模块示意图;
30.图4为本发明一实施例电子设备的模块示意图。
具体实施方式
31.下面结合附图对本发明实施例进行详细描述。
32.应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
33.实施例一
34.参看图1和图2所示,本发明实施例提供的一种恶意代码检测方法,包括:
35.s101、确定待检代码的基本块的数据信息。
36.待检代码,可以通过对待检文件反编译得到待检文件的待检代码。
37.基本块,是一段没有分支指令,也没有分支目的的程式码,即程序一顺序执行的语句序列。
38.s102、基于所述基本块的数据信息,为所述待检代码的基本块建立标签。
39.可以通过人工分析、经验总结和机器学习等方法为待检代码的基本块建立标签;也可以通过将基本块和预先建立的基本块标签库中的基本块进行匹配,按照基本块与基本块标签库中的基本块相等或相似的策略,为待检代码的基本块建立标签。
40.标签是对基本块的数据信息的功能特征的表述,可以采用文字描述、十六进制数据等形式,能够加快分析人员对样本的了解过程,从而有助于加快分析人员的分析流程。
41.此外,依据相等或相似的策略,分析人员对于已经分析过的代码无需重复分析,可以降低分析人员内的工作量。
42.s103、将所述待检代码的基本块的标签,按照预设标签向量建立规则,建立待检代码的标签向量。
43.一个代码对应一个标签向量,但是一个标签向量可以对应多个代码。
44.s104、将所述待检代码的标签向量,按照预设匹配规则,与预先建立的恶意样本特征库中的恶意样本标签向量进行匹配。
45.预设匹配规则是指,通过算法或者字符串匹配等方法,确定待检代码的标签向量与恶意样本标签向量之间的相似度值,将相似度值与预设阈值进行比较:当相似度值小于预设阈值时,判定待检代码的标签向量与恶意样本标签向量不匹配;当相似度值大于等于预定阈值时,判定待检代码的标签向量与恶意样本标签向量相匹配。
46.s105、若确定所述待检代码的标签向量,与所述恶意样本特征库中的一恶意样本标签向量相匹配,则确定所述待检代码为恶意代码。
47.本发明实施例提供一种恶意代码检测方法,通过确定待检代码的基本块的数据信息可以得到待检代码的基本块的功能,通过待检代码的基本块的功能可以为所述待检代码的基本块建立描述其功能的标签,通过预设标签向量建立规则与待检代码的基本块的标签可以建立描述待检代码功能的标签向量,将可以描述待检代码功能的标签向量与可以描述恶意代码功能的恶意样本标签向量相匹配,是将待检代码与恶意代码在功能上进行检测,所以可以检测已知病毒通过修改恶意代码的局部特征得到的恶意样本的变种。
48.为了确定基本块可以实现的功能,在一实施例中,所述确定待检代码的基本块的数据信息,包括:确定待检代码的基本块的指令信息和/或应用程序接口信息。
49.可以通过反编译待检代码的方式,确定待检代码的基本块的数据信息。
50.确定待检代码的基本块应用程序接口信息是指确定待检代码的基本块调用的应用程序接口信息。
51.具体地,指令是告诉计算机从事某一特殊运算的代码,所以通过分析指令信息可以确定基本块可以实现的功能。应用程序接口是预先定义的函数逻辑,可以使一系统接收其他系统的请求,并向发送请求的系统返回结果,所以通过应用程序接口的功能也可以确定基本块可以实现的功能。
52.在一实施例中,基于所述基本块的数据信息,为所述待检代码的基本块建立标签,包括:基于所述基本块的数据信息的功能特征,为所述待检代码的基本块建立相应的标签。
53.即,标签用于表征基本块的数据信息的功能特征。
54.在一些例子中,标签可以是表征基本块的数据信息的功能特征的一段文字描述,由此便于工作人员对基本块和待检代码进行分析。
55.具体地,可以通过人工分析、经验总结和机器学习等方法处理基本块的数据信息,确定基本块的功能,从而为待检代码的基本块建立标签。
56.在一实施例中,所述将所述待检代码的基本块的标签,按照预设标签向量建立规则,建立待检代码的标签向量,包括:将所述待检代码的基本块的标签,按照所述基本块在
所述待检代码中执行的先后顺序,建立所述待检代码的标签向量。
57.可以理解的是标签向量是由多个标签共同组成的向量。
58.建立待检代码的标签向量可以是将待检代码的基本块的标签依照与标签相对应的基本块在待检代码中的先后执行顺序依次连接。由于标签可以是对基本块的数据信息的功能特征的一段文字描述,因此依据基本块在待检代码中执行的先后顺序,将基本块的标签相连接,得到的待检代码的标签向量,也可以是对待检代码的功能特征的一段文字描述,即标签向量可以用于表征待检代码的功能特征。
59.在一实施例中,在确定待检代码的基本块的数据信息之前,所述方法还包括:基于已知样本,建立已知样本的基本块标签库;根据所述已知样本的基本块标签库,建立恶意样本集的恶意样本特征库。
60.已知样本可以是白样本,可以是黑样本,也可以是无法判断黑、白的样本。因为建立已知样本的基本块标签库的关键在于给基本块添加标签,通过标签表征基本块的功能,加快工作人员的分析过程,所以已知样本可以是白样本,可以是黑样本,也可以是无法判断黑、白的样本。
61.这里,基本块标签库可以用于建立恶意样本及的恶意样本特征库,也可以用来建立待检代码的标签向量,然后,通过将待检代码的标签向量与恶意样本特征库进行匹配,即可确定待检代码是否为恶意代码。
62.在一实施例中,所述基于已知样本,建立已知样本的基本块标签库,包括:确定已知样本中至少两个基本块的数据信息;基于所述至少两个基本块的数据信息,为所述至少两个基本块分别建立标签;基于所述至少两个基本块的标签,建立所述已知样本的基本块标签库。
63.可以通过反编译已知样本,确定已知样本的基本块的数据信息。
64.其中,不同的基本块的第一标签可能会有所不同,且同一个基本块可能有两个以上的标签。
65.基本块标签库可以用来表示恶意样本、白样本和待检代码,且基本块标签库表示恶意样本、白样本和待检代码的精确度与基本块标签库中的基本块的数量呈正比。同时,基本块库的建立,避免了分析人员的重复工作,将部分待检代码的识别由人工识别转为自动化识别,极大地提高了工作效率。
66.参看图2,在一个例子中,一已知样本为191e9fcb2df403717d5190658b6fc1d3,通过反编译,在偏移0x10013170处有一基本块,可以确定该基本块的数据信息为十六进制数据64a1300000008b400c8b701cad8b58088bc383c03c8b0003c383c0788b00。通过人工分析的方法,确定该基本块的功能是获取kernelbase.dll的基址,所以为该基本块建立标签为获取kernelbase.dll。以此类推,可以为其他基本块建立标签,然后基于这些具有标签的基本块建立已知样本的基本块标签库。
67.为了降低本技术所提供的方案在检测待检代码时的误报率,在一实施例中,所述根据所述已知样本的基本块标签库,建立恶意样本集的恶意样本特征库,包括:建立恶意样本集的恶意样本标签向量库,建立白样本集的白样本标签向量库;将所述恶意样本标签向量库中,与所述白样本标签向量库中相匹配的恶意样本标签向量删除,得到恶意样本特征库。
68.可以理解的是,白样本和恶意样本的执行目的不同,但是可能会具有一些相同的功能,比如白样本为了增强自身的工作效率而修改注册表,恶意样本为了隐藏自身而修改注册表,两者的执行目的不同,但是都具有修改注册表的功能。
69.由于基本块标签库自身的局限性,可能导致通过基本块标签库表达的一白样本和一恶意样本的标签向量相同,由此当通过基本块标签库表达一待检代码获得的标签向量与该标签向量相同时,并不能确定该待检代码为恶意代码,但是由于恶意样本特征库中存在该标签向量,则会将该待检代码确认为恶意代码,从而产生误报。因此,通过将恶意样本标签向量库中,与白样本标签向量库中相匹配的恶意样本标签向量删除,可以降低本技术所提供的方案在检测待检代码时的误报率。
70.在一实施例中,所述恶意样本集包括两个以上的恶意样本,所述两个以上的恶意样本包括第一恶意样本和第二恶意样本;其中,所述建立恶意样本集的恶意样本标签向量库,包括:将第一恶意样本的各基本块,按照预设匹配规则,与所述已知样本的基本块进行匹配,从所述第一恶意样本的各基本块中,确定出与所述已知样本的基本块相匹配的第一基本块,为所述第一基本块建立第一标签;所述第一标签与所述已知样本中与所述第一基本块相匹配的基本块的标签相同;将第一恶意样本中的各基本块的标签,按照所述预设标签向量建立规则,建立第一恶意样本标签向量;将第二恶意样本的各基本块,按照预设匹配规则,与所述已知样本的基本块进行匹配,从所述第二恶意样本的各基本块中,确定出与所述已知样本的基本块相匹配的第二基本块,为所述第二基本块建立第二标签;所述第二标签与所述已知样本中与所述第二基本块相匹配的基本块的标签相同;将第二恶意样本中的各基本块的标签,按照所述预设标签向量建立规则,建立第二恶意样本标签向量;基于建立的各恶意样本标签向量,建立恶意样本集的恶意样本标签向量库。
71.恶意样本的各个基本块按照相等或相似的匹配规则与已知样本的基本块进行匹配。
72.恶意样本标签向量库中包含的恶意样本标签向量越多通过恶意样本标签向量库和白样本标签向量库相配合建立的恶意样本特征库检测待检代码的效果越好,检测待检代码的误报率越低。
73.在一实施例中,所述白样本集包括两个以上的白样本,所述两个以上的白样本包括第一白样本和第二白样本;其中,所述建立白样本集的白样本标签向量库,包括:将第一白样本的各基本块,按照预设匹配规则,与所述已知样本的基本块进行匹配,从所述第一白样本的各基本块中,确定出与所述已知样本的基本块相匹配的第一基本块,为所述第一基本块建立第一标签;所述第一标签与所述已知样本中与所述第一基本块相匹配的基本块的标签相同;将第一白样本中的各基本块的标签,按照所述预设标签向量建立规则,建立第一白样本标签向量;将第二白样本的各基本块,按照预设匹配规则,与所述已知样本的基本块进行匹配,从所述第二白样本的各基本块中,确定出与所述已知样本的基本块相匹配的第二基本块,为所述第二基本块建立第二标签;所述第二标签与所述已知样本中与所述第二基本块相匹配的基本块的标签相同;将第二白样本中的各基本块的标签,按照所述预设标签向量建立规则,建立第二白样本标签向量;基于建立的各白样本标签向量,建立白样本集的白样本标签向量库。
74.白样本的各个基本块按照相等或相似的匹配规则与已知样本的基本块进行匹配。
75.白样本标签向量库中包含的白样本标签向量越多,通过恶意样本标签向量库和白样本标签向量库相配合建立的恶意样本特征库检测待检代码的效果越好,检测待检代码的误报率越低。
76.实施例二
77.参看图3,本发明实施例提供一种恶意代码检测装置,包括:基本块提取模块,用于确定待检代码的基本块的数据信息;标签建立模块,用于基于所述基本块的数据信息,为所述待检代码的基本块建立标签;标签向量建立模块,用于将所述待检代码的基本块的标签,按照预设标签向量建立规则,建立待检代码的标签向量;标签向量匹配模块,用于将所述待检代码的标签向量,按照预设匹配规则,与预先建立的恶意样本特征库中的恶意样本标签向量进行匹配;恶意代码确定模块,用于若确定所述待检代码的标签向量,与所述恶意样本特征库中的一恶意样本标签向量相匹配,则确定所述待检代码为恶意代码。
78.本发明实施例提供一种恶意代码检测装置,通过确定待检代码的基本块的数据信息可以得到待检代码的基本块的功能,通过待检代码的基本块的功能可以为所述待检代码的基本块建立描述其功能的标签,通过预设标签向量建立规则与待检代码的基本块的标签可以建立描述待检代码功能的标签向量,将可以描述待检代码功能的标签向量与可以描述恶意代码功能的恶意样本标签向量相匹配,是将待检代码与恶意代码在功能上进行检测,所以可以检测已知病毒通过修改恶意代码的局部特征得到的恶意样本的变种。
79.在一实施例中,所述基本块提取模块,具体用于:确定待检代码的基本块的指令信息和/或应用程序接口信息。
80.确定待检代码的基本块应用程序接口信息是指确定待检代码的基本块调用的应用程序接口信息。具体地,指令是告诉计算机从事某一特殊运算的代码,所以通过分析指令信息可以确定基本块可以实现的功能。应用程序接口是预先定义的函数逻辑,可以使一系统接收其他系统的请求,并向发送请求的系统返回结果,所以通过应用程序接口的功能也可以确定基本块可以实现的功能。
81.在一实施例中,所述标签建立模块,具体用于:基于所述基本块的数据信息的功能特征,为所述待检代码的基本块建立相应的标签。
82.在一些例子中,标签可以是表征基本块的数据信息的功能特征的一段文字描述,由此便于工作人员对基本块和待检代码进行分析。
83.在一实施例中,所述标签向量建立模块,具体用于:将所述待检代码的基本块的标签,按照所述基本块在所述待检代码中先后的执行顺序,建立所述待检代码的标签向量。
84.建立待检代码的标签向量可以是将待检代码的基本块的标签依照与标签相对应的基本块在待检代码中的先后执行顺序依次连接。由于标签可以是对基本块的数据信息的功能特征的一段文字描述,因此依据基本块在待检代码中执行的先后顺序,将基本块的标签相连接,得到的待检代码的标签向量,也可以是对待检代码的功能特征的一段文字描述,即标签向量可以用于表征待检代码的功能特征。
85.在一实施例中,还包括:基本块标签库建立模块,用于基于已知样本,建立已知样本的基本块标签库;恶意样本特征库建立模块,用于根据所述已知样本的基本块标签库,建立恶意样本集的恶意样本特征库。
86.这里,基本块标签库可以用于建立恶意样本及的恶意样本特征库,也可以用来建
立待检代码的标签向量,然后,通过将待检代码的标签向量与恶意样本特征库进行匹配,即可确定待检代码是否为恶意代码。
87.在一实施例中,所述基本块标签库建立模块,具体用于:确定已知样本中至少两个基本块的数据信息;基于所述至少两个基本块的数据信息,为所述至少两个基本块分别建立标签;基于所述至少两个基本块的标签,建立所述已知样本的基本块标签库。
88.可以通过反编译已知样本,确定已知样本的基本块的数据信息。
89.其中,同一个基本块可能有两个以上的标签,且不同的基本块的第一标签可能会有所不同。
90.在一实施例中,所述恶意样本特征库建立模块,具体用于:建立恶意样本集的恶意样本标签向量库,建立白样本集的白样本标签向量库;将所述恶意样本标签向量库中,与所述白样本标签向量库中相匹配的恶意样本标签向量删除,得到恶意样本特征库。
91.可以理解的是,白样本和恶意样本的执行目的不同,但是可能会具有一些相同的功能,比如白样本为了增强自身的工作效率而修改注册表,恶意样本为了隐藏自身而修改注册表,两者的执行目的不同,但是都具有修改注册表的功能。
92.在一实施例中,所述恶意样本集包括两个以上的恶意样本,所述两个以上的恶意样本包括第一恶意样本和第二恶意样本;其中,所述建立恶意样本集的恶意样本标签向量库,包括:将第一恶意样本的各基本块,按照预设匹配规则,与所述已知样本的基本块进行匹配,从所述第一恶意样本的各基本块中,确定出与所述已知样本的基本块相匹配的第一基本块,为所述第一基本块建立第一标签;所述第一标签与所述已知样本中与所述第一基本块相匹配的基本块的标签相同;将第一恶意样本中的各基本块的标签,按照所述预设标签向量建立规则,建立第一恶意样本标签向量;将第二恶意样本的各基本块,按照预设匹配规则,与所述已知样本的基本块进行匹配,从所述第二恶意样本的各基本块中,确定出与所述已知样本的基本块相匹配的第二基本块,为所述第二基本块建立第二标签;所述第二标签与所述已知样本中与所述第二基本块相匹配的基本块的标签相同;将第二恶意样本中的各基本块的标签,按照所述预设标签向量建立规则,建立第二恶意样本标签向量;基于建立的各恶意样本标签向量,建立恶意样本集的恶意样本标签向量库。
93.在一实施例中,所述白样本集包括两个以上的白样本,所述两个以上的白样本包括第一白样本和第二白样本;其中,所述建立白样本集的白样本标签向量库,包括:将第一白样本的各基本块,按照预设匹配规则,与所述已知样本的基本块进行匹配,从所述第一白样本的各基本块中,确定出与所述已知样本的基本块相匹配的第一基本块,为所述第一基本块建立第一标签;所述第一标签与所述已知样本中与所述第一基本块相匹配的基本块的标签相同;将第一白样本中的各基本块的标签,按照所述预设标签向量建立规则,建立第一白样本标签向量;将第二白样本的各基本块,按照预设匹配规则,与所述已知样本的基本块进行匹配,从所述第二白样本的各基本块中,确定出与所述已知样本的基本块相匹配的第二基本块,为所述第二基本块建立第二标签;所述第二标签与所述已知样本中与所述第二基本块相匹配的基本块的标签相同;将第二白样本中的各基本块的标签,按照所述预设标签向量建立规则,建立第二白样本标签向量;基于建立的各白样本标签向量,建立白样本集的白样本标签向量库。
94.实施例三
95.参看图4,本发明实施例提供一种电子设备,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述实施例一中任一项所述的恶意代码检测方法。
96.实施例四
97.本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例一中任一项所述的恶意代码检测方法。
98.针对恶意样本的行为模式提取含有特殊意义的特征时,常采用动态获取,对于坏境依赖和无法直接执行的样本跑通率很低。通过静态匹配api序列的方法又不够全面和准确。本发明实施例提供一种恶意代码检测方法、装置、电子设备及存储介质,通过分析已知样本,建立基本块标签库;再通过基本块标签库中的基本块表达恶意样本,得到恶意样本标签向量库,通过基本块标签库中的基本块表达白样本,得到白样本标签向量库,并通过恶意样本标签向量库和白样本标签向量库得到恶意样本特征库;然后通过基本块标签库中的基本块表达待检代码,与恶意样本特征库进行匹配,确定待检代码是否为恶意样本,通过对待检代码细粒度的分析形成的基本块信息,可以更有效的对待检代码的行为和功能进行表达,将待检代码与恶意代码在功能上进行检测,可以有效防止通过反病毒引擎对恶意样本进行修改避过检测的情况。
99.需要说明的是,在本文中,各个实施例之间描述的方案的侧重点不同,但是各个实施例又存在某种相互关联的关系,在理解本发明方案时,各个实施例之间可相互参照;另外,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
100.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献