基于数据挖掘的恶意程序智能检测研究
2023-04-15
来源:世旅网
第22卷第1期 2015年2月 JOURNAL OF DONGG UAN UNIVERSITY OF TECHNOLOGY 东莞理工学院学报 Vo1.22 No.1 Feb. 2015 基于数据挖掘的恶意程序智能检测研究 刘晓蔚 (东莞理工学院科研处,广东东莞523808) 摘要:恶意程序的快速繁衍对用户信息安全造成了极大的危害,传统查杀方式的滞后性和不智能性已经 无法满足当前恶意程序检测的需求。研究Windows平台恶意程序新型特征的筛选方法,筛选出恶意程序的新 型特征并结合数据挖掘方法提取恶意程序的智能检测规则,着重介绍了样本数据处理过程和新特征筛选过程, 并使用分类方法对筛选的新型特征做了仿真实验分析。实验结果表明,该恶意程序新型特征有效提高检测的 准确率,降低漏报率和误报率。 关键词:恶意程序;新型特征;数据挖掘 中图分类号:TP3 文献标识码:A 文章编号:1009—0312(2015)O1—0038—05 恶意程序是一个包含恶意攻击的可执行的程序,如破坏系统或非法获取敏感的用户信息 。在恶 意程序检测中,使用数据挖掘技术就是为了能够建立一套自动检测恶意可执行文件的方法。数据挖掘的 检测模式基于海量数据,并使用这些检测模式来检测相似数据 J。设计的检测系统框架是使用分类器 检测新型特征的恶意程序,分类器是一种由数据挖掘算法进行训练的规则集。 当前每天都会产生8—10种新恶意程序,2012年新增木马病毒恶意程序已达到几千万,这些恶意 程序破坏度大,给用户带来了巨大的损失 J。而且很多类型的攻击都使用恶意程序来进行,DARPA检 测评价的攻击中,Windows平台遭受的恶意攻击基本上都是基于恶意程序 。目前,微软发布了基于内 核网络的漏洞,恶意程序可以使用该漏洞打开后门进入微软内部网络窃取各种资料。恶意程序数量呈几 何数增长,给用户信息安全造成了巨大危害。 传统的“获取样本一分析特征一更新部署”方法已无法满足当前查杀病毒的需求 ],为了解决反 病毒软件的各种困扰,设计了一种基于新型特征的数据挖掘技术提取恶意程序的智能化检测规则,该方 法用Windows平台可执行文件格式作为主要特征,抽取执行文件的特征,然后分析并获取恶意程序的新 型特征,使用数据挖掘技术提取检测规则,找出恶意程序的隐性规则,提高准确率。 1 关键技术 1.1 恶意程序 恶意程序分为六类 :病毒、蠕虫、木马、僵尸程序、间谍程序和流氓软件,这六类恶意程序给 用户带来巨大的损失。为了对抗反病毒程序,这些恶意程序具有反调试技术、反虚拟机技术、加壳技术 及对抗安全软件的技术。 1.2数据挖掘 为了应对恶意程序的反检测技术,提高恶意程序检测的准确度,目前用于恶意程序检测的技术种类 众多,其综合性能较好的数据挖掘技术有:神经网络、贝叶斯、支持向量机、决策树和关联规则等 。 但这些技术仍然存在着诸多缺陷,如忽视筛选恶意程序特征方法、无法与客户端检测并且检测的效率较 低。基于此,设计了一种筛选恶意程序新型特征的方法,并在此基础上提取了恶意程序检测的智能规 则,通过该规则可以检测多类恶意程序,并具有通用性。首先提取样本特征,然后对样本特征数据进行 预处理,通过处理结果筛选出新型特征,最后提取智能规则。 收稿日期:2014—10—23 作者简介:刘晓蔚(1978一),女,陕西西安人,讲师,硕士,主要从事计算机应用、分布式数据库、数据挖掘等方面研究。 第1期 刘晓蔚:基于数据挖掘的恶意程序智能检测研究 39 2样本数据处理 2.1样本数据筛选 所研究的源数据采用vx Heavens中的样本数据,从该网站下载PE格式的恶意程序样本25 585个, 其中正常程序数量为4 730个,图1描述了样本数据中各类程序的分布情况。 7 000 6 000 5 000 4 000 3 000 2 000 1 000 病毒木马蠕虫Rootkit下载者 正常 图1样本数据分布表 2.2样本数据标准化 为了获取PE特征,首先对样本特征数据进行提取,提取过程包括:修改PE文件、PE头信息获 取、PE节分析、可疑值和恶意值报告、检测加壳文件五个步骤。本文设计的数据提取方法采用pefile 提供的python库进行实现。样本数据经过提取之后,部分属性会以文本的形式存在,不能被数据挖掘 工具识别,因此必须通过数据字典映射的方式将数据标准化。将样本数据的属性进行取值标准化,如在 描述人口点特性时,通常有无效、有效、模糊三种方式,因此对其以0、1、2分别进行代替;对于是否 异常的情况,对其以0、1进行代替。 2.3样本数据分析处理 由于数据缺值或者噪声的原因,在数据挖掘中会降低准确度,因此在数据标准化之后需对数据进行 清理,目的是保证样本特征数据干净、整齐,使得数据挖掘的结果更加准确,本节针对缺值处理、探测 和清除孤立点对数据进行分析处理。 1)缺值处理。 Windows平台上由于文件完整性被破坏造成的缺值属于非正常缺值,为了删除这些非正常缺值,处 理该非正常缺值数据时采用直接删除法;处理非正常缺值以外的其他缺值不会影响程序的执行,处理该 正常缺值数据时采用统计填充法。 缺值处理算法如下: Foreach Y∈Y Foreach ai E Y If ai E L a.=average(a); If ai∈U delete(ai); 其中,Y为样本集合,y为样本实例,a为y的属性,L为合理缺值集合,U为不合理缺值属性集 合,average(a)为a属性列的平均值。 根据本算法共找出10 372个缺值样本,其中合理的缺值为3 017个,不合理的缺值为7 310个。 2)探测和清除孤立点。 样本数据不可避免的会有孤立点,因此会造成样本数据存在噪声,为消除噪声,使用基于距离和孤 立点检测的方法删除孤立点。该方法对原始样本数据集进行标准化后,计算n个对量两两之间的距离 d 由此形成一个距离矩阵R,如公式1。 东莞理工学院学报 根据距离矩阵R,令P =∑d ,当P 值越大时,说明 对象i与其他的对象距离越远,把P 最大的若干项删除掉, 便清楚掉样本数据的孤立点。 … R={ 【d l …} d J (1) 根据该方法共找出6 224个孤立数据,清楚这些孤立数据 项可保证分类规则的准确性。 由以上两种方法,样本数据集的处理结果如图2所示。 图2处理后的样本数据 3筛选新特征 3.1 删除属性相同的数据和属性间线性相关数据 1)样本数据集经过数据处理后,会存在部分属性值一样的数据,这些数据对分类没有实际意义, 例如每个PE文件都会有“MZ”标志,这部分数据会提升特征复杂度,因此对这部分数据进行直接删 除,降低特征向量维度。 2)线性相关数据分为函数关系和统计关系两类,函数关系表示变量之间数量上的确定性关系,统 计关系表示变量之间的相随变动的某种数量的统计规律性。样本数据集经过数据处理后会存在部分此类 数据,如PE文件头部若标志了一个文件为DLL,则这个文件必然有导出函数,则这两个属性线性相 关。 该算法如下,其中P、q为常数。 //删除属性相同的列 For(a=0;a<i;a++) For(b=0;b<j;b++) If(m b=ma0) Delete—col(a); //删除线性相关列 For(a=0;a<i;a++) For(b=0;b<i;b++) For(C=0;C<j;e++) If(mb =m P q) Deletecol(b); —3.2冗余数据处理 冗余特征消除算法用主成分分析法,该方法将多个变量通过线性变换选出较少个数的重要变量,其 最优性侍从Ⅳ个训练集中提取n个主要特征,从而降维。假设~个d维的原始样本为 。, :,…, 组成一个矩阵X(d n),通过式(2)把x投影到低维空间的向量Y,计算出样本均值 后,通过式 (3)得到协方差矩阵S ,最后通过式(4)计算5 的特征值e 。 Y=W X (2) S =∑( 一 )( 一肛) A e =STe ,i∈[1,Ⅳ) 表 (3) (4) 通过上述方法和SPSS统计软件对样本集的恶意程序特征进行综合评价,得到如表1样本集特征值 第1期 刘晓蔚:基于数据挖掘的恶意程序智能检测研究 表1特征值分析结果 41 由上表,保留主成分系数大于92%并且特征值大于1的特征值,删除其它18个不符合要求的特征 项。经过特征值筛选后,得到41个属性作为恶意程序的新型特征,并且恶意程序的特征向量包括以下 属性:序号、文件名、文件类别、文件头信息、API函数序列、API函数名。其中文件类别使用0、1表 示,0表示正常程序,1表示恶意程序。 4特征评估 为了对筛选后的41个新特征进行评估,验证其有效性,将对本文的新特征进行仿真实验,得出实 验结果,包括准确率、误报率和漏报率。 本文使用的数据集从VX Heavens下载,是经过数据处理后的1 1 955个PE文件信息,并选择Knime 作为数据挖掘平台。Knime的分类工作流程为原始数据经过列的过滤和颜色区分后得到训练集和测试 集,训练模型对训练集和测试集训练后,对预测进行打分,最后得到评估模型。本文原始数据集为1 1 955个数据,包含3 676个正常程序和8 279个恶意程序。如表2所示的几种分类算法的测试结果。 表2特征值评估结果 注:检测结果为误报率/漏报率 图3 Knime生成的智能规则树 42 东莞理工学院学报 j j;2015矩 O 5提取规则 提取规则的目的是为了将正常程序和恶意程序分开,而且需要有较高的检测率和较低的误报率,根 据表2的检测结果,发现使用决策树的c4.5算法可以得到最好的检测效果,因此本文选择C4.5作为 构建分类器的算法,在Knime平台上生成如图3所示的决策树结果,由于结果数据较大,该图仅为部分 决策结果。 6结语 本文将PE文件格式作为主要特征来源,通过筛选新型特征得到了恶意程序新型特征以及可重复利 用的智能检测规则,并通过Bayes、MLP、SVM、C4.5分类方法对其进行的验证,实验结果表明,将该 新型特征应用于分类算法中具有较低漏报率、误报率和较高的检测率,对提高恶意程序检测的效率和准 确率具有重要的作用。 参考文献 刘辉.基于虚拟机的网络计算模型[J].科学技术与工程,2005,16(5):1209—1211 Thuraisingham B.Data mining for malicious code detection and security applicatins[C]//praoc of Europen Intelligence and Security Informatics Conference[S.1_].IEEE Conference Publications,2011. 颜富强,吴吴.一种基于免疫遗传算法的数据挖掘方法[J].科学技术与工程,2008,14(8):3966—3969. 罗文华.基于逆向技术的恶意程序检测方法与研究[J].警察技术,2012(6):26—28. 罗文华.基于逆向技术的恶意程序分析技术[J].计算机应用,2011,31(11):63—64. Masud M M,Khan L,Thurlsiangham.A Hybird Model to Detect Malicious Executables[C]//in proc of the IEEE international onference Oil communication(ICC07).IEEE Conference Publications,2007. 罗文华.基于抽象解释理论抽取多态恶意程序特征码[J].信息网络安全,2013(1):16—18. 李鹏,王汝传.基于自相似特性的恶意代码动态分析技术[J].南京邮电大学学报:自然科学版,2012,32(3):86—9O. 张一驰,庞建民,范学斌,等.基于模型检测的程序恶意行为识别方法[J].计算机工程,2012,38(18):107—110. Farrukh S,Muddassar F.ELF—Miner:using structurl knowlaedge and daga mining methods to detect new(Linux)malicious executables 『J].Knowl Inf Syst,2012,30:189—192. Intelligent Detection of Malicious ExeCutabIes Based on Data Mining LlU Xiao-wei (Scientiifc Reseach Ofifce,Dongguan University of Technology,Dongguan 523808,China) Abstract Rapid Propagation of malicious executables has caused great harm to the security of user information.The lag and non—intelligence of traditional killing methods have been unable to meet the demand of current detection.Studying the new mali— cious detection method on Windows Platform,screening out intelligent detection rules model feature of malicious executables and ex— tracting the new malicious executables detection methods based on data mining,this paper Introduces the sample data processing and feature selection process,analyzing and simulating the new classiifcation method.The result shows that the malicious executables model can effectively improve the detection accuracy and reduce the rate of false negatives and false positives. Key words malicious executables;new feature;data mining