用于病毒鉴定的训练方法和病毒鉴定方法及装置制造方法

文档序号:6501090阅读:245来源:国知局
用于病毒鉴定的训练方法和病毒鉴定方法及装置制造方法
【专利摘要】本发明实施例公开了一种用于病毒鉴定的训练方法和计算机病毒鉴定方法及相应装置,所述用于病毒鉴定的训练方法包括:提取纯黑样本中的一个程序的特征;根据所述程序的特征,获取所述程序的数学特征;判断所述数学特征是否符合预置的病毒的数学特征的要求,如果符合,获取所述程序的数学特征与所述预置的病毒的数学特征的共同特征;如果所述数学特征不符合所述预置病毒的数学特征的要求,则记录所述程序的所述数学特征,作为新增病毒的数学特征。能够快速扫描病毒。
【专利说明】用于病毒鉴定的训练方法和病毒鉴定方法及装置

【技术领域】
[0001]本发明涉及计算机【技术领域】,具体涉及一种用于病毒鉴定的训练方法和病毒鉴定方法及装置。

【背景技术】
[0002]互联网技术的快速发展,为病毒的快速传播也提供了便利的途径,为了能够及时发现病毒,避免病毒对用户设备的攻击。现有技术中对计算机病毒扫描的方法主要分为两种:
[0003]一种是采用人工提取特征的扫描方法。该技术是在人为发现新病毒后,对其进行分析,根据其特点提取特征码,加入到数据库中。在执行查毒程序时,通过对比文件与病毒数据库中的病毒特征码,检查文件是否含有病毒。对传统病毒来说,病毒码扫描技术速度快,误报率低,是检测已知病毒的最简单、开销小的方法。目前的大多数杀毒软件产品都配备了这种扫描引擎。
[0004]但是,这种方法不能识别未知的病毒,而且随着病毒种类的增多,特别是变形病毒和隐藏性的病毒的发展,病毒特征数据库越来越庞大,给特征扫描方法带来了严峻挑战。
[0005]另一种是行为启发式扫描方法,该技术主要是通过获取计算机病毒在运行状态的行为数据,通过人工或特定的程序对行为数据进行归纳和总结,制定出规则来检测计算机病毒。这种方法能检测出已知病毒的变种和一些未知的病毒。但由于在很多情况下,要准确的归纳和总结出病毒的有害行为是件相当困难的事。所以这种方法经常产生误报,把一些正常的计算机程序误报成有危险。另外有一点就是这种方法首先要获取到计算机病毒运行状态的行为,在这个获取计算机病毒行为的过程和技术是相当复杂而且非常耗时。对大批量的样本进行鉴定所带来的巨大时间开销也是很多用户无法忍受的。


【发明内容】

[0006]本发明实施例提供了一种用于病毒鉴定的训练方法和病毒鉴定方法及装置,能够可以现有技术中病毒特征数据库越来越庞大,给特征扫描方法带来了严峻挑战的问题。
[0007]本发明实施例提供了一种用于病毒鉴定的训练方法,所述方法包括:
[0008]提取纯黑样本中的一个程序的特征;
[0009]根据所述程序的特征,获取所述程序的数学特征;
[0010]判断所述数学特征是否符合预置的病毒的数学特征的要求,
[0011]如果符合,获取所述程序的数学特征与所述预置的病毒的数学特征的共同特征;
[0012]如果所述数学特征不符合所述预置病毒的数学特征的要求,则记录所述程序的所述数学特征,作为新增病毒的数学特征。
[0013]本发明实施例还提供了一种计算机病毒鉴定方法,所述方法还包括:
[0014]提取输入的程序的特征;
[0015]根据所述程序的特征,获取所述程序的数学特征;
[0016]判断所述数学特征是否符合如权利要求1所述训练后的病毒的数学特征的要求;
[0017]如果符合,输出所述数学特征,或者输出所述数学特征对应的病毒名称。
[0018]本发明实施例还提供了一种神经网络的训练装置,所述装置包括:所述装置包括:第一特征单元,第一数学特征单元,第一判断特征单元,第一获取共性单元,和第一纪录特征单元;
[0019]所述第一特征单元,用于提取纯黑样本中的一个程序的特征;
[0020]所述第一数学特征单元,用于根据所述程序的特征,获取所述程序的数学特征;
[0021]所述第一判断特征单元,用于判断所述数学特征是否符合预置的病毒的数学特征的要求,
[0022]所述第一获取共性单元,用于如果符合,获取所述程序的数学特征与所述预置的病毒的数学特征的共同特征;
[0023]所述第一纪录特征单元,用于如果所述数学特征不符合所述预置病毒的数学特征的要求,则记录所述程序的所述数学特征,作为新增病毒的数学特征。
[0024]本发明实施例还提供了一种计算机病毒鉴定装置,所述装置包括:第二特征单元,第二数学特征单元,第二判断特征单元,和第一输出单元;
[0025]所述第二特征单元,用于提取输入的程序的特征;
[0026]所述第二数学特征单元,用于根据所述程序的特征,获取所述程序的数学特征;
[0027]所述第二判断特征单元,用于判断所述数学特征是否符合如权利要求1所述训练后的病毒的数学特征的要求;
[0028]所述第一输出单元,用于如果符合,输出所述数学特征,或者输出所述数学特征对应的病毒名称。
[0029]从以上技术方案可以看出,本发明实施例具有以下优点:将用数学特征表达的程序与预置的病毒程序的数学特征进行对比,当发现该程序的数学特征与病毒数学特征要求的表达相同或者相近似,就理解该程序为已知的病毒,若不相似,则该程序是新种类的病毒,将其记录,从而实现了自动形成病毒库,不需要人为提取病毒,创建病毒库。大大提升了自动化程度。能识别已知的各种已知的计算机病毒变种和部分未知病毒,并且大大提高了鉴定病毒的准确性高,降低了误报率。

【专利附图】

【附图说明】
[0030]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0031]图1是本发明实施例提供的一种用于病毒鉴定的训练方法示意简图;
[0032]图2是本发明实施例提供的一种计算机病毒鉴定方法流程示意简图;
[0033]图3是本发明实施例一提供的一种用于病毒鉴定的训练方法流程示意简图;
[0034]图4是本发明实施例提供的ART神经元网络示意简图;
[0035]图5是本发明实施例二提供的一种计算机病毒鉴定方法流程示意简图;
[0036]图6是本发明实施例三提供的一种用于病毒鉴定的训练装置示意简图;
[0037]图7是本发明实施例四提供的一种计算机病毒鉴定装置示意简图;
[0038]图8是本发明实施例所涉及的计算机示意图;
[0039]图9是本发明实施例所涉及的另一种计算机示意图。

【具体实施方式】
[0040]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0041]如图1所示,本发明实施例提供的一种用于病毒鉴定的训练方法,所述方法包括:
[0042]步骤Al,提取纯黑样本中的一个程序的特征;
[0043]其中,在该训练方法其处理的对象可以是纯黑样本,在纯黑样本中有当前技术人员已知的各种病毒的样本,将该纯黑样本中的程序作为输入,提取纯黑样本的程序的特征。程序的特征可以包括:程序入口点地址(Address ofEntry Point),程序的代码段大小(Size of Code),该程序的可执行映像的地址空间大小(Size of Image),导入表大小(Import Table Size),导入函数个数(TotalFuncCnt),程序入口点起始处16个指令操作码(Opencode),和代码段开始处16个指令操作码(Opencode)。需要理解的是,上述程序的7个特征可以对每个程序进行一定的描述,后续操作是基于该特征判断该程序是否属于病毒。此处对程序特征例举出7个特征,并非对特征的穷举,仅是当前计算机领域常用的7个识别程序的特征。并非对本发明实施例的限制。
[0044]步骤A2,根据所述程序的特征,获取所述程序的数学特征;
[0045]其中,将提取出的特征转换为特征向量,根据特征向量进行相关设计的计算,将步骤Al中的程序用数学特征表达,该数学特征可以是如下述式(I)中的表达方法,也不限制其它数学表达方式;其中,特征向量可以用浮点型数值表示,也可以是其它类型数值表示。在本发明实施例中以浮点型数值表示特征向量,不应该理解为对本发明实施例的限制。
[0046]步骤A3,判断所述数学特征是否符合预置的病毒的数学特征的要求,
[0047]步骤A4,如果符合,获取所述程序的数学特征与所述预置的病毒的数学特征的共同特征;
[0048]步骤A5,如果所述数学特征不符合所述预置病毒的数学特征的要求,则记录所述程序的所述数学特征,作为新增病毒的数学特征。
[0049]通过上述步骤A3至A5的操作,将用数学特征表达的程序与预置的病毒程序的数学特征进行对比,当发现该程序的数学特征与病毒数学特征要求的表达相同或者相近似,就理解该程序为已知的病毒,若不相似,则该程序是新种类的病毒,将其记录,从而实现了自动形成病毒库,不需要人为提取病毒,创建病毒库。大大提升了自动化程度。
[0050]如图2所示,本发明实施例提供的一种计算机病毒鉴定方法,所述方法包括:
[0051]步骤BI,提取输入的程序的特征;
[0052]当前提取的程序是未知其是否为病毒的程序,程序的特征可以包括:程序入口点地址(Address of Entry Point),程序的代码段大小(Size of Code),该程序的可执行映像的地址空间大小(Size of Image),导入表大小(ImportTable Size),导入函数个数(TotalFuncCnt),程序入口点起始处16个指令操作码(Opencode),和代码段开始处16个指令操作码(Opencode)。需要理解的是,上述程序的7个特征可以对每个程序进行一定的描述,后续操作是基于该特征判断该程序是否属于病毒。此处对程序特征例举出7个特征,并非对特征的穷举,仅是当前计算机领域常用的7个识别程序的特征。并非对本发明实施例的限制。
[0053]上述前5个程序特征可以是从PE的头结构中获取的。
[0054]步骤B2,根据所述程序的特征,获取所述程序的数学特征;
[0055]其中,将提取出的特征转换为特征向量,根据特征向量进行相关设计的计算,将步骤BI中的程序用数学特征表达,该数学特征可以是如下述式(I)中的表达方法,也不限制其它数学表达方式;其中,特征向量可以用浮点型数值表示,也可以是其它类型数值表示。在本发明实施例中以浮点型数值表示特征向量,不应该理解为对本发明实施例的限制。
[0056]步骤B3,判断所述数学特征是否符合训练后的病毒的数学特征的要求;
[0057]步骤B4,如果符合,输出所述数学特征,或者输出所述数学特征对应的病毒名称。
[0058]通过执行上述将用数学特征表达的程序与训练后的病毒程序的数学特征进行对t匕,当发现该程序的数学特征与病毒数学特征要求的表达相同或者相近似,就理解该程序为已知的病毒,告知用户,即鉴别出该病毒。
[0059]优选的,步骤B4输出所述数学特征,或者输出所述数学特征对应的病毒名称之后,所述方法还包括:
[0060]步骤B5,获取所述程序的数学特征与所述训练后的病毒的数学特征的共同特征。
[0061]其中,步骤B5的具体实现方法,依据不同的数学表达方式会有不同(一种优选的表达方式如下述实施例中式子(2)和(3)),但其用途都是为了更加容易识别变形后的程序,同时,不会产生大量的病毒数据存储在病毒数据库中,减轻了数据库的压力,节省了资源。
[0062]若该鉴定的程序是病毒程序,可以获取该程序与训练的病毒他们共同的数学特征,使得该方法更容易识别变形后的病毒程序。
[0063]在对本发明技术优选的实施例做说明之前,首先需要了解的是自适应共振理论(Adaptive Resonance Theory,简称 ART),它是由 S.Grossberg 和 A.Carpentent 等人于1986年提出来的。ART神经网络是一种自组织神经网络结构,是无监督的学习网络。当在神经网络和环境有交互作用时,对环境信息的编码会自发地在神经网中产生,则认为神经网络在进行自组织活动。ART就是这样一种能自组织地产生对环境认识编码的神经网络理论模型。
[0064]本发明实施例优选提供一种计算机病毒鉴定方法,是基于ART神经网络的计算机病毒的特征启发式鉴定方案。该方案是预先建立一个改进型ART神经网络。然后对已知的病毒进行特征提取,获取病毒的样本特征信息,根据这些样本特征信息转换为样本特征向量。再将这些特征向量输入到ART神经网络。然后,利用改进型ART神经网络的自动聚类特性进行病毒判别训练。然后对已经训练好的ART神经网络去识别新的病毒和木马。该技术方案具有扫描速度快,而且,由于采用ART神经网络来记忆病毒特征,不同于现有技术中采用病毒特征库存储病毒特征数据,因此,存储病毒数据量可控。能识别已知的各种已知的计算机病毒变种和部分未知病毒,并且大大提高了鉴定病毒的准确性高,降低了误报率。
[0065]下面结合具体的实施例对该本发明实施例提供的优选的技术方案进行说明。
[0066]实施例一
[0067]本发明实施例提供了一种用于病毒鉴定的训练方法,在该训练方法其处理的对象可以是纯黑样本,在纯黑样本中有当前技术人员已知的各种病毒的样本,将该纯黑样本中的程序作为输入,提取纯黑样本的程序的特征,并将该特征转换为特征向量作为ART神经网络的输入,经由ART神经网络的自学该病毒的特征,从而实现ART神经网络的训练过程。
[0068]如图3所示,该方法包括:
[0069]步骤101,提取纯黑样本中的一个程序的特征,
[0070]需要说明的,这里所说的纯黑样本中的程序,是指该样本中的所有的程序都是病毒程序,这些病毒程序用户对设计的ART神经网络进行训练,使得ART神经网络根据输入的这些病毒程序的特征,能够学习识别这些病毒。后续再完成训练ART神经网络操作后,可以参照已经学习的病毒程序,判断需要检测的程序是否为病毒或者木马。
[0071]进一步,程序的特征可以包括:程序入口点地址(Address of Entry Point),程序的代码段大小(Size of Code),该程序的可执行映像的地址空间大小(Sizeof Image),导入表大小(Import Table Size),导入函数个数(TotalFuncCnt),程序入口点起始处16个指令操作码(Opencode),和代码段开始处16个指令操作码(Opencode)。需要理解的是,上述程序的7个特征可以对每个程序进行一定的描述,后续操作是基于该特征判断该程序是否属于病毒。此处对程序特征例举出7个特征,并非对特征的穷举,仅是当前计算机领域常用的7个识别程序的特征。并非对本发明实施例的限制。
[0072]上述前5个程序特征可以是从可执行体(例如:PE)的头结构中获取的。
[0073] 步骤102,将提取出的特征转换为特征向量;其中,特征向量可以用浮点型数值表示,也可以是其它类型数值表示。在本发明实施例中以浮点型数值表示特征向量,不应该理解为对本发明实施例的限制。
[0074]在上述步骤101中若提取的程序特征包括7项,其中上述说明的前5项分别可以转换为对应的浮点型数值,即由5个数值,程序的后2项特征每项用16个浮点数值表示,则提取的程序特征转换为特征向量,该向量用37个浮点数值表示。转换为向量的形式是为了ART网络对数据处理。
[0075]在本发明实施中程序入口点地址(AddressOfEntryPoint)的值可能比较大,在转换为浮点型数据时,可以采取将小数点向左移五个位。此处仅是便于理解的说明,并非对实施例的限制。
[0076]步骤103,根据ART神经网络中的输出层的每一个神经元记忆的特征权值w和输入的特征向量,获取所述输出层的每一个神经元的相似度差值I ;
[0077]其中,步骤103中获取每个神经元的相似度差值y具体可以参考如式(I):
[0078]y= (xl_wl)2+(x2_w2)2+…+ (x37_w37)2式(I)
[0079]其中,X为步骤102中获取的特征向量,y为每个神经元的输出值,w⑴对应输出层的每个神经元中包括的37个特征权值,其中,i属于[1,37]。
[0080]步骤104,判断获取的所有相似度差值y中最小的y是否大于阀值H,如果最小的相似度差I值大于阀值H,则执行步骤105,在该ART神经网络中记录该特征向量作为输出层的新的神经元。由于该特征是纯黑样本中的程序的特征,此处计算出相似度差值y大于阀值H,表示当前的神经元中没有记录该病毒样本,在步骤104中记录该病毒程序样本。因此,输出层新增加的神经元中记录该特征向量。
[0081]步骤106,如果最小的相似度差值y不大于阀值H,根据该特征向量和相似度差值y最小的神经元当前记忆的特征权值《,调整该相似度差值y最小的神经元的记忆的特征权值W ;
[0082]其中,在步骤106中调整记忆的特征权值w的具体操作可以参照如下公式(2)(3):
[0083]Wj[i] =IearnRate* (x [i] -W^1 [i])式(2)
[0084]式(3)
[0085]其中,X为步骤102中当前获取的特征向量,IearnRate为学习率,可以是常数,Wj^ti]是神经元内当前的特征权值,Wj[i]是调整后的特征权值,w[i]为归一化处理后的特征权值。
[0086]通过调整记忆的特征权值W,可以使得训练好的ART神经网络能够识别出各种病毒的变形,更准确的识别出病毒程序。提高鉴定病毒的能力。
[0087]对于上述说明的神经元,为了更加清楚的理解,参见附图4中说明的ART神经元网络示意简图,其中该ART神经元网络包括有两个神经元层,处于下方的37个神经元(即输入层的神经元)负责将提取的特征向量传输到上层的神经元层中(即输出层)的每个神经元内。处于上方的神经元层中神经元的数量是逐渐增加的,通过对纯黑样本的训练,假设可以得到η个神经元。其中,ART神经元网络中还包括有控制器,其用途包括:
[0088]1、从输出层神经元中挑选出与输入向量相似度最高的神经元作为网络最终输出值,并让该神经元调整记忆的特征权值w ;
[0089]2、控制输入层神经元传送输入向量的开关,将输入向量包括的37个浮点型数值全部输入到一个神经元,直到所有的神经元内都获取到了 37个浮点型数值的输入向量,并在各神经元内进行上述公式(I)计算;
[0090]3、当输出层未找到与输入向量有相似的神经元时,控制输出层产生新的神经元来记忆新的输入向量。
[0091]重复执行上述步骤101至106的操作,直到纯黑样本中的所有程序都经历了上述操作,至此对ART神经网络的训练完成,当开发人员新发现有新的病毒或者木马时,可以搜集新的纯黑样本,在通过新搜集的纯黑样本再对ART神经网络进行训练,从而对ART神经网络训练改进。
[0092]本发明实施例提供的一种用于病毒鉴定的训练方法,通过对已知的病毒进行特征提取,获取病毒的样本特征信息,根据这些样本特征信息转换为样本特征向量。再将这些特征向量输入到ART神经网络。然后,利用改进型ART神经网络的自动聚类特性进行病毒判别训练。使得后续利用该已经训练好的ART神经网络去识别新的病毒和木马。该ART神经网络的训练方法使得后续能够快速扫描病毒,而且,由于采用ART神经网络来记忆病毒特征,不同于现有技术中采用病毒特征库存储病毒特征数据,因此,存储病毒数据量可控。能识别已知的各种已知的计算机病毒变种和部分未知病毒,并且大大提高了鉴定病毒的准确性高,降低了误报率。
[0093]实施例二
[0094]本发明实施例提供了一种计算机病毒鉴定方法,该方法是基于上述实施例一中训练完成的ART神经网络,可以判断各种输入的程序是否是危险程序。参见图5所示,该方法包括:
[0095]步骤201,提取输入的程序的特征;
[0096]当前提取的程序的特征与上述步骤101相似,区别在于步骤101中程序都是病毒程序,作为训练ART神经网络中使用,而当前步骤201中操作的对象是未知安全与否的程序,需要经由训练好的ART神经网络鉴定后,才可以判断安全与否的程序。
[0097]程序的特征可以包括:程序入口点地址(Address of Entry Point),程序的代码段大小(Size of Code),该程序的可执行映像的地址空间大小(Size of Image),导入表大小(Import Table Size),导入函数个数(TotalFuncCnt),程序入口点起始处16个指令操作码(Opencode),和代码段开始处16个指令操作码(Opencode)。需要理解的是,上述程序的7个特征可以对每个程序进行一定的描述,后续操作是基于该特征判断该程序是否属于病毒。此处对程序特征例举出7个特征,并非对特征的穷举,仅是当前计算机领域常用的7个识别程序的特征。并非对本发明实施例的限制。
[0098]上述前5个程序特征可以是从PE的头结构中获取的。
[0099]步骤202,将输入的程序的特征转换为输入特征向量;其中,输入特征向量可以用浮点型数值表示,也可以是其它类型数值表示。在本发明实施例中以浮点型数值表示特征向量。
[0100]在上述步骤201中若提取的程序特征包括7项,其中上述说明的前5项分别可以转换为对应的浮点型数值,即由5个数值,程序的后2项特征每项用16个浮点数值表示,则提取的程序特征转换为特征向量,该向量用37个浮点数值表示。转换为向量的形式是为了ART网络对数据处理。
[0101]在本发明实施中程序入口点地址(AddressOfEntryPoint)的值可能比较大,在转换为浮点型数据时,可以采取将小数点向左移五个位。此处仅是便于理解的说明,并非对实施例的限制。
[0102]步骤203,根据训练完成的ART神经网络中的输出层的每一个神经元记忆的特征权值w和输入特征向量,获取输出层的每个神经元的相似度差值y ;
[0103]其中,步骤203中获取每个神经元的相似度差值I具体与步骤103相同,即也是可以参考如式(I)。
[0104]步骤204,判断获取的所有的相似度差值y中最小的y是否大于阀值H,如果最小的相似度差值I大于阀值H ;可以不做任何操作,结束。即判断该程序不是病毒或者木马,即该程序对计算机系统无害。
[0105]步骤205,当判断最小的相似度差值y不大于预置H时,输出该最小相似度差值y。
[0106]通过输出该最小相似度差值的y可以理解为用户提示该程序有危险。
[0107]优选的,步骤205中的输出,还可以进一步包括:输出该最小相似度差值y对应的神经元中对应的危险程序名称。
[0108]优选的,输出该最小相似度差值y之后,该方法还可以包括:
[0109]步骤206,根据该特征向量X和相似度差值y最小的神经元当前记忆的特征权值W,调整该最小相似度差值I对应的神经元的记忆的特征权值W。其中,调整特征权值w的操控可以参加上述公式(2)和(3)。此处不重述。
[0110]本发明实施例提供的一种计算机病毒的鉴定方法,通过利用ART神经网络的训练方法使得后续能够快速扫描病毒,而且,由于采用ART神经网络来记忆病毒特征,不同于现有技术中采用病毒特征库存储病毒特征数据,因此,存储病毒数据量可控。能识别已知的各种已知的计算机病毒变种和部分未知病毒,并且大大提高了鉴定病毒的准确性高,降低了误报率。
[0111]若下表1所示,本发明实施例提供的病毒鉴定方法,与现有技术中病毒鉴定方法的实际测试结果。

【权利要求】
1.一种用于病毒鉴定的训练方法,其特征在于,所述方法包括: 提取纯黑样本中的一个程序的特征; 根据所述程序的特征,获取所述程序的数学特征; 判断所述数学特征是否符合预置的病毒的数学特征的要求, 如果符合,获取所述程序的数学特征与所述预置的病毒的数学特征的共同特征; 如果所述数学特征不符合所述预置病毒的数学特征的要求,则记录所述程序的所述数学特征,作为新增病毒的数学特征。
2.根据权利要求1所述的方法,其特征在于,所述根据所述程序的特征,获取所述程序的数学特征;判断所述数学特征是否符合预置的病毒的数学特征的要求,如果符合,获取所述程序的数学特征与所述预置的病毒的数学特征的共同特征;如果所述数学特征不符合所述预置病毒的数学特征的要求,则记录所述程序的所述数学特征,作为新增病毒的数学特征,具体包括: 将所述提取的程序的特征转换为特征向量; 根据神经网络中的输出层的每一个神经元中记忆的特征权值w和所述特征向量,获取所述输出层的每一个神经元的相似度差值y ; 判断获取的所有相似度差值I中最小的I是否大于阀值H ; 如果最小的y大于阀值H,记录所述特征向量作为所述输出层的新增的神经元; 如果最小的y不大于阀值H,根据所述特征向量和相似度差值y最小的神经元当前记忆的特征权值《,调整所述相似度差值I最小的神经元的记忆的特征权值W。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括: 对所述纯黑样本中剩余的每一程序都执行如权利要I所述的方法。
4.根据权利要求2所述的方法,其特征在于,所述程序特征包括:程序入口点地址,程序的代码段大小,该程序的可执行映像的地址空间大小,导入表大小,导入函数个数,程序入口点起始处16个指令操作码,和代码段开始处16个指令操作码。
5.根据权利要求4所述的方法,其特征在于,所述程序入口点地址,所述程序的代码段大小,所述程序的可执行映像的地址空间大小,所述导入表大小,和所述导入函数个数五项特征具体是从可执行体的头结构中提取的。
6.根据权利要求2所述的方法,其特征在于,所述特征向量由浮点型数值表示。
7.一种计算机病毒鉴定方法,其特征在于,所述方法还包括: 提取输入的程序的特征; 根据所述程序的特征,获取所述程序的数学特征; 判断所述数学特征是否符合如权利要求1所述训练后的病毒的数学特征的要求; 如果符合,输出所述数学特征,或者输出所述数学特征对应的病毒名称。
8.根据权利要求7所述的方法,其特征在于,所述根据所述程序的特征,获取所述程序的数学特征;判断所述数学特征是否符合如权利要求述训练后的病毒的数学特征的要求;如果符合,输出所述数学特征,或者输出所述数学特征对应的病毒名称,具体包括: 将所述输入的程序的特征转换为输入特征向量; 根据如权利要求2训练后的神经网络中的输出层的每一个神经元记忆的W,和所述输入特征向量,获取所述输出层的每个神经元的相似度差值I ;判断获取的所有相似度差值I中最小的I是否大于阀值H ; 如果最小的I都不大于阀值H,输出该最小相似度差值y。
9.根据权利要求8所述的方法,其特征在于,如果最小的y都大于阀值H,则结束。
10.根据权利要求8所述的方法,其特征在于,所述输出该最小相似度差值y之后,所述方法还包括: 根据所述输入特征向量和相似度差值y最小的神经元当前记忆的特征权值w,调整相似度差值I最小的神经元的记忆的特征权值W。
11.根据权利要求8所述的方法,其特征在于,所述程序特征包括:程序入口点地址,程序的代码段大小,该程序的可执行映像的地址空间大小,导入表大小,导入函数个数,程序入口点起始处16个指令操作码,和代码段开始处16个指令操作码。
12.根据权利要求11所述的方法,其特征在于,所述程序入口点地址,所述程序的代码段大小,所述程序的可执行映像的地址空间大小,所述导入表大小,和所述导入函数个数五项特征具体是从可执行体的头结构中提取的。
13.根据权利要求8所述的方法,其特征在于,所述特征向量由浮点型数值表示。
14.根据权利要求7所述的方法,其特征在于,所述输出所述数学特征,或者输出所述数学特征对应的病毒名称之后,所述方法还包括: 获取所述程序的数学特 征与所述训练后的病毒的数学特征的共同特征。
15.一种用于病毒鉴定的训练装置,其特征在于,所述装置包括:第一特征单元,第一数学特征单元,第一判断特征单元,第一获取共性单元,和第一纪录特征单元; 所述第一特征单元,用于提取纯黑样本中的一个程序的特征; 所述第一数学特征单元,用于根据所述程序的特征,获取所述程序的数学特征; 所述第一判断特征单元,用于判断所述数学特征是否符合预置的病毒的数学特征的要求, 所述第一获取共性单元,用于如果符合,获取所述程序的数学特征与所述预置的病毒的数学特征的共同特征; 所述第一纪录特征单元,用于如果所述数学特征不符合所述预置病毒的数学特征的要求,则记录所述程序的所述数学特征,作为新增病毒的数学特征。
16.根据权利要求15所述的装置,其特征在于,所述第一数学特征单元具体包括:第一转换单元,第一获取单元; 所述第一判断特征单元具体包括:第一判断单元, 所述第一获取共性单元具体包括:第一调整单元, 所述第一纪录特征单元具体包括:第一纪录单元; 所述第一提取单元,用于提取纯黑样本中的一个程序的特征; 所述第一转换单元,用于将所述提取的程序的特征转换为特征向量; 所述第一获取单元,用于根据神经网络中的输出层的每一个神经元中记忆的特征权值w和所述特征向量,获取所述输出层的每一个神经元的相似度差值y ; 所述第一判断单元,用于判断获取的所有相似度差值I中最小的I是否大于阀值H ;所述第一纪录单元,用于如果最小的y大于阀值H,记录所述特征向量作为所述输出层的新增的神经元;所述第一调整单元,用于如果最小的I不大于阀值H,根据所述特征向量和相似度差值y最小的神经元当前记忆的特征权值《,调整所述相似度差值y最小的神经元的记忆的特征权值W。
17.根据权利要求16所述的装置,其特征在于,所述程序特征包括:程序入口点地址,程序的代码段大小,该程序的可执行映像的地址空间大小,导入表大小,导入函数个数,程序入口点起始处16个指令操作码,和代码段开始处16个指令操作码。
18.根据权利要求17所述的装置,其特征在于,所述第一提取单元,具有用于从可执行体的头结构中提取所述程序入口点地址,所述程序的代码段大小,所述程序的可执行映像的地址空间大小,所述导入表大小,和所述导入函数个数五项特征,还提取程序入口点起始处16个指令操作码,和代码段开始处16个指令操作码。
19.根据权利要求16所述的装置,其特征在于,所述特征向量由浮点型数值表示。
20.一种计算机病毒鉴定装置,其特征在于,所述装置包括:第二特征单元,第二数学特征单元,第二判断特征单元,和第一输出单元; 所述第二特征单元,用于提取输入的程序的特征; 所述第二数学特征单元,用于根据所述程序的特征,获取所述程序的数学特征; 所述第二判断特征单元,用于判断所述数学特征是否符合如权利要求1所述训练后的病毒的数学特征的要求; 所述第一输出单元,用于如果符合,输出所述数学特征,或者输出所述数学特征对应的病毒名称。
21.根据权利要求20所述的装置,其特征在于,所述第二数学特征单元具体包括:第二转换单元,第二获取单元, 所述第二判断特征单元具体包括:第二判断单元, 所述第一输出单元具体包括:输出单元; 所述第二转换单元,用于将所述输入的程序的特征转换为输入特征向量; 所述第二获取单元,用于根据训练后的神经网络中的输出层的每一个神经元记忆的W,和所述输入特征向量,获取所述输出层的每个神经元的相似度差值y ; 所述第二判断单元,用于判断获取的所有相似度差值I中最小的I是否大于阀值H ; 所述输出单元,用于如果最小的y都不大于阀值H,输出该最小相似度差值y。
22.根据权利要求21所述的装置,其特征在于,所述装置还包括: 第二调整单元,用于根据所述输入特征向量和相似度差值y最小的神经元当前记忆的特征权值《,调整相似度差值I最小的神经元的记忆的特征权值W。
23.根据权利要求21所述的装置,其特征在于,所述程序特征包括:程序入口点地址,程序的代码段大小,该程序的可执行映像的地址空间大小,导入表大小,导入函数个数,程序入口点起始处16个指令操作码,和代码段开始处16个指令操作码。
24.根据权利要求23所述的装置,其特征在于,所述第二提取单元,具有用于从可执行体的头结构中提取所述程序入口点地址,所述程序的代码段大小,所述程序的可执行映像的地址空间大小,所述导入表大小,和所述导入函数个数五项特征,还提取程序入口点起始处16个指令操作码,和代码段开始处16个指令操作码。
25.根据权利要求21所述的装置,其特征在于,所述特征向量由浮点型数值表示。
【文档编号】G06F21/56GK104077524SQ201310098003
【公开日】2014年10月1日 申请日期:2013年3月25日 优先权日:2013年3月25日
【发明者】余文锋 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1