恶意软件检测中的特征选择问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第38卷增刊2009年11月

电子科技大学学报

JournalofUniversityofElectronicScienceandTechnologyofChina

V01.38Suppl

NOV.2009恶意软件检测中的特征选择问题

陈洪泉

(海军大连舰艇学院信息与通信工程系辽宁大连l16018)

【摘要】恶意软件检测问题是一个十分重要的问题,而特征选择的好坏对于恶意软件检测具有决定性的影响。该文提出用有效性,自动性及时空效率作为恶意软件检测中选择的特征好坏评价的基本指标,并讨论了几种恶意软件检测特征选择的分类方法。对目前常见的基于门元序列、基于操作码、基于基本块和基于行为的特征选择方法进行了较为系统的回顾,分析了各种特征选择方法的基本原理,总结梳理了每种特征选择方法的优点和缺点,并对特征选择的效果进行了定性的评估,得出的结论对于选择合适的特征用于恶意软件检测具有积极的参考意义.

关键词基本块;特征选择;恶意软件检测:n元序列;操作码:系统调用

中图分类号TP309.5文献标识码Adoi:10.3969巧.issn.1001.0548.2009.z1.008

FeatureSelectioninMalwareDetection

CHENHong-quan

(DeparmentofInformationandCommunicationEngineerin岛DalianNavalAeademyDalianLiaoningI16018)

AbstractTheperformanceoffeatureselectioniSvimltotheresultofmalwaredetection.Theefficiency.automatization.andtime.spaceemciencyareusedasevaluatingindexestothefeaturesselectedinmalwaredetection.Anoverviewispresentedton・gram-based,opcode・based,basicblock・based,andbehavioral-basedfeatureselectionmethods.Theperformanceofthesemethodsarequalitativelyevaluated.Theconclusionhaspositivereferencesensetoselectedsuitablefeatureinmalwaredetection.

Keywordsbasicblock;featureselection;malwaredetection;n・gramsequence;opcode;systemcaIl

恶意软件检测问题是一个十分重要的问题,恶意软件检测中的特征选择的恰当与否对于恶意软件检测的效果具有决定性的影响。变形和多态技术使得传统的基于短特征串的检测方法已经难以适应当前恶意软件检测的需要。于是,人们提出一些新的特征选择方法以弥补传统方法的不足。

本文对这些新的特征选择方法进行了分析总结,以对恶意软件特征选择的现状进行系统的归纳,为恶意软件检测方案中的特征选择提供参考。

l特征选择的原则

为了能够准确有效的进行检测,在选择特征时应该注意以下3点。

(1)特征的有效性:所选择的特征应该在恶意软件及非恶意软件甚至在各类恶意软件之间能够很好地进行区分。

(2)特征提取的自动化程度:由于各种恶意软件自动生成11:具的出现,恶意软件的产生周期越来越短,靠手工来提取特征已经难以跟上恶意软件产生的速度,因此特征提取的自动化程度越高,越有利于恶意软件的检测。

(3)检测的时空效率:将所选择的特征用于恶意软件检测的时间和空间效率应该要高,在不影响检测准确性的情况下特征的维数应该尽可能地低。

2特征选择方法的分类

对于目前恶意软件特征选择的方法没有明确的分类。通过分析归纳,可以从以下方面进行分类。

(1)基于语法和语义:基于语法的特征选择方法主要考虑可执行程序的语法结构,没有考虑其语义特征。由于恶意软件中混乱技术的使用,基于语法的特征选择方法越来越呈现出一些局限性。因此,当前研究较多的是基于语义的特征选择方法。

(2)基于程序间比较和基于程序运行结果比较:当前大部分特征选择方法的着眼点都是基于程序之间的比较,该方法主要是从某些恶意软件中抽取出

收稿口期:2009—09—15

作者简介:陈洪泉(1977一)。男,硕士。讲师,主要从事网络信息安全方面的研究.万方数据

54电子科技大学学报第38卷

某些特征,对未知程序抽取同样特征与之进行比较,从而计算二者的相似度,来判断未知程序的属性。基于程序运行结果的特征选择方法在文献中出现的较少,但该方法着眼于程序执行对系统资源的影响,直接关注程序运行所造成的结果。因此,该方法最能把握恶意软件的本质,但该方法往往需要动态分析过程来收集程序对系统资源的使用情况。

(3)基于具体特征分类:该方法根据所选择的具体特征进行分类。按照抽象层次从低到高,大体可以分为基于n元序列的、基于操作码的、基于基本块(控制流图)的和基于行为(系统调用)的。当然还有一些其他的方法,但以上3种方法是较为典型的代表。

需要说明的是,上面3种分类方法之间是有交叉重叠的,如基于系统调用的方法中既有基于语法的、也有基于语义的,既有基于程序比较的,也有基于行为结果比较的。因此在分析特征选择方法时,以具体特征为基础,结合其他两种分类方法进行分析。3恶意软件中的特征选择

3.1基于甩元序列的特征选择方法

传统的基于短特征串的方法难以适应恶意软件检测的需要。于是,人们在此基础上进一步分析研究,在文献[1]中第一次提出了基于n元序列的方法,该方法由统计的角度出发,从病毒机器码中自动提取特征。

文献[2】则是从训练程序中得到的n元字节串中选取最频繁的三个序列作为分类的轮廓。然后通过肛1的KNN方法进行分类,来比较两个程序的n元特征之间的距离,从而在恶意软件和非恶意软件之间进行区分,并分别针对三从20~5000和,l从1~10的参数设定进行了交叉验证。从检测结果来看,当L>100,n≥5之后检测结果才能有明显的增加。因此,该方法所提取出的特征的维数是很高的。文献【3]则进一步对L、肛的选择和大数据集的选择结果进行了分析比较。

文献[4】采用了一种不同的方法来选取刀元特征序列。该方法通过计算信息增益选取了前500个丹元字节串作为特征进行检测分析,并使用了逝邻、朴素贝叶斯、支持向量机和决策树等方法,分别用小数据集、大数据集作为训练样本进行了分析比较。

在文献[5]eo,使用了另一种不同的,l元序列特征选择方法,该方法首先对机器码进行扫描,记录每个,z元序列在每个病毒家族中出现的频率,然后针对每个病毒家族构建一个符合频率支持度的特征列表,根据家族内病毒的支持度和家族间病毒的支持度进行最终的n元序列的选取。其目的是将在一个病毒家族中出现较为频繁但在另一个家族中出现较少的特征过滤掉,从而获得更为一般的n元特征序列。并在此基础上区分恶意软件和非恶意软件。

基于n元序列的特征选择是基于语法结构的,其中没有任何的语义因素在内。该过程的自动化程度较高,从文献[1.5】中的检测结果来看,检测的准确率都在90%左右。但该方法所提取出的特征的维数较高,使检测的时空效率受到很大的影响。另外,该方法对经过混乱和多态技术处理过的恶意软件检测的准确性还有待于检验。

3.2基于操作码的特征选择方法

文献[6.7】从统计分布的角度分析了操作码用于恶意软件检测的可行性。

文献[8]则认为操作码较之机器码更代表了程序的行为特征,因此在舍弃操作数的基础上,构造出不包括操作数、仅包括操作码的抽象汇编,并在此基础上使用Apriori算法来发现出现频繁的指令关联作为特征来构建分类器。

文献[9】进一步对采用8元序列、静态指令序列、动态指令序列作为特征的检测方法进行了比较,运用C4.5决策树方法和支持向量机方法进行了分析,从结果来看动态指令序列较之其他方法有更好的效果。

基于操作码的分析较之基于n元序列的分析层次更高一些,但由于其中仍难以涉及到程序的语义特性,因此只能在大量收集恶意程序的基础上进行操作码的频率或其他统计特征来构建检测特征,n元序列方法所存在的局限性在操作码方法中依然存在。

3.3基于基本块(控制流图)的方法

基于基本块的方法往往需要对可执行程序执行反汇编,并在此基础上解析出程序的基本块,直接利用该基本块或者构造控制流图(CFG)来获得程序的一些特征,并通过这些特征来比较程序之间的相似性来判断可执行程序的属性。

文献[101用过程间控制流图来描述恶意代码和主机程序,从而将恶意软件检测问题转化为子图同构决策问题。由于通过混乱可以混淆程序的控制流结构,在进行控制流图比较的时候有一定的局限性。

文献[1l】进一步将一个CFG集合作为恶意软件的特征数据库,该方法采用了一些方法来有效地进行图的约简,这种约简使得对于恶意软件变种的检

万方数据

相关文档
最新文档