当前位置: 首页 > 专利查询>四川大学专利>正文

一种基于多视集成学习的恶意软件检测方法技术

技术编号:12474941 阅读:84 留言:0更新日期:2015-12-10 10:35
本发明专利技术公开一种基于多视集成学习的恶意软件检测方法,对训练样本集中的可执行文件提取字节码n-grams特征视图、操作码n-grams特征视图、格式信息特征视图;对三个特征视图分别或合并后采用不同的分类算法训练出多个基分类器,利用集成学习方法集成出分类模型;从待检测样本集中提取出与上述三种特征视图相应的特征;根据提取到的待检测样本集的特征,用所述集成的分类模型对待检测样本进行分类,得到检测结果。本发明专利技术集成了表示可执行文件的字节码特征、操作码特征、格式信息特征,实现了特征的互补;使用集成学习取代了单个分类器,修正了单分类器的归纳偏置,实现了各分类算法的互补;能有效的检测新出现恶意软件,具备较好的泛化性能。

【技术实现步骤摘要】

本专利技术涉及网络安全中的恶意软件检测方法,具体为一种基于多视集成学习的恶 意软件检测方法。
技术介绍
恶意软件通常指带有恶意目的的程序,常被用于破坏数据、运行入侵程序、窃取敏 感信息、控制受害者的电脑、为恶意软件控制者谋取非法利益等。此外,恶意软件相当多数 扮演着"间谍软件"的角色,它们侵蚀着各国的政治、经济、文化、军事等各个领域的信息安 全。恶意软件包括病毒、木马、懦虫、后门程序、Rootkit、Dos、Exploit等。据Symantec公 司发布的2015互联网安全威胁报告,2014年该公司共捕获3. 17亿个新恶意软件,平均每天 接近100万个新的恶意软件释放到互联网。如此数目庞大的恶意软件已经成为互联网的最 大安全威胁,严重影响了世界各国的信息安全。 当前的杀毒软件主要使用特定的字节序列作为特征码检测已知的恶意软件,但这 种方法对新的、未知的恶意软件通常是无效的,能检测的恶意软件经过简单加壳或混淆后 又不能检测,使用多态和变形技术的恶意软件在传播的过程中不断随机的改变着二进制文 件内容,没有固定的特征,使用该方法也不能检测。据Symantec公司发布的2015互联网安 全威胁报告,基于特征码的方法仅能检测2014年捕获的所有恶意软件中的13. 9%。除此之 外,分析人员手动提取恶意软件特征码的速度已经不能匹配恶意软件增长速度,这些都给 恶意软件的检测工作带来了严峻挑战。 由于当前杀毒软件存在较多的局限性,迫切需要研究新的有效的恶意软件检测方 法。近年来研究人员提出了基于数据挖掘和机器学习的恶意软件检测方法,这些方法从大 量的恶意软件样本中学习识别规则,以实现恶意软件的智能检测。这些方法都是通过随机 抽样的方法划分训练集和测试集,测试集对于训练集是未知的,可以验证所提出的方法检 测未知恶意软件的性能。但现实场景中,恶意软件检测方法必须基于已存在的样本集训练 分类模型,使用训练好的分类模型检测新出现的未知恶意软件。现有的检测方法中,无论训 练集还是测试集,都是新旧样本混合,无法评估检测新出现的未知恶意软件的性能。 基于数据挖掘和机器学习的恶意软件检测方法将可执行文件表示成不同抽象层 次的特征,使用这些特征来训练分类模型。某一种类型的特征都从不同的侧面反映刻画了 可执行文件的一些性质,部分捕捉到了恶意软件和良性软件的区分信息,但都存在着一定 的局限性,不能充分、综合、整体的表示可执行文件的本质。各种类型的特征具有自身的优 势,特征类型间存在着互补,融合这些不同抽象层次的特征可更好的发现软件的真正性质。 此外,由于学习算法的假设是各不相同的,不存在对各种类型问题都最优的学习算法。针对 不同的特征,选择适合的分类算法并不是一项容易的工作。不同的分类算法都存在着归纳 偏置,融合各种学习算法也可发挥各自优势,克服其不足,从而提高分类算法的准确率,降 低误报率,改进分类算法的泛化性能。 集成学习指按照多样和准确的原则产生多个具有独立决策能力的分类器,并按照 某种策略组合这些独立的分类器解决一个同样的问题。在真实情况下,每个分类算法都有 其局限性,都会犯错误,组合多个分类算法将修正单个分类器的错误,降低总体的错误率, 从而有效地提高学习系统的泛化能力。集成学习的原理是专家委员会思想,把具有独立决 策能力的分类器当作专家。在日常生活中进行重要决策前,征询多个专家观点,然后权衡 每个观点,组合这些观点形成最终决策,其中蕴含的哲学思想是"三个臭皮匠,顶一个诸葛 亮"。大量的实验和理论研究显示:集成学习一般比单个学习算法取得更好的分类准确率, 当存在更多样性的基分类器时,提升更明显。严格来说,集成学习并不算是一种分类器,而 是一种分类器组合的方法。集成学习可从多个层次构建,从而产生各具特色的集成学习方 法。图1显示了构建集成学习的四个层次,集成学习可单独在某个层次构建,也可同时在多 个层次构建。 数据层控制提交到学习算法的数据,确保产生足够多样且准确的分类模型。该方 法通过抽样技术操纵训练集生成不同训练子集,不同训练子集用于训练多个基分类器,然 后使用不同的集成策略组合基分类器。这种技术对不稳定的学习算法很有用,特别是训练 数据中微小的变化容易导致分类器输出发生明显的变化的学习算法。Bagging和Boosting 是这种方法最典型的例子。 特征层提取、选择、变换、划分特征,从而产生多样、互补的特征视图。该方法采用 各种技术获得同一数据源的不同特性视图,如构建多种不同的特性表示,将原始特征集划 分为多个特征子集,变换原始单特征视图为多个特征视图等。可用两种不同的方式集成多 个特征视图:(a)在每一个特征视图训练不同的分类模型,组合多个特征视图的输出分类 模型产生最终的分类模型;(b)合并多个特征视图为一个特征超集,然后使用合并后的特 征集训练分类器。总的来说,该方法充分利用了多特征视图和不同分类算法的一致性和互 补性,比单一特征视图方法更有效,具备更好的泛化性能。 分类器层选择基分类器的类型及数量,确定训练基分类器的方式,如迭代方式或 并行方式。该方法构建多样且相对准确的基分类器集合,如使用不同的学习算法训练不同 分类模型,在学习算法注入随机产生不同的分类模型,相同学习算法使用不同的参数产生 不同的分类模型,也可同时使用多个机制。通过对多个分类器进行适当的组合,从而改善学 习算法的准确性。这种方法组合了异质的或同质的分类算法的决策,克服不同算法的归纳 偏置。 集成层确定组合基分类器的方法和策略。该方法可以使用不同的方式来组合基分 类器产生最终的决策。包括Voting、Stacking、Ensemble Selection等。这些方法简要介 绍如下: Voting (投票法) 假设集成学习系统由L个基分类器组成,记作D= (D1,…,DJ ;x是具有t个特征 的实例,记作X e Rt;基分类器需要将实例X分类到C个可能的类别之一,类别集合Ω = {ω1;…,ω。} ;L个基分类器对实例X处理,输出矩阵M = ,p = 1,…,L, q = 1,…,c。 如果mp,qG {〇, 1},当基分类器D p将实例X分为ω q类时,mp,q= 1,否则mp,q= 0。 如果 则实例X将被分到类别COk,这种投票规则称作大多数投票规则(Majority Voting),每个基分类器的权重大小一样,少数服从多数,类别得票数最多的作为分类结果。 如果[0, ILmp q是基分类器Dp对实例X属于类别ω q的支持度,记作Hlp q = P(coq|x,Dp)。如果 则实例X将被分到类别cok,这种投票规则称作平均概率投票规则(Average of Probabilities)〇 Stacking (叠加法) Stacking构造一组同质的或异质的基分类器,基分类器的输出用于训练元分类器 (meta-classifier),元分类器输出最终的分类结果。元分类器可修正基分类器的错误,取 得最小化泛化误差。可以使用任何分类算法训练基分类器或元分类器。Stacking算法的步 骤简单描述如下:(1)数据集划分为三个不相交的子集:训练集、验证集和测试集;(2)在训 练集构建一组基分类器;(3)使用训练好的基分类器分类本文档来自技高网...

【技术保护点】
一种基于多视集成学习的恶意软件检测方法,其特征在于,包括:步骤A:抽取训练样本集,对训练样本集中的可执行文件提取字节码n‑grams特征视图、操作码n‑grams特征视图,以及格式信息特征视图;步骤B:对字节码n‑grams特征视图采用不同的分类算法训练出多个基分类器,构成第一基分类器集合;对操作码n‑grams特征视图采用不同的分类算法训练出多个基分类器,构成第二基分类器集合;对格式信息特征视图采用不同的分类算法训练出多个基分类器,构成第三基分类器集合;利用集成学习方法处理上述三个基分类器集合,得到集成的分类模型;步骤C:从待检测样本集中提取出与上述三种特征视图相应的特征;步骤D:根据提取到的待检测样本集的特征,用所述集成的分类模型对待检测样本进行分类,得到检测结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:王俊峰白金荣
申请(专利权)人:四川大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1