关键词——病毒检测,数据挖掘,控制流图
Ⅰ.简介本文来自辣.文'论,文·网原文请找腾讯3249.114
传统基于特征的病毒检测方法通常通过静态分析来获得,例如病毒的字节序列和特定字符串,并把它们组织成特征集。一个关键技术是:如何以低连接成本和少错误警报的方法生成特征。另一个关键问题是,如何有效地组织特征集以便产出高效的扫描引擎。
为了避免基于特征的检测,病毒设计者往往采用产生混淆的技术,诸如嵌入垃圾代码,代码等效转换,寄存器等效转换和指令等效转换。这些技术能够导致基于特征的检测在一定程度上的失败。加之一个被广泛熟知的事实,基于特征的检测方案不能检测出zero-day病毒。在新病毒出现和特征集更新期间,新病毒能够轻易感染成千上万台电脑。
考虑到传统检测方法的缺陷,许多研究人员致力于找到更为普通的可用于检测零病毒的病毒特征。近来,诸如分类算法的机器学习方法被应用于扩展传统方法的观念并使其自动化。在这些方法中,分类器用来学习二进制代码文件的模型以对未知文件进行分类。一个分类器是一个从给定训练集得来的规则集,这个训练集同时包含恶意和良性文件的例子。
越来越多的研究者把软件系统视为一种人造复杂网络,同时他们提出图论和复杂的系统方法应该被应用于对软件结构和行为的研究[1]。在此论文中提出了一个基于新检测方法的特征图,这些特征提取自由函数和它们在软件结构中的关系所创建的控制流图。与其它特征方法相比,我们的方法运用了软件的内部结构。
我们设计了一个病毒检测模型来证实我们的方法,这个方法使用了新颖的特征来有效地检测恶意PE文件[2]。我们在VX Heavens病毒库中评估了我们提议的模型[3]。我们的研究在一个与病毒数据集协作的病毒实验室里进行,在这里我们收集了超过两千个良性PE文件。我们在这些实验中比较了不同的分类方法。据我们实验,在新型病毒的检测上我们能够达到高达95.9%的检出率和仅5.9%的误报率。
本论文的结构组织如下:第二章节论述相关的工作。第三章节介绍模型架构和特征的系统。评估方法论及结果和有关讨论将在第四章节中呈现。第五章节进行了总结。论文网http://www.751com.cn/
Ⅱ.相关工作
介入从事恶意软件检测的机器学习的任务是确定可执行文件的代表特点。据静态特点的类型,机器学习方法可以被分为不同的模型。
Schultz et al。[4]是第一个将把机器学习方法用于基于他们各自的二进制代码的不同类型恶意软件的检测的想法引进的人。他们使用了三种不同的特征提取方法:Byte-sequence n-grams,系统资源信息特征和字符串特征。与其它的特征相比,其中字符串特征的效果最好,具有97.11%的精确度。字节代码的N-grams被用于J.Zico Kolter et al.[5]。多达3621个文件集合成的一个数据集导致了超过255百万的独特的n-grams。在他们的实验中,推进决策树实现真正的阳性率为98%,所需要的假阳性率为5%。
数据挖掘方法(逻辑回归,神经网络,决策树)被应用于Siddiqui et al。[6]自动地确定关键性的可以将恶意程序与善意程序分类的指令序列。在模型中,程序首先会被反汇编,进而在反汇编得到的文件中提取相应的指令序列。像病毒,木马,蠕虫病毒一类的恶意软件通常被分开独自运行,对这些恶意软件的全面查准率最高可达98.4%。Moskovitch et al。[7]用一个包含超过30,000文件的测试集提供了一个广泛的评估。不同的OpCode-sequence n-grams表征设置和五种类型的分类器产生了达至99%的精确度。
与之前的研究不同的是,我们的工作使用了图表的特征,这些图表同时包括了代码序列和程序控制流的信息。由于我们发现病毒与一些文件结构的潜在语义信息有联系,我们通过提取图表的特征来达到精确的病毒检测。此外,结合对不同类型的恶意软件数据集进行测试我们对该模型的稳定性进行了分析。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页