基于opcode模糊分类的恶意代码检测方法及系统的制作方法
【专利说明】基于opcode模糊分类的恶意代码检测方法及系统
[0001]
技术领域
[0002]本发明涉及网络安全技术领域,特别涉及一种基于opcode模糊分类的恶意代码检测方法及系统。
【背景技术】
[0003]传统基于opcode进行恶意代码的检测方法基本都是进行精确检测,一般方式为提取恶意代码中具有共性的opcode序列作为特征,检测符合特征的恶意代码。而现今的反病毒是一个对抗的过程。众所周知,完成同样的功能opcode指令并不唯一,有些功能存在几个甚至十几个完成同样功能的指令。传统方法提取精确的opcode指令序列,一旦其中某个功能指令被其他指令所替代,则无法检出,因此很难对抗这种指令的变换。
【发明内容】
[0004]本发明提出了一种基于opcode模糊分类的恶意代码检测方法及系统,本发明通过对opcode指令进行模糊分类,使用模糊变换后的指令序列进行匹配,解决了现有技术中opcode指令变化而无法检出的问题。
[0005]本发明提出一种基于opcode模糊分类的恶意代码检测方法,包括:
建立恶意代码模糊特征库;
获取待检测代码;
提取精确opcode指令序列;
根据opcode模糊分类规则集,将精确opcode指令替换为模糊指令,组成模糊指令序列;所述opcode模糊分类规则集的规则为,根据opcode指令,将完成相同功能或具有特定功能的指令归为冋一类别;
将所述模糊指令序列与恶意代码模糊特征库中的特征匹配,若匹配成功,则待检测代码为恶意,并向用户告警;否则未发现威胁。
[0006]所述的方法中,所述恶意代码模糊特征库由已知恶意代码的模糊指令序列组成。
[0007]本发明还提出一种基于opcode模糊分类的恶意代码检测系统,包括:
特征库模块,用于建立恶意代码模糊特征库;
获取模块,用于获取待检测代码;
指令提取模块,用于提取精确opcode指令序列;
模糊转换模块,用于根据opcode模糊分类规则集,将精确opcode指令替换为模糊指令,组成模糊指令序列;所述opcode模糊分类规则集的规则为,根据opcode指令,将完成相同功能或具有特定功能的指令归为同一类别;
匹配模块,用于将所述模糊指令序列与恶意代码模糊特征库中的特征匹配,若匹配成功,则待检测代码为恶意,并向用户告警;否则未发现威胁。
[0008]所述的系统中,所述恶意代码模糊特征库由已知恶意代码的模糊指令序列组成。
[0009]通过本发明的方法,能够对精确的opcode指令进行模糊分类,将具有相同功能的opcode归为一类,或者将具有特定功能的指令归为一类,根据opcode模糊分类规则集,将转换后的模糊指令作为检测依据进行检测,能够有效检测通过对相同功能opcode指令的变化来逃避检测的恶意代码,同时由于将相同功能的指令归为一类,缩减了特征集规模的大小,提尚特征质量,提尚检测效率。
【附图说明】
[0010]为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0011]图1为本发明基于opcode模糊分类的恶意代码启发式检测方法实施例流程图; 图2为本发明基于opcode模糊分类的恶意代码启发式检测系统实施例结构示意图。
【具体实施方式】
[0012]为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
[0013]本发明提出了一种基于opcode模糊分类的恶意代码启发式检测方法及系统,本发明通过对opcode指令进行模糊分类,使用模糊变换后的指令序列进行匹配,解决了现有技术中opcode指令变化而无法检出的问题。
[0014]本发明提出一种基于opcode模糊分类的恶意代码检测方法,属于启发式检测,如图1所示,包括:
5101:建立恶意代码模糊特征库;
5102:获取待检测代码;
5103:提取精确opcode指令序列;本领域技术人员可知,能够通过反汇编等方式来提取到精确opcode指令序列;
5104:根据opcode模糊分类规则集,将精确opcode指令替换为模糊指令,组成模糊指令序列;所述opcode模糊分类规则集的规则为,根据opcode指令,将完成相同功能或具有特定功能的指令归为同一类别;例如,将具有相同功能的跳转指令归结为同一类跳转指令类,将多种加法指令归结为加法之另类;具有特殊功能的指令例如异常处理指令等;例如:指令助记符JZ和JNZ则可以归为一类,JAE和JA可以归为一类等等;
5105:将所述模糊指令序列与恶意代码模糊特征库中的特征匹配,若匹配成功,则待检测代码为恶意,并向用户告警;否则未发现威胁。
[0015]当然,上述匹配方法中,不仅限于指令序列的匹配,也可以为指令数量的匹配等。
[0016]所述的方法中,所述恶意代码模糊特征库由已知恶意代码的模糊指令序列组成。
[0017]本发明还提出一种基于opcode模糊分类的恶意代码检测系统,如图2所示,包括: 特征库模块201,用于建立恶意代码模糊特征库;
获取模块202,用于获取待检测代码;
指令提取模块203,用于提取精确opcode指令序列;
模糊转换模块204,用于根据opcode模糊分类规则集,将精确opcode指令替换为模糊指令,组成模糊指令序列;所述opcode模糊分类规则集的规则为,根据opcode指令,将完成相同功能或具有特定功能的指令归为同一类别;
匹配模块205,用于将所述模糊指令序列与恶意代码模糊特征库中的特征匹配,若匹配成功,则待检测代码为恶意,并向用户告警;否则未发现威胁。
[0018]所述的系统中,所述恶意代码模糊特征库由已知恶意代码的模糊指令序列组成。
[0019]通过本发明的方法,能够对精确的opcode指令进行模糊分类,将具有相同功能的opcode归为一类,或者将具有特定功能的指令归为一类,根据opcode模糊分类规则集,将转换后的模糊指令作为检测依据进行检测,能够有效检测通过对相同功能opcode指令的变化来逃避检测的恶意代码,同时由于将相同功能的指令归为一类,缩减了特征集规模的大小,提尚特征质量,提尚检测效率。
[0020]通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0021]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0022]虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
【主权项】
1.一种基于opcode模糊分类的恶意代码检测方法,其特征在于,包括: 建立恶意代码模糊特征库; 获取待检测代码; 提取精确opcode指令序列; 根据opcode模糊分类规则集,将精确opcode指令替换为模糊指令,组成模糊指令序列;所述opcode模糊分类规则集的规则为,根据opcode指令,将完成相同功能或具有特定功能的指令归为冋一类别; 将所述模糊指令序列与恶意代码模糊特征库中的特征匹配,若匹配成功,则待检测代码为恶意,并向用户告警;否则未发现威胁。2.如权利要求1所述的方法,其特征在于,所述恶意代码模糊特征库由已知恶意代码的模糊指令序列组成。3.一种基于opcode模糊分类的恶意代码检测系统,其特征在于,包括: 特征库模块,用于建立恶意代码模糊特征库; 获取模块,用于获取待检测代码; 指令提取模块,用于提取精确opcode指令序列; 模糊转换模块,用于根据opcode模糊分类规则集,将精确opcode指令替换为模糊指令,组成模糊指令序列;所述opcode模糊分类规则集的规则为,根据opcode指令,将完成相同功能或具有特定功能的指令归为同一类别; 匹配模块,用于将所述模糊指令序列与恶意代码模糊特征库中的特征匹配,若匹配成功,则待检测代码为恶意,并向用户告警;否则未发现威胁。4.如权利要求3所述的系统,其特征在于,所述恶意代码模糊特征库由已知恶意代码的模糊指令序列组成。
【专利摘要】本发明提出了一种基于opcode模糊分类的恶意代码检测方法及系统,通过对精确的opcode指令进行模糊分类,将具有相同功能的opcode归为一类,或者将具有特定功能的指令归为一类,根据opcode模糊分类规则集,将转换后的模糊指令作为检测依据进行检测,能够有效检测通过对相同功能opcode指令的变化来逃避检测的恶意代码,同时由于将相同功能的指令归为一类,缩减了特征集规模的大小,提高特征质量,提高检测效率。
【IPC分类】G06F21/56
【公开号】CN105488411
【申请号】CN201510298335
【发明人】童志明, 张栗伟, 沈长伟, 何公道
【申请人】哈尔滨安天科技股份有限公司
【公开日】2016年4月13日
【申请日】2015年6月3日