基于集成分类的病毒检测方法.pdf

上传人:e2 文档编号:971790 上传时间:2018-03-22 格式:PDF 页数:15 大小:680.05KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110283055.4

申请日:

2011.09.22

公开号:

CN102346829A

公开日:

2012.02.08

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 21/00申请日:20110922|||公开

IPC分类号:

G06F21/00

主分类号:

G06F21/00

申请人:

重庆大学

发明人:

唐朝伟; 张雪臻; 杨磊; 严鸣; 时豪; 李超群

地址:

400045 重庆市沙坪坝区沙正街174号

优先权:

专利代理机构:

重庆市前沿专利事务所 50211

代理人:

郭云

PDF下载: PDF下载
内容摘要

本发明公开了一种基于集成分类的病毒检测方法,属于网络安全技术领域。该病毒检测方法由特征提取和集成分类两大模块,其中特征提取采用静态特征提取方法提取病毒的指令序列特征,构成特征集,并选择该特征集中信息增益最大的n个指令序列特征作为优化特征集。集成分类将人工神经网络引入到集成分类算法的构建中,结合AdaBoost算法提出一种新的模式分类器(GRAB)实现对病毒的检测,以达到有效地提高检测准确率,尤其是精确检测未知病毒的目的。通过本发明,可以更加有效地区分病毒和正常程序,并且可以精确地检测出未知病毒。

权利要求书

1: 一种基于集成分类的病毒检测方法, 其特征在于 : 由以下步骤组成 : S1、 采用静态特征提取方法提取各已知病毒和正常程序的指令序列特征, 构成特征集, 按照所述特征集中各指令序列特征的信息增益大小对所述特征集排序, 选择所述特征集中 信息增益最大的 n 个指令序列特征作为优化特征集 ; S2、 以所述优化特征集为训练集, 从所述训练集中随机选择 m 组训练数据作为训练数 据序列 , 其中各训练数据的期望分类结果表示为 , 下标 i 表示训练数据在所述训练数 , 其 据序列中的位置, 将所述训练数据序列 中 中各组训练数据的权重均初始化为 表示第 1 轮训练后第 i 组训练数据的权重, i=1,……, m, m 为大于 1 的整数, 并且根 据输入输出维数确定 GRNN 弱分类器的结构, 初始化 SPREAD 参数, 其中所述输入维数由所述 优化特征集的维数确定 ; S3、 弱分类器预测获得预测序列 : 采用所述训练数据序列训练 t 个 GRNN 弱分类器并预 测所述训练数据序列的输出, 获得预测序列 , 设定所述预测序列的表示函数为 , 其 中下标 t 表示训练的轮数, i 表示训练数据在所述训练数据序列中的位置, 练数据序列经第 t 轮训练后第 i 组训练数据的预测分类结果 ; 求取预测误差和 类结果 表示所述训 : 如果所述训练数据序列经 t 轮训练后第 i 组训练数据的预测分 不相等, 即如果 则表示两者存在误差, 将所有存在 的预测误差和 , 即 , 其中 与期望分类结果 误差的训练数据的权重相加即获得所述预测序列 表示所述训练数据序列经第 t 轮训练后第 i 组训练数据的权重, 且 1 ≤ t ≤ T, T 为大 于 1 的整数 ; S4、 计算预测序列的权重 的权重 : : 根据所述预测序列 的预测误差和 计算所述预测序列 , 其中 1 ≤ t ≤ T, T 为大于 1 的整数 ; ; S5、 获得第 t 轮训练后第 t 组弱分类器函数 S6、 判断 t ≥ T 是否成立, 如果成立则执行步骤 S8, 如果不成立则执行步骤 S7 ; S7、 根据所述预测序列 , 调整公式为 : , 其中 表示所述训练数据序列经第 t+1 轮训练后 是归一化因子, 为 的权重 调整第 t+1 轮训练数据序列中各组训练数据的权重 第 i 组训练数据的权重, exp[] 表示以自然对数 e 为底的指数函数, 且 常数 ; 其后重复执行所述步骤 S3 ~ S6 ; S8、 根据各轮训练获得的 T 组弱分类器函数, 由所述 T 组弱分类器组合获得强分类器 F : 2 102346829 A CN 102346849 权 ; 利 要 求 书 2/2 页 S9、 对待检样本按照步骤 S1 进行特征提取, 根据强分类器 F 对所述待检样本进行识别, 输出检测结果。
2: 根据权利要求 1 所述的基于集成分类的病毒检测方法, 其特征在于 : 所述步骤 S1 中 采用一种改进的 N-Gram 方法作为静态特征提取方法, 提取已知病毒的指令序列特征, 该改 进的 N-Gram 方法由以下步骤组成 : S10、 将已知病毒和正常程序文件反汇编, 获得反汇编指令代码形式的样本文件, 去除 所有操作数和无关信息 ; S11、 结合 N-Gram 方法提取各已知病毒和正常程序的指令序列特征, 且向指令序列特 征的各特征段均赋予唯一的特征 id ; S12、 根据特征 id 和特征段出现的频率信息, 生成与所述样本文件对应的特征向量, 以 表征所述样本文件的特征信息, 并且由所述样本文件的特征向量构成特征集。
3: 根据权利要求 2 所述的基于集成分类的病毒检测方法, 其特征在于 : 在所述步骤 S11 中 N-Gram 方法采用固定长度为 N 的 N-Gram 窗口对去除操作数和无关信息的样本文件滑动 分割, 所述 N-Gram 窗口每次滑动一个单位长度, 由此获得所述指令序列特征的特征段, 其 中各特征段的长度为 N。

说明书


基于集成分类的病毒检测方法

    【技术领域】
     本发明涉及一种病毒检测方法, 尤其是一种基于集成分类的病毒检测方法。背景技术 随着计算机网络尤其是互联网技术的飞速发展, 网络成为人类社会最重要的组成 部分, 是 20 世纪最杰出的研究成果。而在网络互连程度日益扩大的同时, 网络安全问题变 得极其重要。所有网络安全事件中, 计算机病毒的入侵占有最大比例。病毒数量不断增多, 传播日趋广泛, 给全球带来了巨大的经济损失。
     传统的防病毒技术只能在病毒造成损害之后, 通过分析病毒样本、 提取特征码、 更 新病毒特征库来检测病毒。然而, 当未知病毒或已知病毒的一个新的变体出现且造成损害 之后, 该病毒又将被重新分析, 以更新特征库中的特征信息。 该检测方法具有不可避免的滞 后性, 病毒的检测技术总是落后于新型病毒的出现。急需能够识别未知病毒的智能检测方 法, 达到将病毒危害降低到最小的目的。
     现有的防病毒技术大多以特征码比对的方法检测计算机病毒, 这种检测方法先提 取已知病毒样本的特征, 并将其特征数据添加到病毒特征库, 在病毒检测时通过在病毒特 征库中搜索, 查找是否存在与之相匹配的病毒特征来发现病毒, 其缺点是只能用于检测已 知病毒, 而对新型及未知的病毒无能为力。近年来许多研究显示运用机器学习可有效地检 测未知的恶意代码, 其缺点是错误率过高。
     发明内容
     本发明的目的是提供一种基于集成分类的病毒检测方法, 其可以更加有效地区分 病毒和正常程序, 并且可以精确地检测出未知病毒。
     本发明采用的技术方案是这样的 : 本发明提供一种基于集成分类的病毒检测方 法, 其包括以下步骤 : S1、 采用静态特征提取方法提取各已知病毒和正常程序的指令序列特征, 构成特征集, 按照所述特征集中各指令序列特征的信息增益大小对所述特征集排序, 选择所述特征集中 信息增益最大的 n 个指令序列特征作为优化特征集 ; S2、 以所述优化特征集为训练集, 从所述训练集中随机选择 m 组训练数据作为训练数 据序列 , 其中各训练数据的期望分类结果表示为 , 下标 i 表示训练数据在所述训练数 , 其据序列中的位置, 将所述训练数据序列 中中各组训练数据的权重均初始化为表示第 1 轮训练后第 i 组训练数据的权重, i=1,……, m, m 为大于 1 的整数, 并且根据输入输出维数确定 GRNN 弱分类器的结构, 初始化 SPREAD 参数, 其中所述输入维数由所述 优化特征集的维数确定 ; S3、 弱分类器预测获得预测序列 : 采用所述训练数据序列训练 t 个 GRNN 弱分类器并预4102346829 A CN 102346849说明书, 设定所述预测序列的表示函数为2/8 页测所述训练数据序列的输出, 获得预测序列, 其中下标 t 表示训练的轮数, i 表示训练数据在所述训练数据序列中的位置, 练数据序列经第 t 轮训练后第 i 组训练数据的预测分类结果 ; 求取预测误差和 类结果表示所述训: 如果所述训练数据序列经 t 轮训练后第 i 组训练数据的预测分 不相等, 即如果 则表示两者存在误差, 将所有存在 的预测误差和 , 即 , 其中与期望分类结果误差的训练数据的权重相加即获得所述预测序列表示所述训练数据序列经第 t 轮训练后第 i 组训练数据的权重, 且 1 ≤ t ≤ T, T 为大 于 1 的整数 ; S4、 计算预测序列权重 的权重 : : 根据所述预测序列 的预测误差和 计算所述预测序列, 其中 1 ≤ t ≤ T, T 为大于 1 的整数 ; ;S5、 获得第 t 轮训练后第 t 组弱分类器函数S6、 判断 t ≥ T 是否成立, 如果成立则执行步骤 S8, 如果不成立则执行步骤 S7 ; S7、 根据所述预测序列 , 调整公式为 : , 其中 表示所述训练数据序列经第 t+1 轮训练后 是归一化因子, 为 的权重 调整第 t+1 轮训练数据序列中各组训练数据的权重第 i 组训练数据的权重, exp[] 表示以自然对数 e 为底的指数函数, 且常数 ; 其后重复执行所述步骤 S3 ~ S6 ; S8、 根据各轮训练获得的 T 组弱分类器函数, 由所述 T 组弱分类器组合获得强分类器 F : ; S9、 对待检样本按照步骤 S1 进行特征提取, 根据强分类器 F 对所述待检样本进行识别, 输出检测结果。
     所述步骤 S1 中采用一种改进的 N-Gram 方法作为静态特征提取方法, 提取已知病 毒的指令序列特征, 该改进的 N-Gram 方法由以下步骤组成 : S10、 将已知病毒和正常程序文件反汇编, 获得反汇编指令代码形式的样本文件, 去除 所有操作数和无关信息 ; S11、 结合 N-Gram 方法提取各已知病毒和正常程序的指令序列特征, 且向指令序列特 征的各特征段均赋予唯一的特征 id ; S12、 根据特征 id 和特征段出现的频率信息, 生成与所述样本文件对应的特征向量, 以 表征所述样本文件的特征信息, 并且由所述样本文件的特征向量构成特征集。
     在所述步骤 S11 中 N-Gram 方法采用固定长度为 N 的 N-Gram 窗口对去除操作数和 无关信息的样本文件滑动分割, 所述 N-Gram 窗口每次滑动一个单位长度, 由此获得所述指令序列特征的特征段, 其中各特征段的长度为 N。
     综上所述, 由于采用了上述技术方案, 本发明的有益效果是 : 1、 采用静态特征提取方法提取指令序列特征, 相比于提取其他静态特征, 指令序列特 征更能突显病毒文件的在其内容性和行为性两方面的特点, 在表征同族变形病毒有显著优 势, 比二进制机器码有更好的语义特性, 较 Windows API calls 以及其他动态特征有更高的 样本覆盖率, 也能更有效率地进行特征提取以及生成特征签名, 并且相比于动态特征提取 方法, 采用静态特征提取方法不仅可以对非可执行病毒程序进行分析, 而且其时间开销较 小; 2、 将 GRNN 神经网络引入分类算法的构建中, 结合 AdaBoost 算法提出基于集成分类算 法 GRAB, 其取代了单一的分类算法, 可以更加有效地区分病毒和正常程序, 并且可以精确地 检测出未知病毒 ; 3、 静态特征提取方法中选用一种改进的 N-Gram 方法, 在提取指令序列特征之前去除 所有的操作数和无关信息, 以少量的原始数据获取更多的有效信息, 使提取的指令序列特 征在表征病毒文件内容与程序行为方面都具有更高的敏锐度 ; 4、 由于诸如 N-Gram 方法等静态特征提取方法, 提取获得的指令序列特征中存在大量 不相关或冗余的特征, 这使得检测变得越来越困难, 本发明采用基于信息增益的特征选取 方法对指令序列特征进行优化, 从而提高了检测的精度和效率。 附图说明
     本发明将通过例子并参照附图的方式说明, 其中 : 图 1 是本发明的模型示意图 ; 图 2 是基于 N-Gram 的特征提取过程的示意图 ; 图 3 是 GRAB 集成分类模型的示意图 ; 图 4 是基于 GRAB 集成分类方法的流程图。具体实施方式
     本说明书中公开的所有特征, 或公开的所有方法或过程中的步骤, 除了互相排斥 的特征和 / 或步骤以外, 均可以以任何方式组合。
     本说明书 (包括任何附加权利要求、 摘要和附图) 中公开的任一特征, 除非特别叙 述, 均可被其他等效或具有类似目的的替代特征加以替换。即, 除非特别叙述, 每个特征只 是一系列等效或类似特征中的一个例子而已。
     本发明将 GRNN(Generalization regression neural network, 广义回归神经网 络) 神经网络引入到分类算法的构建中, 结合 AdaBoost 算法提出一种 GRAB (Generalization Regression neural network based AdaBoost , 广义回归神经网络 AdaBoost)分类模 型, 在此基础上提出一种智能病毒检测系统 CEVDS(Classifier Ensembles based Virus Detection System, 基于集成分类的病毒检测系统) 系统, 其主要由特征提取和集成分类两 个模块组成。
     如图 1 所示, 该基于集成分类的病毒检测方法包括以下步骤 : 第一部分 : 特征提取S1、 本发明采用静态特征提取方法提取各已知病毒和正常程序的指令序列特征, 构成 特征集。
     在病毒分析中使用的特征提取方法主要有动态提取、 静态提取两种。动态提取方 式获得的特征能够良好地表示病毒程序的行为特性, 在处理加壳、 加密病毒时尤其有效, 但 它只能用于分析可执行文件, 而超过 60% 的病毒并非可执行程序, 不能对其进行动态分析。 此外, 动态特征提取的时间开销巨大。因此, 相比于动态特征提取方法, 静态特征提取方法 不仅可以分析非可执行程序, 而且时间开销小, 效率高。
     在所有静态特征中, 指令序列特征更能突显病毒文件在其内容性和行为性两方面 的特点, 在表征同族变形病毒有显著优势, 比二进制机器码有更好的语义特性, 较 Windows API calls 以及其他动态特征有更高的样本覆盖率, 也能更有效率地进行特征提取以及生 成特征签名。因此, 本发明提取指令序列特征来表示样本文件。
     在本发明的一个实施例中, 采用一种改进的 N-Gram 方法作为静态特征提取方法, 提取已知病毒的指令序列特征。 N-Gram 方法用于将连续的数据流按固定长度为 N 的 N-Gram 窗口滑动分割, 收集得到的一系列重叠子串, 其中 N-Gram 窗口每次滑动一个单位长度。如 图 2 所示, 对于指令代码片段, 比如, xor div or jz inc, 其对应的 3-Gram 为 (xor div or)、 (div or jz)、 (or jz inc)。N-Gram 方法可以捕获到一些潜在的其他方法很难准确提取的 特征, 在恶意代码检测领域, N-Gram 是广泛应用的特征提取方法。 如图 2 所示, 该改进的 N-Gram 方法由以下步骤组成 : S10、 将已知病毒和正常程序文件反汇编, 获得反汇编指令代码形式的样本文件, 去除 所有操作数和无关信息, 诸如图中所示的 “pro near” 、 “edx, edx” 、 “ebx” 等。由于在开始 提取指令序列特征之前就滤去了大量无用信息, 基于指令代码的特征以少量的原始数据获 取了更多的有效信息, 在表征文件内容与程序行为两方面都具有更高的敏锐度。
     S11、 结合 N-Gram 方法提取已知病毒和正常程序的指令序列特征, 即采用固定长 度为 N 的 N-Gram 窗口对对去除操作数等无关信息的样本文件滑动分割, 该 N-Gram 窗口每 次滑动一个单位长度, 从而获得指令序列特征的特征段, 其中该特征段的长度为 N。指令序 列特征不仅反映了样本文件本身的语义内容, 样本文件之间指令代码的次序关系也体现出 程序在执行过程中可能发生的行为。另外, 向指令序列特征的各特征段均赋予唯一的特征 id(Identity, 地址 / 编码) , 以维持所有指令序列特征在不同样本文件中的全局映射。
     S12、 依据特征 id 和特征段出现的频率信息, 生成与各样本文件对应的特征向量, 作为表征该样本文件的特征信息, 并且各样本文件的特征向量构成了特征集。
     当然, 静态特征提取方法除了上述改进的 N-Gram 方法外, 还可以采用其他静态特 征提取方法, 由于静态特征提取方法在特征提取中属于成熟技术, 在此不对其他的静态特 征提取方法予以累述。
     在上述过程中产生的特征集合非常庞大, 样本文件对应的特征向量维数较高, 并 包含很多冗余特征。 在病毒检测中, 不相关或冗余的特征使得检测变得越来越困难, 为了提 高检测的精度和效率, 从中选取有利于识别病毒的特征是必要的。特征选择是寻找可以准 确描述原始事例的信息量最大的特征的一个过程。在本检测系统中, 事例是指病毒和正常 程序, 候选特征是指长度一定的指令序列。 不管是对单指令序列还是多指令序列, 所提取出 来的特征数量都非常庞大。特征选择的目的就是在这些特征中选择最相关的一组特征, 通
     常这组特征集比原始的特征集小很多, 从而获得最满意的分类结果。
     本发明按照该特征集中指令序列特征的 IG(Information Gain, 信息增益) 大小 对特征集进行排序, 选择特征集中信息增益最大的 n 个指令序列特征作为优化特征集。
     IG 也被称作平均互信息量, 反映了一个特征在分类中的重要性。其定义如下 : (1) 其中, (2) (3) (4) 分别为两个离散随机变量, 条件熵。 式 (1) 表明, 从
     是的信息熵 ;是已知 , 等于获知情况下 前后, 关于的中获取关于的平均互信息量的平均不确定性的消除。 信息增益在机器学习中被作为学习准则, 在病毒检测中, 信息增益 表示第 个序列指令特征所传递的平均信息量, 由式 (1) 可得 : (5) 其中, 是第 个特征属性的值, 代表这个特征出现过, 表示这个特征没有 表示在类 的比例 ; 表出现过 ; 表示第 个类别, 这里一共有两类 : 病毒程序和正常程序 ; 中, 第 个特征值为 示训练集中类
     的比例 ;表示在训练集中第 个特征值为所占的比例。由于信息增益越大, 代表这个特征对分类越有用, 因此本发明选用 IG 最大的 n 个 指令序列特征作为优化特征集。
     第二部分 : 集成分类 本发明将 GRNN 神经网络引入到分类算法的构建中, 结合 AdaBoost 算法提出一种 GRAB 集成分类方法, 取代单一的分类方法, 更有效地区分病毒与正常程序, 特别是达到能够精确 检测未知病毒的目的。
     AdaBoost 算法即自适应的 Boosting 算法, 其思想是利用大量学习能力一般的弱 分类器, 通过一定方法集成, 通过样本训练, 构建一个分类能力更强的强分类器。 简言之, 通 过合并许多 “弱分类器” 的输出以产生有效 “投票委员会” 的过程。理论证明, 只要每个弱 分类器的分类能力比随机猜测好, 当弱分类器的个数趋于无穷时, 强分类器的出错率将趋 于零。 AdaBoost 算法的这一特性对于弥补弱分类器的自身局限性和训练样本的主观选择等 不足具有重要意义。AdaBoost 算法的主要步骤为 : (1) 给出弱学习算法和训练集, 从训练集中找出 m 组训练数据, 初始化时, 指定每组训 练数据的权重分别为 D1(i)=1/m。
     (2) 调用弱学习算法进行 T 次迭代, 每次迭代后, 按照训练结果更新训练数据权 重, 对于训练失败的样本赋予较大的权值, 使得下一次迭代更加关注这些样本。 弱分类器通 过反复迭代得到一个分类函数序列 f1, f2,……, fT, 每个分类函数 f 也赋予一个权重, 分 类效果越好的函数, 其权值越大。
     (3) 经过 T 次迭代后, 在分类问题中最终的强分类函数 F 经 “投票委员会” 产生, 即通过迭代权值的投票法产生。利用集成的强分类器可对新样本进行有效判断。
     另外, 广义回归神经网络 (GRNN) 是 Donald F. Specht 在 1991 年提出的, 是径向 基函数神经网络的一种, 也是一种新颖而有效的前馈式神经网络。GRNN 具有很强的非线性 映射能力和柔性网络结构以及高度的容错性和鲁棒性, 能够根据给定的样本数据逼近其中 隐含的映射关系, 被广泛应用于函数逼近。 这种网络不仅具有全局逼近性质, 而且具有最佳 逼近性质。 GRNN 和 BP 等神经网络都可以用于分类、 预测, 但 GRNN 在逼近能力和学习速度上 有更强优势, 网络最后收敛于样本量积聚较多的优化回归面, 并且在样本数据较少时, 预测 效果也较好。此外, GRNN 需要调整的参数只有 SPREAD 一个, 可以更快地分类、 预测, 具有较 大计算优势。
     AdaBoost 算法本身是通过改变数据分布来实现的, 它根据每次训练集中每个样本 的分类是否正确, 以及上次的总体分类的准确率, 来确定每个样本的权值, 然后将每次训练 得到的分类器 fT 组合起来, 作为最后的分类器 F。AdaBoost 在准确度和效率方面都具有很 大的优势, 使用 AdaBoost 算法, 可以排除一些不必要的特征, 并将重点放在关键的特征上。 为了提高检测系统的识别精确度, 提出一种结合 AdaBoost 算法提高弱分类器 (GRNN) 的分 类性能和运算效率的网络模型 GRAB。GRAB 模型即把 GRNN 作为弱分类器, 反复训练 GRNN 预 测样本输出, 通过 AdaBoost 算法得到多个 GRNN 弱分类器组成的强分类器, GRAB 集成分类 模型如图 3 所示。
     如图 4 所述, 该 GRAB 集成分类方法由以下步骤组成 : S2、 以特征提取部分获得的优化特征集为训练集, 从所述训练集中随机选择 m 组训练 数据作为训练数据序列 , 其中各训练数据的期望分类结果表示为 , 下标 i 表示训练数据在该训练数据序列中的位置, 将该训练数据序列 , 其中中各组训练数据的权重均初始化为表示第 1 轮训练后第 i 组训练数据的权重, i=1,……, m, m 为大于 1 的整数, 并且根据输入输出维数确定 GRNN 弱分类器的结构, 初始化 SPREAD 参数, 其中所述输 入维数由所述优化特征集的维数确定, 本发明中输出维数设定为 1 维 ; S3、 弱分类器预测获得预测序列 : 采用训练数据序列训练 t 个 GRNN 弱分类器并预测训 练数据序列的输出, 获得预测序列 , 设定预测序列的表示函数为 , 其中下标 t 表示训练的轮数, i 表示训练数据在所述训练数据序列中的位置, 轮训练后第 i 组训练数据的预测分类结果 ;9表示训练数据序列经第 t102346829 A CN 102346849说明书7/8 页求取预测误差和 与期望分类结果: 如果训练数据序列经 t 轮训练后第 i 组训练数据的预测分类结果 不相等, 即如果 则表示两者存在误差, 将所有存在误差的 的预测误差和 , 即 , 其中 表示训练数据的权重相加即获得预测序列训练数据序列经第 t 轮训练后第 i 组训练数据的权重, 且 1 ≤ t ≤ T, T 为大于 1 的整数 ; S4、 计算预测序列权重 重 : : 根据预测序列 的预测误差和 计算所述预测序列 的权, 其中 1 ≤ t ≤ T, T 为大于 1 的整数 ; ;S5、 获得第 t 轮训练后第 t 组弱分类器函数S6、 判断 t ≥ T 是否成立, 如果成立则执行步骤 S8, 如果不成立则执行步骤 S7 ; S7、 根据所述预测序列 , 调整公式为 : , 其中 表示所述训练数据序列经第 t+1 轮训练后 是归一化因子, 为 的权重 调整第 t+1 轮训练数据序列中各组训练数据的权重第 i 组训练数据的权重, exp[] 表示以自然对数 e 为底的指数函数, 且常数, 用于在权重比例不变的情况下使权重和为 1 ; 其后重复执行步骤 S3 ~ S6 ; S8、 根据各轮训练获得的 T 组弱分类器函数, 由 T 组弱分类器组合获得强分类器 F : ; S9、 对待检样本按照步骤 S1 进行特征提取, 根据强分类器 F 对待检样本进行识别, 输出 检测结果。
     在验证该病毒检测方法过程中, 本发明选用的实验数据集样本总数为 386 个, 其 中正常程序样本 196 个、 病毒程序样本 190 个。所有正常程序样本从首次安装的 Windows XP Professional SP3 操作系统平台中随机选取。
     从实验数据集中随机选取 114 个正常程序样本、 98 个病毒程序样本, 构成已知类 型数据集 1(样本总数为 212 个) , 用于建立特征集以及测试病毒检测模型对已知病毒的检 测性能 ; 其余 82 个正常程序样本、 92 个病毒程序样本, 构成未知类型数据集 2 (样本总数为 174 个) , 用于测试病毒检测模型对未知病毒的检测性能。
     表 1 样本数据分布样本数据集 实验数据集 数据集 1 数据集 2 样本空间 386 212 174 正常程序样本数 196 114 82 病毒程序样本数 190 98 92在建立特征集时, 已知类型数据集在经过 N-Gram 特征提取后总共得到指令序列特征 101963 维, 实验中为了测试所采取的特征选择方法性能以及节约开销, 通过基于 IG 的方法 进行特征选择, 按信息增益大小对特征排序, 选择前 373 维、 前 282 维组成优化特征域做对 比实验。在分类算法方面, 选取 BP、 GRNN 两种人工神经网络算法作弱分类器进行对比实 验, 测试 BP、 GRNN、 以及基于 AdaBoost 的集成分类模型 BPAB、 GRAB 四种分类算法对病毒样 本的检测性能。实验结果以准确率 (OA) 、 检测率 (DTR) 为检测性能的两个评价指标。
     测试病毒检测模型对已知病毒的检测性能结果如表 2、 表 3 所示, 实验过程中从已 知类型数据集 (样本总数为 212 个) 随机选取 150 个样本文件构成训练集, 62 个样本文件构 成测试集。
     表 2 BP、 BPAB 检测结果 (%)特征域维数 282 373 BP(OA) BPAB(OA) 96.45 96.77 96.13 98.39 BPAB(DTR) 96.43 97.22表 3 GRNN、 GRAB 检测结果(%)GRNN(OA) GRAB(OA) GRAB(DTR) 96.77 96.77 95.83 97.74 98.39 96.97特征域维数 282 373测试病毒检测模型对未知病毒的检测性能结果如表 5、 表 6 所示, 实验过程中以已知类 型数据集 (样本总数为 212 个) 作为训练集, 未知类型数据集 (样本总数为 174 个) 作为测试 集。
     表 4 实验样本数据样本空间 正常程序 190 病毒程序 196 总计 386 训练集 98 114 212 测试集 82 92 174 BPAB(DTR) 93.48 95.65表 5 BP、 BPAB 检测结果(%)BP(OA) BPAB(OA) 93.45 95.98 93.10 97.70特征域维数 282 373表 6 GRNN、 GRAB 检测结果(%)GRNN(OA) GRAB(OA) GRAB(DTR) 94.02 98.28 97.83 95.40 98.85 98.91特征域维数 282 373由以上实验结果可知, 特征域维数为 373 时各分类器检测性能均优于特征域维数为 282 时 ; 各集成分类器检测性能优于单个分类器 ; BP、 GRNN 的单分类器与集成分类器在进行 已知类型病毒检测时性能相当, 但 BP 网络的时间开销远远大于 GRNN ; GRNN 单分类器与集成 分类器在进行未知类型病毒检测时优于 BP 单分类器与集成分类器, 具有良好的逼近性。
     实验结果表明, 该系统的检测性能优于基于单分类器的病毒检测方法, 此外, 选择 指令序列作病毒检测特征, 使其在对未知病毒的检测上表现突出, 能够准确识别未知病毒。 下一步将研究更为有效的集成分类方法, 以提高系统的检测性能 ; 采用更大的训练和测试 集合, 进一步验证系统的性能。
     本发明并不局限于前述的具体实施方式。 本发明扩展到任何在本说明书中披露的 新特征或任何新的组合, 以及披露的任一新的方法或过程的步骤或任何新的组合。

基于集成分类的病毒检测方法.pdf_第1页
第1页 / 共15页
基于集成分类的病毒检测方法.pdf_第2页
第2页 / 共15页
基于集成分类的病毒检测方法.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《基于集成分类的病毒检测方法.pdf》由会员分享,可在线阅读,更多相关《基于集成分类的病毒检测方法.pdf(15页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102346829A43申请公布日20120208CN102346829ACN102346829A21申请号201110283055422申请日20110922G06F21/0020060171申请人重庆大学地址400045重庆市沙坪坝区沙正街174号72发明人唐朝伟张雪臻杨磊严鸣时豪李超群74专利代理机构重庆市前沿专利事务所50211代理人郭云54发明名称基于集成分类的病毒检测方法57摘要本发明公开了一种基于集成分类的病毒检测方法,属于网络安全技术领域。该病毒检测方法由特征提取和集成分类两大模块,其中特征提取采用静态特征提取方法提取病毒的指令序列特征,构成特征集,并选择该特。

2、征集中信息增益最大的N个指令序列特征作为优化特征集。集成分类将人工神经网络引入到集成分类算法的构建中,结合ADABOOST算法提出一种新的模式分类器(GRAB)实现对病毒的检测,以达到有效地提高检测准确率,尤其是精确检测未知病毒的目的。通过本发明,可以更加有效地区分病毒和正常程序,并且可以精确地检测出未知病毒。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书8页附图4页CN102346849A1/2页21一种基于集成分类的病毒检测方法,其特征在于由以下步骤组成S1、采用静态特征提取方法提取各已知病毒和正常程序的指令序列特征,构成特征集,按照所述特征集中各指令序。

3、列特征的信息增益大小对所述特征集排序,选择所述特征集中信息增益最大的N个指令序列特征作为优化特征集;S2、以所述优化特征集为训练集,从所述训练集中随机选择M组训练数据作为训练数据序列,其中各训练数据的期望分类结果表示为,下标I表示训练数据在所述训练数据序列中的位置,将所述训练数据序列中各组训练数据的权重均初始化为,其中表示第1轮训练后第I组训练数据的权重,I1,,M,M为大于1的整数,并且根据输入输出维数确定GRNN弱分类器的结构,初始化SPREAD参数,其中所述输入维数由所述优化特征集的维数确定;S3、弱分类器预测获得预测序列采用所述训练数据序列训练T个GRNN弱分类器并预测所述训练数据序列。

4、的输出,获得预测序列,设定所述预测序列的表示函数为,其中下标T表示训练的轮数,I表示训练数据在所述训练数据序列中的位置,表示所述训练数据序列经第T轮训练后第I组训练数据的预测分类结果;求取预测误差和如果所述训练数据序列经T轮训练后第I组训练数据的预测分类结果与期望分类结果不相等,即如果则表示两者存在误差,将所有存在误差的训练数据的权重相加即获得所述预测序列的预测误差和,即,其中表示所述训练数据序列经第T轮训练后第I组训练数据的权重,且1TT,T为大于1的整数;S4、计算预测序列的权重根据所述预测序列的预测误差和计算所述预测序列的权重,其中1TT,T为大于1的整数;S5、获得第T轮训练后第T组弱。

5、分类器函数;S6、判断TT是否成立,如果成立则执行步骤S8,如果不成立则执行步骤S7;S7、根据所述预测序列的权重调整第T1轮训练数据序列中各组训练数据的权重,调整公式为,其中表示所述训练数据序列经第T1轮训练后第I组训练数据的权重,EXP表示以自然对数E为底的指数函数,且是归一化因子,为常数;其后重复执行所述步骤S3S6;S8、根据各轮训练获得的T组弱分类器函数,由所述T组弱分类器组合获得强分类器F权利要求书CN102346829ACN102346849A2/2页3;S9、对待检样本按照步骤S1进行特征提取,根据强分类器F对所述待检样本进行识别,输出检测结果。2根据权利要求1所述的基于集成分。

6、类的病毒检测方法,其特征在于所述步骤S1中采用一种改进的NGRAM方法作为静态特征提取方法,提取已知病毒的指令序列特征,该改进的NGRAM方法由以下步骤组成S10、将已知病毒和正常程序文件反汇编,获得反汇编指令代码形式的样本文件,去除所有操作数和无关信息;S11、结合NGRAM方法提取各已知病毒和正常程序的指令序列特征,且向指令序列特征的各特征段均赋予唯一的特征ID;S12、根据特征ID和特征段出现的频率信息,生成与所述样本文件对应的特征向量,以表征所述样本文件的特征信息,并且由所述样本文件的特征向量构成特征集。3根据权利要求2所述的基于集成分类的病毒检测方法,其特征在于在所述步骤S11中NG。

7、RAM方法采用固定长度为N的NGRAM窗口对去除操作数和无关信息的样本文件滑动分割,所述NGRAM窗口每次滑动一个单位长度,由此获得所述指令序列特征的特征段,其中各特征段的长度为N。权利要求书CN102346829ACN102346849A1/8页4基于集成分类的病毒检测方法技术领域0001本发明涉及一种病毒检测方法,尤其是一种基于集成分类的病毒检测方法。背景技术0002随着计算机网络尤其是互联网技术的飞速发展,网络成为人类社会最重要的组成部分,是20世纪最杰出的研究成果。而在网络互连程度日益扩大的同时,网络安全问题变得极其重要。所有网络安全事件中,计算机病毒的入侵占有最大比例。病毒数量不断增。

8、多,传播日趋广泛,给全球带来了巨大的经济损失。0003传统的防病毒技术只能在病毒造成损害之后,通过分析病毒样本、提取特征码、更新病毒特征库来检测病毒。然而,当未知病毒或已知病毒的一个新的变体出现且造成损害之后,该病毒又将被重新分析,以更新特征库中的特征信息。该检测方法具有不可避免的滞后性,病毒的检测技术总是落后于新型病毒的出现。急需能够识别未知病毒的智能检测方法,达到将病毒危害降低到最小的目的。0004现有的防病毒技术大多以特征码比对的方法检测计算机病毒,这种检测方法先提取已知病毒样本的特征,并将其特征数据添加到病毒特征库,在病毒检测时通过在病毒特征库中搜索,查找是否存在与之相匹配的病毒特征来。

9、发现病毒,其缺点是只能用于检测已知病毒,而对新型及未知的病毒无能为力。近年来许多研究显示运用机器学习可有效地检测未知的恶意代码,其缺点是错误率过高。发明内容0005本发明的目的是提供一种基于集成分类的病毒检测方法,其可以更加有效地区分病毒和正常程序,并且可以精确地检测出未知病毒。0006本发明采用的技术方案是这样的本发明提供一种基于集成分类的病毒检测方法,其包括以下步骤S1、采用静态特征提取方法提取各已知病毒和正常程序的指令序列特征,构成特征集,按照所述特征集中各指令序列特征的信息增益大小对所述特征集排序,选择所述特征集中信息增益最大的N个指令序列特征作为优化特征集;S2、以所述优化特征集为训。

10、练集,从所述训练集中随机选择M组训练数据作为训练数据序列,其中各训练数据的期望分类结果表示为,下标I表示训练数据在所述训练数据序列中的位置,将所述训练数据序列中各组训练数据的权重均初始化为,其中表示第1轮训练后第I组训练数据的权重,I1,,M,M为大于1的整数,并且根据输入输出维数确定GRNN弱分类器的结构,初始化SPREAD参数,其中所述输入维数由所述优化特征集的维数确定;S3、弱分类器预测获得预测序列采用所述训练数据序列训练T个GRNN弱分类器并预说明书CN102346829ACN102346849A2/8页5测所述训练数据序列的输出,获得预测序列,设定所述预测序列的表示函数为,其中下标T。

11、表示训练的轮数,I表示训练数据在所述训练数据序列中的位置,表示所述训练数据序列经第T轮训练后第I组训练数据的预测分类结果;求取预测误差和如果所述训练数据序列经T轮训练后第I组训练数据的预测分类结果与期望分类结果不相等,即如果则表示两者存在误差,将所有存在误差的训练数据的权重相加即获得所述预测序列的预测误差和,即,其中表示所述训练数据序列经第T轮训练后第I组训练数据的权重,且1TT,T为大于1的整数;S4、计算预测序列权重根据所述预测序列的预测误差和计算所述预测序列的权重,其中1TT,T为大于1的整数;S5、获得第T轮训练后第T组弱分类器函数;S6、判断TT是否成立,如果成立则执行步骤S8,如果。

12、不成立则执行步骤S7;S7、根据所述预测序列的权重调整第T1轮训练数据序列中各组训练数据的权重,调整公式为,其中表示所述训练数据序列经第T1轮训练后第I组训练数据的权重,EXP表示以自然对数E为底的指数函数,且是归一化因子,为常数;其后重复执行所述步骤S3S6;S8、根据各轮训练获得的T组弱分类器函数,由所述T组弱分类器组合获得强分类器F;S9、对待检样本按照步骤S1进行特征提取,根据强分类器F对所述待检样本进行识别,输出检测结果。0007所述步骤S1中采用一种改进的NGRAM方法作为静态特征提取方法,提取已知病毒的指令序列特征,该改进的NGRAM方法由以下步骤组成S10、将已知病毒和正常程序。

13、文件反汇编,获得反汇编指令代码形式的样本文件,去除所有操作数和无关信息;S11、结合NGRAM方法提取各已知病毒和正常程序的指令序列特征,且向指令序列特征的各特征段均赋予唯一的特征ID;S12、根据特征ID和特征段出现的频率信息,生成与所述样本文件对应的特征向量,以表征所述样本文件的特征信息,并且由所述样本文件的特征向量构成特征集。0008在所述步骤S11中NGRAM方法采用固定长度为N的NGRAM窗口对去除操作数和无关信息的样本文件滑动分割,所述NGRAM窗口每次滑动一个单位长度,由此获得所述指说明书CN102346829ACN102346849A3/8页6令序列特征的特征段,其中各特征段的。

14、长度为N。0009综上所述,由于采用了上述技术方案,本发明的有益效果是1、采用静态特征提取方法提取指令序列特征,相比于提取其他静态特征,指令序列特征更能突显病毒文件的在其内容性和行为性两方面的特点,在表征同族变形病毒有显著优势,比二进制机器码有更好的语义特性,较WINDOWSAPICALLS以及其他动态特征有更高的样本覆盖率,也能更有效率地进行特征提取以及生成特征签名,并且相比于动态特征提取方法,采用静态特征提取方法不仅可以对非可执行病毒程序进行分析,而且其时间开销较小;2、将GRNN神经网络引入分类算法的构建中,结合ADABOOST算法提出基于集成分类算法GRAB,其取代了单一的分类算法,可。

15、以更加有效地区分病毒和正常程序,并且可以精确地检测出未知病毒;3、静态特征提取方法中选用一种改进的NGRAM方法,在提取指令序列特征之前去除所有的操作数和无关信息,以少量的原始数据获取更多的有效信息,使提取的指令序列特征在表征病毒文件内容与程序行为方面都具有更高的敏锐度;4、由于诸如NGRAM方法等静态特征提取方法,提取获得的指令序列特征中存在大量不相关或冗余的特征,这使得检测变得越来越困难,本发明采用基于信息增益的特征选取方法对指令序列特征进行优化,从而提高了检测的精度和效率。附图说明0010本发明将通过例子并参照附图的方式说明,其中图1是本发明的模型示意图;图2是基于NGRAM的特征提取过。

16、程的示意图;图3是GRAB集成分类模型的示意图;图4是基于GRAB集成分类方法的流程图。具体实施方式0011本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。0012本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。0013本发明将GRNN(GENERALIZATIONREGRESSIONNEURALNETWORK,广义回归神经网络)神经网络引入到分类算法的构建中,结合ADABOOST算法提。

17、出一种GRAB(GENERALIZATIONREGRESSIONNEURALNETWORKBASEDADABOOST,广义回归神经网络ADABOOST)分类模型,在此基础上提出一种智能病毒检测系统CEVDS(CLASSIFIERENSEMBLESBASEDVIRUSDETECTIONSYSTEM,基于集成分类的病毒检测系统)系统,其主要由特征提取和集成分类两个模块组成。0014如图1所示,该基于集成分类的病毒检测方法包括以下步骤第一部分特征提取说明书CN102346829ACN102346849A4/8页7S1、本发明采用静态特征提取方法提取各已知病毒和正常程序的指令序列特征,构成特征集。00。

18、15在病毒分析中使用的特征提取方法主要有动态提取、静态提取两种。动态提取方式获得的特征能够良好地表示病毒程序的行为特性,在处理加壳、加密病毒时尤其有效,但它只能用于分析可执行文件,而超过60的病毒并非可执行程序,不能对其进行动态分析。此外,动态特征提取的时间开销巨大。因此,相比于动态特征提取方法,静态特征提取方法不仅可以分析非可执行程序,而且时间开销小,效率高。0016在所有静态特征中,指令序列特征更能突显病毒文件在其内容性和行为性两方面的特点,在表征同族变形病毒有显著优势,比二进制机器码有更好的语义特性,较WINDOWSAPICALLS以及其他动态特征有更高的样本覆盖率,也能更有效率地进行特。

19、征提取以及生成特征签名。因此,本发明提取指令序列特征来表示样本文件。0017在本发明的一个实施例中,采用一种改进的NGRAM方法作为静态特征提取方法,提取已知病毒的指令序列特征。NGRAM方法用于将连续的数据流按固定长度为N的NGRAM窗口滑动分割,收集得到的一系列重叠子串,其中NGRAM窗口每次滑动一个单位长度。如图2所示,对于指令代码片段,比如,XORDIVORJZINC,其对应的3GRAM为XORDIVOR、DIVORJZ、ORJZINC。NGRAM方法可以捕获到一些潜在的其他方法很难准确提取的特征,在恶意代码检测领域,NGRAM是广泛应用的特征提取方法。0018如图2所示,该改进的NG。

20、RAM方法由以下步骤组成S10、将已知病毒和正常程序文件反汇编,获得反汇编指令代码形式的样本文件,去除所有操作数和无关信息,诸如图中所示的“PRONEAR”、“EDX,EDX”、“EBX”等。由于在开始提取指令序列特征之前就滤去了大量无用信息,基于指令代码的特征以少量的原始数据获取了更多的有效信息,在表征文件内容与程序行为两方面都具有更高的敏锐度。0019S11、结合NGRAM方法提取已知病毒和正常程序的指令序列特征,即采用固定长度为N的NGRAM窗口对对去除操作数等无关信息的样本文件滑动分割,该NGRAM窗口每次滑动一个单位长度,从而获得指令序列特征的特征段,其中该特征段的长度为N。指令序列。

21、特征不仅反映了样本文件本身的语义内容,样本文件之间指令代码的次序关系也体现出程序在执行过程中可能发生的行为。另外,向指令序列特征的各特征段均赋予唯一的特征ID(IDENTITY,地址/编码),以维持所有指令序列特征在不同样本文件中的全局映射。0020S12、依据特征ID和特征段出现的频率信息,生成与各样本文件对应的特征向量,作为表征该样本文件的特征信息,并且各样本文件的特征向量构成了特征集。0021当然,静态特征提取方法除了上述改进的NGRAM方法外,还可以采用其他静态特征提取方法,由于静态特征提取方法在特征提取中属于成熟技术,在此不对其他的静态特征提取方法予以累述。0022在上述过程中产生的。

22、特征集合非常庞大,样本文件对应的特征向量维数较高,并包含很多冗余特征。在病毒检测中,不相关或冗余的特征使得检测变得越来越困难,为了提高检测的精度和效率,从中选取有利于识别病毒的特征是必要的。特征选择是寻找可以准确描述原始事例的信息量最大的特征的一个过程。在本检测系统中,事例是指病毒和正常程序,候选特征是指长度一定的指令序列。不管是对单指令序列还是多指令序列,所提取出来的特征数量都非常庞大。特征选择的目的就是在这些特征中选择最相关的一组特征,通说明书CN102346829ACN102346849A5/8页8常这组特征集比原始的特征集小很多,从而获得最满意的分类结果。0023本发明按照该特征集中指。

23、令序列特征的IG(INFORMATIONGAIN,信息增益)大小对特征集进行排序,选择特征集中信息增益最大的N个指令序列特征作为优化特征集。0024IG也被称作平均互信息量,反映了一个特征在分类中的重要性。其定义如下1其中,234分别为两个离散随机变量,是的信息熵;是已知情况下的条件熵。式1表明,从中获取关于的平均互信息量,等于获知前后,关于的平均不确定性的消除。0025信息增益在机器学习中被作为学习准则,在病毒检测中,信息增益表示第个序列指令特征所传递的平均信息量,由式1可得5其中,是第个特征属性的值,代表这个特征出现过,表示这个特征没有出现过;表示第个类别,这里一共有两类病毒程序和正常程序。

24、;表示在类中,第个特征值为的比例;表示在训练集中第个特征值为的比例;表示训练集中类所占的比例。0026由于信息增益越大,代表这个特征对分类越有用,因此本发明选用IG最大的N个指令序列特征作为优化特征集。0027第二部分集成分类本发明将GRNN神经网络引入到分类算法的构建中,结合ADABOOST算法提出一种GRAB集成分类方法,取代单一的分类方法,更有效地区分病毒与正常程序,特别是达到能够精确检测未知病毒的目的。0028ADABOOST算法即自适应的BOOSTING算法,其思想是利用大量学习能力一般的弱分类器,通过一定方法集成,通过样本训练,构建一个分类能力更强的强分类器。简言之,通过合并许多“。

25、弱分类器”的输出以产生有效“投票委员会”的过程。理论证明,只要每个弱分类器的分类能力比随机猜测好,当弱分类器的个数趋于无穷时,强分类器的出错率将趋于零。ADABOOST算法的这一特性对于弥补弱分类器的自身局限性和训练样本的主观选择等不足具有重要意义。说明书CN102346829ACN102346849A6/8页90029ADABOOST算法的主要步骤为1给出弱学习算法和训练集,从训练集中找出M组训练数据,初始化时,指定每组训练数据的权重分别为D1I1/M。00302调用弱学习算法进行T次迭代,每次迭代后,按照训练结果更新训练数据权重,对于训练失败的样本赋予较大的权值,使得下一次迭代更加关注这些。

26、样本。弱分类器通过反复迭代得到一个分类函数序列F1,F2,FT,每个分类函数F也赋予一个权重,分类效果越好的函数,其权值越大。00313经过T次迭代后,在分类问题中最终的强分类函数F经“投票委员会”产生,即通过迭代权值的投票法产生。利用集成的强分类器可对新样本进行有效判断。0032另外,广义回归神经网络(GRNN)是DONALDFSPECHT在1991年提出的,是径向基函数神经网络的一种,也是一种新颖而有效的前馈式神经网络。GRNN具有很强的非线性映射能力和柔性网络结构以及高度的容错性和鲁棒性,能够根据给定的样本数据逼近其中隐含的映射关系,被广泛应用于函数逼近。这种网络不仅具有全局逼近性质,而。

27、且具有最佳逼近性质。GRNN和BP等神经网络都可以用于分类、预测,但GRNN在逼近能力和学习速度上有更强优势,网络最后收敛于样本量积聚较多的优化回归面,并且在样本数据较少时,预测效果也较好。此外,GRNN需要调整的参数只有SPREAD一个,可以更快地分类、预测,具有较大计算优势。0033ADABOOST算法本身是通过改变数据分布来实现的,它根据每次训练集中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值,然后将每次训练得到的分类器FT组合起来,作为最后的分类器F。ADABOOST在准确度和效率方面都具有很大的优势,使用ADABOOST算法,可以排除一些不必要的特征,并将。

28、重点放在关键的特征上。为了提高检测系统的识别精确度,提出一种结合ADABOOST算法提高弱分类器(GRNN)的分类性能和运算效率的网络模型GRAB。GRAB模型即把GRNN作为弱分类器,反复训练GRNN预测样本输出,通过ADABOOST算法得到多个GRNN弱分类器组成的强分类器,GRAB集成分类模型如图3所示。0034如图4所述,该GRAB集成分类方法由以下步骤组成S2、以特征提取部分获得的优化特征集为训练集,从所述训练集中随机选择M组训练数据作为训练数据序列,其中各训练数据的期望分类结果表示为,下标I表示训练数据在该训练数据序列中的位置,将该训练数据序列中各组训练数据的权重均初始化为,其中表。

29、示第1轮训练后第I组训练数据的权重,I1,,M,M为大于1的整数,并且根据输入输出维数确定GRNN弱分类器的结构,初始化SPREAD参数,其中所述输入维数由所述优化特征集的维数确定,本发明中输出维数设定为1维;S3、弱分类器预测获得预测序列采用训练数据序列训练T个GRNN弱分类器并预测训练数据序列的输出,获得预测序列,设定预测序列的表示函数为,其中下标T表示训练的轮数,I表示训练数据在所述训练数据序列中的位置,表示训练数据序列经第T轮训练后第I组训练数据的预测分类结果;说明书CN102346829ACN102346849A7/8页10求取预测误差和如果训练数据序列经T轮训练后第I组训练数据的预。

30、测分类结果与期望分类结果不相等,即如果则表示两者存在误差,将所有存在误差的训练数据的权重相加即获得预测序列的预测误差和,即,其中表示训练数据序列经第T轮训练后第I组训练数据的权重,且1TT,T为大于1的整数;S4、计算预测序列权重根据预测序列的预测误差和计算所述预测序列的权重,其中1TT,T为大于1的整数;S5、获得第T轮训练后第T组弱分类器函数;S6、判断TT是否成立,如果成立则执行步骤S8,如果不成立则执行步骤S7;S7、根据所述预测序列的权重调整第T1轮训练数据序列中各组训练数据的权重,调整公式为,其中表示所述训练数据序列经第T1轮训练后第I组训练数据的权重,EXP表示以自然对数E为底的。

31、指数函数,且是归一化因子,为常数,用于在权重比例不变的情况下使权重和为1;其后重复执行步骤S3S6;S8、根据各轮训练获得的T组弱分类器函数,由T组弱分类器组合获得强分类器F;S9、对待检样本按照步骤S1进行特征提取,根据强分类器F对待检样本进行识别,输出检测结果。0035在验证该病毒检测方法过程中,本发明选用的实验数据集样本总数为386个,其中正常程序样本196个、病毒程序样本190个。所有正常程序样本从首次安装的WINDOWSXPPROFESSIONALSP3操作系统平台中随机选取。0036从实验数据集中随机选取114个正常程序样本、98个病毒程序样本,构成已知类型数据集1(样本总数为21。

32、2个),用于建立特征集以及测试病毒检测模型对已知病毒的检测性能;其余82个正常程序样本、92个病毒程序样本,构成未知类型数据集2(样本总数为174个),用于测试病毒检测模型对未知病毒的检测性能。0037表1样本数据分布样本数据集样本空间正常程序样本数病毒程序样本数实验数据集386196190数据集121211498数据集21748292在建立特征集时,已知类型数据集在经过NGRAM特征提取后总共得到指令序列特征101963维,实验中为了测试所采取的特征选择方法性能以及节约开销,通过基于IG的方法进行特征选择,按信息增益大小对特征排序,选择前373维、前282维组成优化特征域做对比实验。说明书C。

33、N102346829ACN102346849A8/8页110038在分类算法方面,选取BP、GRNN两种人工神经网络算法作弱分类器进行对比实验,测试BP、GRNN、以及基于ADABOOST的集成分类模型BPAB、GRAB四种分类算法对病毒样本的检测性能。实验结果以准确率(OA)、检测率(DTR)为检测性能的两个评价指标。0039测试病毒检测模型对已知病毒的检测性能结果如表2、表3所示,实验过程中从已知类型数据集(样本总数为212个)随机选取150个样本文件构成训练集,62个样本文件构成测试集。0040表2BP、BPAB检测结果特征域维数BPOABPABOABPABDTR282964596779。

34、643373961398399722表3GRNN、GRAB检测结果特征域维数GRNNOAGRABOAGRABDTR282967796779583373977498399697测试病毒检测模型对未知病毒的检测性能结果如表5、表6所示,实验过程中以已知类型数据集(样本总数为212个)作为训练集,未知类型数据集(样本总数为174个)作为测试集。0041表4实验样本数据样本空间训练集测试集正常程序1909882病毒程序19611492总计386212174表5BP、BPAB检测结果特征域维数BPOABPABOABPABDTR282934595989348373931097709565表6GRNN、GR。

35、AB检测结果特征域维数GRNNOAGRABOAGRABDTR282940298289783373954098859891由以上实验结果可知,特征域维数为373时各分类器检测性能均优于特征域维数为282时;各集成分类器检测性能优于单个分类器;BP、GRNN的单分类器与集成分类器在进行已知类型病毒检测时性能相当,但BP网络的时间开销远远大于GRNN;GRNN单分类器与集成分类器在进行未知类型病毒检测时优于BP单分类器与集成分类器,具有良好的逼近性。0042实验结果表明,该系统的检测性能优于基于单分类器的病毒检测方法,此外,选择指令序列作病毒检测特征,使其在对未知病毒的检测上表现突出,能够准确识别未知病毒。下一步将研究更为有效的集成分类方法,以提高系统的检测性能;采用更大的训练和测试集合,进一步验证系统的性能。0043本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。说明书CN102346829ACN102346849A1/4页12图1说明书附图CN102346829ACN102346849A2/4页13图2说明书附图CN102346829ACN102346849A3/4页14图3说明书附图CN102346829ACN102346849A4/4页15图4说明书附图CN102346829A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1