版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE4数据挖掘和恶意软件检测黄宗文,167215392016-11-20摘要: 由于计算机网络的发展以及恶意程序编码水平的提高,传统的恶意程序检测技术的不足已经越来越明显,很难满足人们对信息安全的需求。基于行为的恶意程序检测技术是利用恶意程序的特有行为特征来检测程序恶意性的方法,它能很好地检测未知恶意程序。这种恶意程序检测技术可以很好地适应恶意程序逐渐呈现的新特点,无疑具有巨大的优越性和广阔的发展空间,应该在今后相当长时间内代表着恶意程序检测技术的发展趋势。本文介绍了基于静态分析的恶意软件检测,和基于动态行为分析的恶意软件检测,并各自介绍了它们的优劣。关键字:数据挖掘;恶意软件检测;特征提取;静态分析;动态行为分析;分类DataminingandmalwaredetectionAbstract:Withthedevelopmentofcomputernetworkandimprovementofmalwareprogramming,traditionalmalwaredetectionmethodsseemobviouslyinadequate,failingtosatisfytheneedofpeopleforinformationsecurity.Themalwaredetectionbasedonbehaviorisamethodwhichachievesdetectionthroughmakinguseofthepeculiarbehaviorfeaturesofmalware.Itdoeswellindetectingtheunknownmalware.Thismalwaredetectiontechniquecouldbeadjustedtotheemergingnewfeaturesofmalware,whichhasgreatsuperiorityandbroadspacefordevelopmentundoubtedly.Consequently,itcouldbethedevelopmenttendencyofmalwaredetectioninalongtime.Thisarticledescribesmalwaredetectionbasedofstaticanalysis,andmalwaredetectionbasedondynamicbehavioranalysis,anddescribestheirprosandcons.Keywords:Datamining;Malwaredetection;Featureextraction;Staticanalysis;Dynamicbehavioranalysis;Classification随着社会信息化程度的不断提高,工业、国防、教育、金融等社会各行各业的信息越来越依赖于计算机和互联网。然而频繁发生的网络安全事件给人们敲了安全警钟。计算机与网络安全问题正成为人类信息化所面临的巨大挑战,直接威胁着个人、企业和国家的利益。而目前计算机与网络安全的主要威胁隐患之一就是恶意程序。近年来,随着编程技术的普及,恶意程序制作的门槛逐步降低,恶意程序的制作呈现机械化、模块化和专业化特征。在恶意程序灰色产业链带来的巨大利益的驱使下,恶意程序产业正朝着规模化发展。恶意程序的爆炸式增长,在使企业及用户遭受到巨大的经济损失的同时,也给恶意程序分析人员带来了巨大的工作压力。传统的恶意程序分析技术已经远远不能满足新的安全需求。一方面,基于特征码的恶意程序分析技术,需要对每一个恶意程序的特征码进行提取,对于目前每天有成千上万的恶意程序产生的情况,提取特征码的工作量是巨大的且效率不高。另一方面,用户端需要定期的升级最新的病毒库,随着新恶意程序的爆炸式增长,病毒特征库的容量也要大幅增长,长此以往会拖累检测分析系统的速度。因此如何对新的恶意程序样本快速地进行检测和分类,已成为越来越多的专业计算机安全厂商所关注的焦点。1恶意软件和检测的现状近年来,随着编程技术的普及,恶意程序制作的门槛逐步降低,恶意程序的制作呈现机械化、模块化和专业化特征。在恶意程序灰色产业链带来的巨大利益的驱使下,恶意程序产业正朝着规模化发展。从2008年开始恶意程序大规模爆发,每年新增木马病毒等恶意程序数量级从数十万级跃升至千万级。图12003年至2010年间恶意软件的数量增加Fig1Increasedvolumeofmalwarefrom2003to2010自从恶意程序出现以来,恶意程序的检测技术一直是计算机安全领域关注的焦点。根据恶意程序分析工具技术模块不同,恶意程序检测方法通常分为静态和动态方法。在静态方法领域,2001年,在文件二进制特征检测的基础上首次提出了基于数据挖掘的恶意程序检测方法[[[]]MatthewG.Schultz,EleazarEskin,ErezZadok.DataMiningMethodsforDetectionofNewMaliciousExecutables[C].IEEEComputerSociety,2001:38-49.];之后,借鉴入侵检测、恶意程序检测与分类系统设计与实现中的常用方法,越来越多的研究集中在利用数据挖掘方法对恶意程序二进制文件信息进行学习建模,然后将学习到的模型用于未知恶意程序的检测。MihaiChristodorescu在恶意程序静态分析[[[]][[]]MatthewG.Schultz,EleazarEskin,ErezZadok.DataMiningMethodsforDetectionofNewMaliciousExecutables[C].IEEEComputerSociety,2001:38-49.[[]]UsukhbayarBaldangombo,NyamjavJambaljav.AStaticMalwareDetectionSystemUsingDataMiningMethods[J].InternationalJournalofArtificialIntelligence&Applications,Vol.4,No.4,July2013.2004年,J.Xu等人在一次国际会议上的会议论文[[[]]J.Y.Xu,A.H.Sung,P.Chavez,andS.Mukkamala.PolymorphicMaliciousExecutableScannerbyAPISequenceAnalysis[J].FourthInternationalConferenceonHybridIntelligentSystems,2004:42-45.]中提出应用程序的API调用序列大致反映了程序行为。因为应用程序通过API调用获取系统服务和访问系统资源,所以分析API调用可以间接地反映程序的行为。J.Xu等人基于此做了大量行为分析实验后提出了一种新的恶意程序检测方法:通过对比已知恶意程序和未知可疑程序的API调用序列,并对两类API调用序列做相似化度量分析,从而确定未知可疑程序的恶意程度。之后,R.Koike等人利用上述方法开发了一套可以自动检测未知恶意程序行为的系统[[[]]R.Koike,N.Nakaya,andY.Koi.DevelopmentofSystemfortheAutomaticGenerationofUnknownVirusExterminationSoftware[J].inInternationalSymposiumonApplicationsandtheInternet,2007:84-88.]。由德国的曼海姆大学分布式系统实验室开发的CWSandbox是恶意程序行为检测技术发展过程中一个具有里程碑意义的产品,它不仅具有行为捕获能力,而且可以生成检测报告。CWSandbox引入了虚拟机技术,让可疑程序在虚拟环境中运行,从而避免了可疑程序可能造成的潜在危害。并且它采用了APIhook技术提取程序运行过程中API调用序列。CWSandBox论文有一个重要贡献,它清楚的用实验比较了用户态和内核态APIhook的优缺点。内核SSDThook具有很高的检测率,不易被反检测技术侦测到;用户态hook实现简单,具有较强的通用性和稳定性。CWSandBox采用了用户态inlinehook的方式的来采集程序行为特征。CWSandBox实验得知绝大多数恶意程序为了实现大量传播都是直接调用的标准WindowsAPI,因此采用用后台inlinehook的方式不会影响系统检测率。Anubis是一款基于开源模拟器QEMU的优秀的恶意程序行为监控系统,TTAnalyze是其前身。该系统采用了与CWSandbox截然不同的技术原理,在QEMU的虚拟机监控层拦截API调用。该系统有全自动化,无需修改被监控程序源代码,使用全系统模拟器难以被恶意程序分检测等优点。但是Anubis和CWSandBox仅仅是根据系统采集到的API数据生成程序行为报告提供给分析人员参考,并没有对采集到的行为进行深度挖掘。2009年胡永涛等人发表的《Win32环境下恶意代码行为分析实验及思考》[[[]]胡永涛,姚静晶,王国丰.Win32环境下恶意代码行为分析实验及思考[C].第六届中国信息与通信安全学术会议,2009.]文章中,全面总结了Windows平台上[[]]J.Y.Xu,A.H.Sung,P.Chavez,andS.Mukkamala.PolymorphicMaliciousExecutableScannerbyAPISequenceAnalysis[J].FourthInternationalConferenceonHybridIntelligentSystems,2004:42-45.[[]]R.Koike,N.Nakaya,andY.Koi.DevelopmentofSystemfortheAutomaticGenerationofUnknownVirusExterminationSoftware[J].inInternationalSymposiumonApplicationsandtheInternet,2007:84-88.[[]]胡永涛,姚静晶,王国丰.Win32环境下恶意代码行为分析实验及思考[C].第六届中国信息与通信安全学术会议,2009.2恶意软件恶意软件是指在目标计算机上运行的,执行一系列攻击者蓄意安排的攻击操作,可以破坏程序和数据完整性、可用性和计算系统机密性的程序代码和指令集合,传统恶意软件包括木马、病毒、蠕虫和后门程序等。2.1病毒计算机病毒的理论早在1949年被提出。最早的科学定义出现在FrederickCohen的博士论文“计算机病毒实验”中,他将计算机病毒定义为一种形式化的数学模型。简单的说,计算机病毒就是一种可以通过修改别的程序,将自身复制进其中,使其感染,以达到传染目的的计算机程序[[[]]P.Szor,TheArtofComputerVirusResearchandDefense[M].AddisonWeslyforSymantecPress,2005]。计算机病毒传染的特性和生物病毒类似,因此,它被命名为“computervirus”。计算机病毒的最重要特性就是传播性[[[]]P.Szor,TheArtofComputerVirusResearchandDefense[M].AddisonWeslyforSymantecPress,2005[[]]王晓勇.计算机恶意代码传播及防御技术研究[D].西南大学,2007年5月.2.2木马特洛伊木马的名字起源于古希腊传说中的特洛伊战争。它是这样的一种恶意软件:除了良性程序所具有的基本功能外,还有一些不易被发觉的破坏作用。通常它都伪装成一般的无害的程序,并欺骗用户去执行它,从而进行一些隐蔽的破坏行为,比如可以在被感染的机器上打开网络端口,使木马的创建者远程执行命令。和病毒,蠕虫不同的是,木马不会进行自我复制传播。它不需要修改或感染其他程序软件,而是安装一个独立的可执行程序[[[]][[]]R.A.Grimes,Maliciousmobilecode:virusprotectionforWindows[M].Sebastopol,CA,USA:O’Reilly&Associates,Inc.,2001.2.3蠕虫蠕虫是一种能够自我复制传播,并能够通过网络连接将其自身拷贝感染到其他计算机上的程序。蠕虫进入计算机后,一旦被激活,就会像计算机病毒那样开始工作,并寻找更多的计算机来进行感染,并且利用其它被感染的计算机,不断进行扩散。除了传播之外,它还会进行一些破坏活动,对计算机植入木马程序或者执行一些分裂性或者破坏性的活动。蠕虫可以进行网络传播,借助的工具包括电子邮件,远程执行,远程登录等等。另外,它与计算机病毒有一些相似之处,都分为潜伏,传播,触发,执行几个阶段。而与其不同的就是它具备通过网络传播的能力。2.4后门后门是这样一种恶意软件,它允许攻击者绕过正常的系统安全防护机制,通过非授权或者不经过系统登录,就能够获取对系统的远程连接或者控制权限。攻击者在系统上安装后门程序,主要是为了控制系统,为进一步的攻击提供更加便捷的连接操作。2.5RootkitRootkit是这样一种恶意软件,它被安装在系统中,并且可以使攻击者以管理员或root权限访问系统[[[]]双世勇.WindowsRootkit检测方法研究[D].解放军信息工程大学,2005年4月.]。由于管理员权限可以使用操作系统中的任何功能和服务,因此它可以使攻击者完全控制整个系统。并且rootkit对主机的访问或修改操作都以极为隐蔽的方式进行。Rootkit能够通过修改操作系统来隐藏自己,也可以隐藏自己对操作系统进行的修改,或是擦除自己访问系统留下的痕迹。用户无法发现rootkit的存在,也不知道系统被访问或修改过了。根据重启操作系统后是否还能继续工作进行分类,rootkit分为持续的rootkit和基于内存的rootkit。前者在系统每一次启动都会被激活;后者没有持续性,系统重启后就会失效。根据执行模式,rootkit又可被分为用户模式[[]]双世勇.WindowsRootkit检测方法研究[D].解放军信息工程大学,2005年4月.2.6僵尸网络Bots的名字起源于robot。一旦bots感染了某一台计算机,这台计算机就被称为网络僵尸。Bots在被感染计算机上将进行潜伏,而不做任何动作,直到它收到Bots操纵者发出的某种命令。Bots操纵者是同个僵尸网络中,所有僵尸都连接到一个远程的web服务器,如FTP服务器或IRC服务器,它可以对这些网络僵尸发出远程指令。还有一些僵尸网络采用P-2-P的方式工作。僵尸网络往往被用于发起大规模的DDoS攻击,散发垃圾邮件,或者直接盗取被感染机器的敏感信息。商用或军用的僵尸网络会产生更大的威胁,因此出现了黑客出租bots的盈利方式。当前僵尸网络已经成为网络安全领域最具挑战性的问题之一。由于它数量巨大而且分布广泛而无序,给监控和防护带来了很大难度。2.7间谍软件、广告软件Spyware[[[]]雷程炜.间谍软件的隐藏机制及其检测技术[D][[]]雷程炜.间谍软件的隐藏机制及其检测技术[D].电子科技大学,2007年4月.3恶意软件检测恶意软件的检测是恶意软件研究领域的重点问题,在恶意检测之前进行的行为分析只是一个过程和手段,其目的是为了使恶意软件判定的效果更好。在行为分析中,我们已经从恶意软件中提取中信息,并对它建模。在判定过程中,通常的做法是进行特征模型的匹配。比如,对已有的恶意软件集合建立特征库。在对未知软件进行行为分析后,将分析到的特征模型和特征库中的特征模型一一匹配,如果匹配成功,则判定此软件为恶意软件。图2恶意软件检测流程Fig2Malwaredetectionprocess3.1基于静态特征的检测传统杀毒软件进行病毒检测的过程。首先在行为分析时分析程序的二进制序列或者内存镜像,并从中提取特征码,它往往是一段特定的恶意二进制序列,这个恶意序列很少在非恶意程序中出现。通常,这个特定的序列是由反病毒专家人工提取的。也使用一些在静态分析时自动提取特征码的方法进行提取。在进行恶意判定时,我们用这个特定的二进制序列和已有的二进制序列特征库进行串匹配或者正则表达式匹配,如果匹配成功,则判定此程序为恶意程序,否则判定为非恶意程序。图3传统恶意软件检测流程Fig3Traditionalmalwaredetectionprocess样本分为恶意软件样本和正常文件样本,如果应用在反病毒产品中,应获取足够多的具有代表性的训练样本,考虑到只是验证方法的可行性,我们从经过杀毒软件检测无病毒的XP系统windows目录和ProgramFiles目下获取了正常PE文件,从VXHeavensVirus网站下载了恶意软件。静态的信息是指从程序的源代码,程序的二进制执行文件,或者是程序的反汇编码中获取程序信息。静态信息获取的缺点在于静态信息通常是冗余的。恶意软件制作者为了增加恶意软件检测的难度,会在程序源代码中加入很多垃圾信息,使其中的有效信息提取变得更加困难,所以我们在特征提取的时候,我们使用决策树算法,把特征选择算法本身作为组成部分嵌入到学习算法中。去掉冗余的特征,留下比较有代表性的PEheader20个特征和DLL30个特征。表1PE标题的排名最靠前的20个特征的列表Tab1Listofthetopranked20featuresofthePEheader表2通过调用频率列出排名最靠前的30个DLL名称Tab2Listofthetopranked30DLLnamesbycallingfrequency我们使用的数据集是从VXHeavensVirus获得的236756恶意软件和10592个windows良性可执行软件组成共247348个软件的数据集。采用SVM,J48,NB分类器,10倍交叉验证所得的结果。表3各单项及组合特征的系统性能列表Tab3ListofthesystemperformancebyindividualandcombinedfeaturesDR(DetectionRate)=QUOTETPTP+FN×100%FPR(FalsePositiveRate)=QUOTEFPTN+FP×100%OA(OverallAccuracy)=QUOTETP+TNTP+TN+FP+FN×100%TP真正类,FP假正类,TN真负类,FN假负类。表格中显示的结果,决策树分类器效果最佳。3.2基于动态行为特征的检测作者在行为分析[[[]]李剑.恶意软件行为分析及变种检测技术研究[D].杭州电子科技大学,2009年11月[[]]李剑.恶意软件行为分析及变种检测技术研究[D].杭州电子科技大学,2009年11月.图4基于行为分析的恶意软件检测流程Fig4Malwaredetectionprocessbasedonbehavioranalysis图5基于软件虚拟化的行为分析系统架构Fig5BehavioralAnalysisSystemArchitectureBasedonSoftwareVirtualization动态的程序信息获取[[[]]M.ZubairShafiq,S.MominaTabish,FauzanMirza,MuddassarFarooq.PE-Miner:RealtimeMiningof‘StructuralInformation’toDetectZero-DayMaliciousPortableExecutables[J].InformationSecurityResearchGroup,5thFebruary,2009.]是指在程序运行时,捕获程序的运行状态所获得的程序信息。这些运行状态包括程序的CPU执行指令序列,系统调用(systemcall),应用程序接口(API[[]]M.ZubairShafiq,S.MominaTabish,FauzanMirza,MuddassarFarooq.PE-Miner:RealtimeMiningof‘StructuralInformation’toDetectZero-DayMaliciousPortableExecutables
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 抗生素耐药感染怎么办
- 博物馆安全管理制度与流程
- 冷链物流阀门技术方案
- 基于气候变化的水产养殖调控方案
- 高温风险评估与防控方案
- 福山陵园主题活动策划方案
- 地毯清洁制剂产业深度调研及未来发展现状趋势
- 餐饮业人力资源配置方案
- 短期劳动协议范本(2024年度)
- 精准农业设备购置与服务方案
- 2023年FURUNOECDISMultipleChoiceTest古野电子海图题库测试题
- “葫芦丝进初中音乐课堂的策略研究”课题结题报告
- GB/T 28708-2012管道工程用无缝及焊接钢管尺寸选用规定
- GB/T 10822-2014一般用途织物芯阻燃输送带
- GA/T 1629-2019法庭科学血液、尿液中百草枯检验气相色谱和气相色谱-质谱法
- 青少年成才优秀家庭教育-感恩教育主题班会
- 中小学幼儿园师德师风监测台账(对教师)
- 企业新闻宣传工作经验分享课件
- 阅读理解中句子赏析的方法-课件
- 2023年黑龙江交易集团有限公司招聘笔试题库及答案解析
- UPS电源蓄电池更换实施方案
评论
0/150
提交评论