一种基于信息增益的恶意代码检测方法及系统的制作方法
【技术领域】
[0001] 本发明设及信息安全技术领域,尤其设及一种基于信息增益的恶意代码检测方法 及系统。
【背景技术】
[0002] 目前,虽然恶意代码的检测技术在不断发展,但是恶意代码的检测技术和能力仍 然滞后于恶意代码的发展,特别是对未知恶意代码的检测能力对恶意代码检测技术提出了 巨大的挑战。目前常用的检测技术包括:基于特征码的模式匹配技术和基于恶意代码行为 规则的检测技术,其中基于特征码的模式匹配技术是将被检测文件的特征代码与特征数据 库中的恶意代码特征字符串进行匹配,当匹配成功时代表被检测文件中含恶意代码,否则 认为不含恶意代码。该技术的缺点是需要人工第一时间发现获取恶意代码样本并提取特征 码加入恶意代码特征库;而基于恶意代码行为规则的检测技术,是依据专家预先定义的恶 意码常见行为规则来检测恶意代码。运种方法存在滞后性,特别是随着计算机运行速度的 大幅度提升,等到检测到恶意代码行为时,往往已经给系统带来了无法弥补的损失。上述两 种检测技术都是一种事后检测技术,只能检测到已知的恶意代码,或者在恶意代码被执行 后才能被检测到,然而在此期间恶意代码已经造成了破坏。还有一些恶意代码检测方法对 计算机开销较高,往往拖慢系统的正常运行。
【发明内容】
[0003] 本发明所述的技术方案通过收集恶意或者非恶意的样本组成训练样本集,每次随 机抽取一定数量的样本,进而随机提取特征后用于训练分裂。对于每个分裂节点的分裂标 准的选择需要遵循信息增益最大化的标准,运样反复实施最终形成多个决策树;利用运些 决策树来判断待检测数据是否恶意。本发明所述技术方案通过快速训练样本的方式,提高 对于未知恶意代码的检出率,使得检测结果更加准确。
[0004] 本发明采用如下方法来实现:一种基于信息增益的恶意代码检测方法,包括: 步骤1、收集恶意样本和非恶意样本组成训练样本集; 步骤2、选取各种分裂标准组成属性集; 步骤3、利用有放回的随机抽取的形式从训练样本集中抽取预设数量的样本组成测试 样本集; 步骤4、针对所述测试样本集随机提取特征组成特征样本集; 步骤5、基于信息增益最大化的标准从属性集中选取各分裂节点的分裂标准,对特征 样本集进行一层层的分裂直至不能再分裂为止,各分裂节点的分裂标准最终组合形成决策 树; 步骤6、重复步骤3至步骤5得到所需数量的决策树; 步骤7、基于各个决策树对待检测数据进行判定,对所有的判定结果进行综合,给出最 终的检测结果。
[0005] 进一步地,所述基于信息增益最大化的标准从属性集中选取各分裂节点的分裂标 准,包括: 计算属性集中各种分裂标准在该分裂节点的信息增益Gain :
其中,D为进入当前分裂节点的样本总数量,K为经过选取的分裂标准后得到的分裂种 类,公 1为各个分裂种类的样本数量,m=2,S代表.孩i个样本中属于恶意样本的概率,戈 表:q个样本中属于非恶意样本的概率; 选取属性集中使得信息增益Gain取得最大值的分裂标准作为该分裂节点的分裂标 准。
[0006] 进一步地,所述基于信息增益最大化的标准从属性集中选取各分裂节点的分裂标 准后,还包括,将该分裂标准从属性集中删除。
[0007] 本发明可W采用如下系统来实现:一种基于信息增益的恶意代码检测系统,包 括: 训练样本集生成模块,用于收集恶意样本和非恶意样本组成训练样本集; 属性集生成模块,用于选取各种分裂标准组成属性集; 测试样本集生成模块,用于利用有放回的随机抽取的形式从训练样本集中抽取预设数 量的样本组成测试样本集; 特征样本集生成模块,用于针对所述测试样本集随机提取特征组成特征样本集; 决策树生成模块,用于基于信息增益最大化的标准从属性集中选取各分裂节点的分裂 标准,对特征样本集进行一层层的分裂直至不能再分裂为止,各分裂节点的分裂标准最终 组合形成决策树; 检测规则生成模块,用于重复调用测试样本集生成模块,特征样本集生成模块和决策 树生成模块得到所需数量的决策树; 判定模块,用于基于各个决策树对待检测数据进行判定,对所有的判定结果进行综合, 给出最终的检测结果。
[0008] 进一步地,所述基于信息增益最大化的标准从属性集中选取各分裂节点的分裂标 准,包括: 计算属性集中各种分裂标准在该分裂节点的信息增益Gain ;
其中,D为进入当前分裂节点的样本总数量,K为经过选取的分裂标准后得到的分裂种 类,:卫|为各个分裂种类的样本数量,m=2,i^代表个样本中属于恶意样本的概率,巧代 表顯个样本中属于非恶意样本的概率. 选取属性集中使得信息增益Gain取得最大值的分裂标准作为该分裂节点的分裂标 准。
[0009] 进一步地,所述基于信息增益最大化的标准从属性集中选取各分裂节点的分裂标 准后,还包括,将该分裂标准从属性集中删除。
[0010] 综上,本发明给出一种基于信息增益的恶意代码检测方法及系统,其技术思想为, 通过收集恶意样本和非恶意样本,并进行是否恶意的标记,从中随机抽取预设数量的样本 组成测试样本集,随机提取测试样本集的特征组成特征样本集;对所述特征样本集进行层 层的分裂直至不能再分裂为止,其中各分裂节点的分裂标准依据信息增益最大化进行选 择,反复执行上述操作后形成多个决策树,最终利用运些决策树对待检测数据继续检测,给 出最终的检测结果。
[0011] 有益效果为:由于本发明所述技术方案对于测试样本集的样本选取是随机的,对 于特征的提取也是随机的,因此本发明所述技术方案的学习效率高,并且能够有效减少特 征数据的过度拟合问题,提高了检出率和准确性。
【附图说明】
[0012] 为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简 单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域 普通技术人员来讲,在不付出创造性劳动的前提下,还可W根据运些附图获得其他的附图。
[0013] 图1为本发明提供的一种基于信息增益的恶意代码检测方法实施例流程图; 图2为本发明提供的一种基于信息增益的恶意代码检测系统实施例结构图。
【具体实施方式】
[0014] 本发明给出了一种基于信息增益的恶意代码检测方法及系统实施例,为了使本技 术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优 点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明: 本发明首先提供了一种基于信息增益的恶意代码检测方法实施例,如图1所示,包括: 5101、 收集恶意样本和非恶意样本组成训练样本集;其中,对各个样本进行是否恶意的 标记,可W为N或者Y,N代表非恶意样本,Y代表恶意样本; 5102、 选取各种分裂标准组成属性集;其中,分裂标准包括但不限于,进行恶意代码判 定时可能使用的判定标准; 5103、 利用有放回的随机抽取的形式从训练样本集中抽取预设数量的样本组成测试样 本集;其中,所述预设数量可W根据需要设定; 5104、 针对所述测试样本集随机提取特征组成特征样本集; 其中,通过两次"随机"提取的方法,可W有效解决检测方法在训练样本集中表现较好, 而对于真正的检测过程中表现较弱的问题,提高了自身的学习能力,提高对于未知恶意代 码的检出能力; 5105、 基于信息增益最大化的标准从属性集中选取各分裂节点的分裂标准,对特征样 本集进行一层层的分裂直至不能再分裂为止,各分裂节点的分裂标准最终组合形成决策 树; 其中,基于信息增益最大化的标准为各个分裂节点选取分裂标准,最终建立起来的决 策树或者分裂结构,能够处理连续或者离散的数值并且容易计算并且效率较高,可W有效 减少噪声,并有效解决检测精度低的问题; 5106、 判断决策树的数量是否达到所需数量,若是,则执行S107,否则执行S103 ; 510
7、 基于各个决策树对待检测数据进行判定,对所有的判定结果进行综合,给出最终 的检测结果。
[0015] 其中,单个决策树对待检测数据进行检测时表现相对较弱,可能产生过拟合问题, 对于未知恶意代码的判定准确性不高,通过多个决策树的组合判断,可W有效提高检测的 准确性。所述对所有的判定结果进行综合,给出最终的检测结果可W但不限于,选取其中占 比较高的判定结果作为最终的检测结果。
[0016] 优选地,所述基于信息增益最大化的标准从属性集中选取各分裂节点的分裂标 准,包括: 计算属性集中各种分裂标准在该分裂节点的信息增益Gain :
其中,D为进入当前分裂节点的样本总数量,K为经过选取的分裂标准后得到的分裂种 类,巧为各个分裂种类的样本数量,m=2,巧代表巧个样本中属于恶意样本的概率,马代 表口1个样本中属于非恶意样本的概率. 选取属性集中使得信息增益Gain取得最大值的分裂标准作为该分裂节点的分裂标 准。
[0017] 优选地,所述基于信息增益最大化的标准从属性集中选取各分裂节点的分裂标准 后,还包括,将该分裂标准从属性集中删除。
[0018] 本发明还提供了一种基于信息增益的恶意代码检测系统实施例,如图2所示,包 括: 训练样本集生成模块201,用于收集恶意样本和非恶意样本组成训练样本集; 属性集生成模块202,用于选取各种分裂标准组成属性集; 测试样本集生成模块203,用于利用有放回的随机抽取的形式从训练样本集中抽取预 设数量的样本组成测试样本集; 特征样本集生成模块204,用于针对所述测试样本集随机提取特征组成特征样本集; 决策树生成模块205,用于基于信息增益最大化的标准从属性集中选取各分裂节点的 分裂标准,对特征样本集进行一层层的分裂直至不能再分裂为止,各分裂节点的分裂标准 最终组合形成决策树; 检测规则生成模块206,用于重复调用测试样本集生成模块,特征样本集生成模块和决 策树生成模块得到所需数量的决策树; 判定模块207,用于基于各个决策树对待检测数据进行判定,对所有的判定结果进行综 合,给出最终的检测结果。
[0019] 优选地,所述基于信息增益最大化的标准从属性集中选取各分裂节点的分裂标 准,包括: 计算属性集中各种分裂标准在该分裂节点的信息增益Gain ;
其中,D为进入当前分裂节点的样本总数量,K为经过选取的分裂标准后得到的分裂种 类,为各个分裂种类的样本数量,m=2,f代表.辉个样本中属于恶意样本的概率,巧代 表q个样本中属于非恶意样本的概率; 选取属性集中使得信息增益Gain取得最大值的分裂标准作为该分裂节点的分裂标 准。
[0020] 优选地,所述基于信息增益最大化的标准从属性集中选取各分裂节点的分裂标准 后,还包括,将该分裂标准从属性集中删除。
[0021] 如上所述,本发明通过对特征样本集中的样本进行层层分裂,最终到不能分裂为 止,最终的分裂终点为各个样本是否恶意的标签,各个分裂节点的分裂标准的选择遵循信 息增益最大化的标准进行选择,最终利用形成的多个决策树对待检测数据进行判定,对多 个判定结果进行综合给出最终的检测结果。
[0022] 综上,通过不断使信息增益最大化来选取各分裂节点的分裂标准,从而达到最好 的分裂效果,进而提高对待检测数据的判定准确性;通过随机选取样本组成测试样本集,并 通过随机提取特征的形式组成特征样本集,使得本发明对于未知代码的检出率大大提高, 并且有效解决过拟合问题,提高各个决策树对于待检测数据的检测表现。
[0023] W上实施例用W说明而非限制本发明的技术方案。不脱离本发明精神和范围的任 何修改或局部替换,均应涵盖在本发明的权利要求范围当中。
【主权项】
1. 一种基于信息增益的恶意代码检测方法,其特征在于,包括: 步骤1、收集恶意样本和非恶意样本组成训练样本集; 步骤2、选取各种分裂标准组成属性集; 步骤3、利用有放回的随机抽取的形式从训练样本集中抽取预设数量的样本组成测试 样本集; 步骤4、针对所述测试样本集随机提取特征组成特征样本集; 步骤5、基于信息增益最大化的标准从属性集中选取各分裂节点的分裂标准,对特征 样本集进行一层层的分裂直至不能再分裂为止,各分裂节点的分裂标准最终组合形成决策 树; 步骤6、重复步骤3至步骤5得到所需数量的决策树; 步骤7、基于各个决策树对待检测数据进行判定,对所有的判定结果进行综合,给出最 终的检测结果。2. 如权利要求1所述的方法,其特征在于,所述基于信息增益最大化的标准从属性集 中选取各分裂节点的分裂标准,包括: 计算属性集中各种分裂标准在该分裂节点的信息增益Gain :其中,D为进入当前分裂节点的样本总数量,K为经过选取的分裂标准后得到的分裂种 类,^为各个分裂种类的样本数量,m=2,_代表个样本中属于恶意样本的概率,考:代 表肩:个样本中属于非恶意样本的概率; 选取属性集中使得信息增益Gain取得最大值的分裂标准作为该分裂节点的分裂标 准。3. 如权利要求1所述的方法,其特征在于,所述基于信息增益最大化的标准从属性集 中选取各分裂节点的分裂标准后,还包括,将该分裂标准从属性集中删除。4. 一种基于信息增益的恶意代码检测系统,其特征在于,包括: 训练样本集生成模块,用于收集恶意样本和非恶意样本组成训练样本集; 属性集生成模块,用于选取各种分裂标准组成属性集; 测试样本集生成模块,用于利用有放回的随机抽取的形式从训练样本集中抽取预设数 量的样本组成测试样本集; 特征样本集生成模块,用于针对所述测试样本集随机提取特征组成特征样本集; 决策树生成模块,用于基于信息增益最大化的标准从属性集中选取各分裂节点的分裂 标准,对特征样本集进行一层层的分裂直至不能再分裂为止,各分裂节点的分裂标准最终 组合形成决策树; 检测规则生成模块,用于重复调用测试样本集生成模块,特征样本集生成模块和决策 树生成模块得到所需数量的决策树; 判定模块,用于基于各个决策树对待检测数据进行判定,对所有的判定结果进行综合, 给出最终的检测结果。5. 如权利要求4所述的系统,其特征在于,所述基于信息增益最大化的标准从属性集 中选取各分裂节点的分裂标准,包括: 计算属性集中各种分裂标准在该分裂节点的信息增益Gain ;其中,D为进入当前分裂节点的样本总数量,K为经过选取的分裂标准后得到的分裂种 类,马为各个分裂种类的样本数量,m=2,f代表J|:个样本中属于恶意样本的概率,巧代 表D1个样本中属于非恶意样本的概率; 选取属性集中使得信息增益Gain取得最大值的分裂标准作为该分裂节点的分裂标 准。6. 如权利要求4所述的系统,其特征在于,所述基于信息增益最大化的标准从属性集 中选取各分裂节点的分裂标准后,还包括,将该分裂标准从属性集中删除。
【专利摘要】本发明公开了一种基于信息增益的恶意代码检测方法,包括:收集样本组成训练样本集;选取分裂标准组成属性集;利用有放回的随机抽取的形式从训练样本集中抽取样本组成测试样本集;针对所述测试样本集随机提取特征组成特征样本集;基于信息增益最大化的标准从属性集中选取各分裂节点的分裂标准,对特征样本集进行一层层的分裂直至不能再分裂为止,各分裂节点的分裂标准最终组合形成决策树;重复上述过程得到所需数量的决策树;各决策树对于待检测数据给出判定结果,综合所有的判定结果给出最终的检测结果。本发明还公开了一种基于信息增益的恶意代码检测系统。本发明所述的技术方案能够有效识别未知恶意代码,并提高检测效率。
【IPC分类】G06F21/56
【公开号】CN105488413
【申请号】CN201510344523
【发明人】常安琪, 李柏松
【申请人】哈尔滨安天科技股份有限公司
【公开日】2016年4月13日
【申请日】2015年6月19日