发明内容
本发明提供了一种恶意代码检测方法及***,解决了基于二进制特征码对未知病毒没有检测能力及启发式检测速度慢的问题,并提高了跨平台检测能力。
一种恶意代码检测方法,包括:
a.加载至少一个病毒特征库,所述的病毒特征库中包含检测点、与检测点对应的标识、特征及检测结果;
b.分析检测目标文件中是否包含有所述病毒特征库中的检测点,若对应检测点出现,则记录与检测点对应的所有标识;
c.根据病毒特征库的匹配方式,判断是否需要对标识进行转化处理,若需要,则将标识进行转化,否则直接执行步骤d;
d.判断是否需要进行缩短处理,若所有标识或转化后的标识的长度超出预设值,则对所有标识或转化后的标识进行一次或多次散列计算,否则直接执行步骤e;
e.将所有标识、转化后的标识或缩短处理后的标识作为特征与加载的指定病毒特征库中的特征进行匹配检测,获取检测结果;
f.判断是否需要二次检测,若病毒特征库中的特征预设需要进行二次检测,则使用下一病毒特征库从步骤a开始重新检测,否则报告检测结果。
所述的方法中,在执行步骤a之前还包括,建立病毒特征库:
确定检测点,根据检测点检测样本集中的文件;
将文件中检测出的检测点组合,确定为病毒特征库中的特征;
所述的方法中,所述的检测点至少包括:指定或不指定偏移的二进制串、文件属性信息、文件结构信息、文件所属环境信息和已知检测方法的检测结果。
所述的方法中,所述的步骤c中将标识进行转化包括以下方法中的一种或几种的组合:
将标识的全部字节或部分字节连接为特征串;
将每一个标识转化为一个二进制位,检测点出现的标识位为1,检测点未出现的标识位为0。
若使用数据库进行匹配,则可将标识连接为特征串;若使用传统特征库进行匹配,则可将每个标识转化为一个二进制位;或将两种方法结合使用。
所述的方法中,步骤e中将所有标识、转化后的标识或缩短处理后的标识作为特征与加载的指定病毒特征库中的特征进行匹配检测的方法包括:
使用本地病毒特征库匹配或将所有标识、转化后的标识或缩短处理后的标识发送到服务器端的病毒特征库进行匹配,若匹配成功则确定为病毒文件,否则为非病毒文件。
所述的方法中,可以通过增加新的病毒特征库来增加检测点和特征数量。
一种恶意代码检测***,包括:
病毒特征库加载单元,用于加载至少一个病毒特征库,所述的病毒特征库中包含检测点、与检测点对应的标识、特征及检测结果;
文件分析单元,用于分析检测目标文件中是否包含有病毒特征库加载单元所加载的病毒特征库中的检测点,若对应检测点出现,则记录与检测点对应的所有标识;
转化处理单元,用于根据病毒特征库的匹配方式,判断是否需要对文件分析单元检测出的标识进行转化处理,若需要,则将所有标识进行转化,否则进入缩短处理单元;
缩短处理单元,用于判断是否需要进行缩短处理,若文件分析单元所检测出的所有标识或转化处理单元转化后的标识的长度超出预设值,则对所有标识或转化后的标识进行一次或多次散列计算,否则进入特征匹配单元;
特征匹配单元,用于将文件分析单元检测出的所有标识、转化处理单元转化后的标识或缩短处理单元缩短处理后的标识与病毒特征库加载单元加载的指定病毒特征库中的特征进行匹配检测,获取检测结果;
二次检测判断单元,判断特征匹配单元的检测结果是否需要二次检测,若病毒特征库中的特征预设需要进行二次检测,则使用下一病毒特征库检测重新检测,否则报告检测结果。
所述的***中,在病毒特征库加载单元加载病毒特征库之前还包括,建立病毒特征库单元,包括:
确定检测点,根据检测点检测样本集中的文件;
将文件中检测出的检测点组合,确定为病毒特征库中的特征;
所述的***中,所述病毒特征库加载单元加载的病毒特征库中的检测点至少包括:指定或不指定偏移的二进制串、文件属性信息、文件结构信息、文件所属环境信息和已知检测方法的检测结果。
所述的***中,所述转化处理单元将文件分析单元检测出的所有标识进行转化,包括以下方法中的一种或几种的组合:
将标识的全部字节或部分字节连接为特征串;
将每一个标识转化为一个二进制位,检测点出现的标识位为1,检测点未出现的标识位为0。
所述的***中,缩短处理单元将文件分析单元检测出的所有标识、转化处理单元转化后的标识或缩短处理单元缩短处理后的标识与病毒特征库加载单元加载的指定病毒特征库中的特征进行匹配检测的方法包括:
使用本地病毒特征库进行匹配或将所有标识、转化后的标识或缩短处理后的标识发送到服务器端的病毒特征库进行匹配,若匹配成功则确定为病毒文件,否则为非病毒文件。
所述的***中,可以通过增加新的病毒特征库来增加检测点和特征数量。
本发涉及计算机反病毒领域,提供了一种恶意代码检测方法和***。本发明结合了二进制特征码和启发式检测,将未知病毒检测的方法作为特征点,加载病毒特征库和检测点以及检测标识;分析检测目标,若检测点出现,则记录对应检测点标识;判断是否需要对标识进行转化处理和缩短处理;将处理后的结果作为特征与加载的病毒特征库中的特征匹配;判断是否需要进行二次检测,若需要则使用下一病毒特征库进行检测,否则报告结果。通过本发明,将未知检测的方法作为特征点,用传统的特征匹配来提高未知检测速度,解决了未知检测速度慢的问题,同时由于特征获取与检测方法分离,提高了跨平台检测能力。本发明还可以通过增加特征数量和新的检测点增强检测能力,增加新的检测点可以通过增加新的病毒特征库来实现,不改变原有的检测模型,增强了检测模型的可维护性。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
本发明提供了一种恶意代码检测方法及***,解决了基于二进制特征码对未知病毒没有检测能力及启发式检测速度慢的问题,并提高了跨平台检测能力。
一种恶意代码检测方法,如图1所示,包括:
S101:加载至少一个病毒特征库,所述的病毒特征库中包含检测点、与检测点对应的标识、特征及检测结果;
S102:分析检测目标文件中是否包含有所述病毒特征库中的检测点,若对应检测点出现,则记录与检测点对应的所有标识;
S103:根据病毒特征库的匹配方式,判断是否需要对标识进行转化处理,若需要,则执行S104,否则直接执行S105;
S104:将所有标识进行转化;
S105:判断是否需要进行缩短处理,若所有标识或转化后的标识的长度超出预设值,则执行S106,否则直接执行S107;
S106:对所有标识或转化后的标识进行一次或多次散列计算;
S107:将所有标识、转化后的标识或缩短处理后的标识作为特征与加载的指定病毒特征库中的特征进行匹配检测,获取检测结果;
S108:判断是否需要二次检测,若病毒特征库中的特征预设需要进行二次检测,则使用下一病毒特征库从S102开始重新检测,否则报告检测结果。
所述的方法中,在执行S101之前还包括,建立病毒特征库:
确定检测点,根据检测点检测样本集中的文件;
将文件中检测出的检测点组合,确定为病毒特征库中的特征;
所述的方法中,所述的检测点至少包括:指定或不指定偏移的二进制串、文件属性信息、文件结构信息、文件所属环境信息和已知检测方法的检测结果。
在指定二进制串偏移的情况下,偏移后文件中包括指定的二进制串即为检测点出现;在不指定二进制串偏移的情况下,文件中包含指定的二进制串即为检测点出现。
文件的属性信息可以包含:文件属性为隐藏;是否为新创建文件,如当前时间减去文件的创建时间为72小时内,则认定文件为新创建文件;文件名中字母与数字混淆,如0、1和O、I;文件为全数字文件名,如123.exe;文件含有双扩展名,如aaa.rmvb.exe;自动运行文件,且内容指向exe文件;文件名、导出名、版本信息原始名不匹配等。
文件结构信息可以包含:DOS头和PE头重叠,如DOS头内的e_lfanew值小于sizeof(IMAGE_DOS_HEADER);入口点小于SizeOfHaders;入口点为0,且入口点后的数据为0x4552;节数量大于20,FileHeader中NumberOfSections字段大于20;SizeOfImage不对齐;导入表的相对偏移值;附加数据中含有PE;含有TLS表等。
文件所属环境信息可以包含:文件的来源;是否被其他文件包含;是否被某进程操作等。
利用选定的检测点对样本集进行检测,例如对15万份文件样本集进行检测,得到538种检测点组合,选取能够说明是恶意文件的检测点组合作为病毒特征库中的特征。
所述的方法中,所述的S104中将标识进行转化包括以下方法中的一种或几种的组合:
将标识的全部字节或部分字节连接为特征串;
将每一个标识转化为一个二进制位,检测点出现的标识位为1,检测点未出现的标识位为0。
若使用数据库进行匹配,则可将标识连接为特征串;若使用传统特征库进行匹配,则可将每个标识转化为一个二进制位;或将两种方法结合使用。
所述的方法中,S107中将所有标识、转化后的标识或缩短处理后的标识作为特征与加载的指定病毒特征库中的特征进行匹配检测的方法包括:
使用本地病毒特征库匹配或将所有标识、转化后的标识或缩短处理后的标识发送到服务器端的病毒特征库进行匹配,若匹配成功则确定为病毒文件,否则为非病毒文件。
所述的方法中,可以通过增加新的病毒特征库来增加检测点和特征数量。
一种恶意代码检测***,包括:
病毒特征库加载单元201,用于加载至少一个病毒特征库,所述的病毒特征库中包含检测点、与检测点对应的标识、特征及检测结果;
文件分析单元202,用于分析检测目标文件中是否包含有病毒特征库加载单元201所加载的病毒特征库中的检测点,若对应检测点出现,则记录与检测点对应的所有标识;
转化处理单元203,用于根据病毒特征库的匹配方式,判断是否需要对文件分析单元202检测出的标识进行转化处理,若需要,则将所有标识进行转化,否则进入缩短处理单元204;
缩短处理单元204,用于判断是否需要进行缩短处理,若文件分析单元202所检测出的所有标识或转化处理单元203转化后的标识的长度超出预设值,则对所有标识或转化后的标识进行一次或多次散列计算,否则进入特征匹配单元205;
特征匹配单元205,用于将文件分析单元202检测出的所有标识、转化处理单元203转化后的标识或缩短处理单元204缩短处理后的标识与病毒特征库加载单元201加载的指定病毒特征库中的特征进行匹配检测,获取检测结果;
二次检测判断单元206,判断特征匹配单元的检测结果是否需要二次检测,若病毒特征库中的特征预设需要进行二次检测,则使用下一病毒特征库检测重新检测,否则报告检测结果。
所述的***中,在病毒特征库加载单元201加载病毒特征库之前还包括,建立病毒特征库单元207,包括:
确定检测点,根据检测点检测样本集中的文件;
将文件中检测出的检测点组合,确定为病毒特征库中的特征;
所述的***中,所述病毒特征库加载单元201加载的病毒特征库中的检测点至少包括:指定或不指定偏移的二进制串、文件属性信息、文件结构信息、文件所属环境信息和已知检测方法的检测结果。
所述的***中,所述转化处理单元203将文件分析单元202检测出的所有标识进行转化,包括以下方法中的一种或几种的组合:
将标识的全部字节或部分字节连接为特征串;
将每一个标识转化为一个二进制位,检测点出现的标识位为1,检测点未出现的标识位为0。
所述的***中,缩短处理单元204将文件分析单元202检测出的所有标识、转化处理单元203转化后的标识或缩短处理单元204缩短处理后的标识与病毒特征库加载单元201加载的指定病毒特征库中的特征进行匹配检测的方法包括:
使用本地病毒特征库进行匹配或将所有标识、转化后的标识或缩短处理后的标识发送到服务器端的病毒特征库进行匹配,若匹配成功则确定为病毒文件,否则为非病毒文件。
所述的***中,可以通过增加新的病毒特征库来增加检测点和特征数量。
本发涉及计算机反病毒领域,提供了一种恶意代码检测方法和***。本发明结合了二进制特征码和启发式检测,将未知病毒检测的方法作为特征点,加载病毒特征库和检测点以及检测标识;分析检测目标,若检测点出现,则记录对应检测点标识;判断是否需要对标识进行转化处理和缩短处理;将处理后的结果作为特征与加载的病毒特征库中的特征匹配;判断是否需要进行二次检测,若需要则使用下一病毒特征库进行检测,否则报告结果。通过本发明,将未知检测的方法作为特征点,用传统的特征匹配来提高未知检测速度,解决了未知检测速度慢的问题,同时由于特征获取与检测方法分离,提高了跨平台检测能力。本发明还可以通过增加特征数量和新的检测点增强检测能力,增加新的检测点可以通过增加新的病毒特征库来实现,不改变原有的检测模型,增强了检测模型的可维护性。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。