• 3.28 MB
  • 2022-06-16 12:40:27 发布

移动蜜罐设计与恶意软件分类

  • 78页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
硕士学位论文移动蜜罐设计与恶意软件分类研究生姓名:王冲导师姓名:谢丽霞副教授2016年4月24日 分类号:TP393.09密级:公开UDC:004.9学号:1305028中国民航大学硕士学位论文移动蜜罐设计与恶意软件分类研究生姓名:王冲导师姓名:谢丽霞副教授申请学位级别:工程硕士学科专业名称:计算机技术所在院系:计算机学院论文答辩日期:2016年4月24日2016年4月24日 MobileHoneypotDesignandMalwareClassificationADissertationSubmittedtoCivilAviationUniversityofChinaFortheAcademicDegreeofMasterofScienceByWANGChongSupervisedbyProfessorXIELi-xiaCollegeofComputerScienceandTechnologyCivilAviationUniversityofChinaApril24,2016 中国民航大学学位论义独创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研巧工作及取得的研究成果。尽我所知,论文中不包含其他人円经发表或撰写过的研究成果:,除了文中特别加W标注和致谢的地方外一也不包含为媒得中国民航火学或其巧教育机构的学位或证书而使用过的材料。与我同工作的同志对本研巧所做的任何贡献均H巧论文中作7明确的说明并表巧了谢意。P'.>研巧生签期.#:矜!尋’i中国民航大学学値论义使用援极齊明■!'中圍投航大举^中国科学技术信息研究所、国家图巧馆有权保留本人所送么学位论义的复印件I和屯子义档、。,巧义采用影印缩印或其他复制乎段保存论文本入电子么档的内容和纸质论文的内I容相致C除巧保密期内的保密论义外,允许论义被查阅和借阅),可公布(包括刊營.论文的全部或部分内容),。论义的公布(扣枯N登.巧权中国民航大学研巧生部如理,i''—;'鈔Il研究生签名;長戸f导师签名;舉T口期;i:I;; 中国民航大学硕士学位论文摘要随着移动互联网技术的迅速发展,移动智能终端的安全问题日益突出,移动智能设备应用软件安全问题备受关注。移动智能终端中安卓系统占移动操作系统的绝大部分。由于安卓系统的开放性,安卓市场的各类应用软件层出不穷,安卓系统的恶意软件等安全威胁也不断出现。首先,提出一种诱骗、捕获和分析恶意软件的移动蜜罐(MoblieHoneyPot,MHP)。设计并构造了MHP的环境欺骗、恶意行为捕获、恶意行为分析三个核心模块。仿真实验测试结果表明MHP可以有效捕获安卓恶意软件。其次,提出一种基于文本挖掘的恶意软件分类方法。按恶意软件分类的过程分为四个阶段:代码串提取阶段通过程序脱壳、反汇编,按CFG语法提取结构化的代码串;聚类分析阶段通过对恶意软件代码串向量空间映射转化可建模数据,应用层次聚类算法聚类成恶意软件家族;特征向量提取阶段使用文本挖掘中提取关键字的方式设计的恶意软件家族特征向量提取算法提取特征向量;分类阶段使用MHP捕获未知家族类别信息的恶意软件,对恶意软件提取代码串和特征向量,使用K-NN分类算法对其进行恶意软件家族划分,确定所属的恶意软件家族类别。最后,通过两个实验验证基于文本挖掘的恶意软件分类方法的有效性和准确性。通过基于MHP数据的恶意软件分类实验验证了分类方法的有效性。通过基于数据集的恶意软件分类实验验证了分类方法的准确性。实验结果表明,本文提出的恶意软件分类方法能够准确高效地实现对恶意软件的分类。关键词:移动蜜罐;恶意软件;层次聚类;文本挖掘I 中国民航大学硕士学位论文AbstractAlongwiththewideuseofsmartmobiledevicesandtherapiddevelopmentofmobileInternettechnology,theapplicationofmobileintelligentdeviceshouldbepaidmoreattention.DuetotheopennessofAndroid,wecanfindallkindsofapplicationsinAndroidMarket,atthesametime,manysecuritythreatssuchasmalwareandTrojanappearconstantly.Firstly,thispaperproposesamobilehoneypot,whichcandecoy,captureandanalysismalwaresfortheincreasinglyattacksonmobileintelligentterminals.TheMHPcontainsthreekernelmodulesthatisdecoymodule,maliciousbehaviorcapturemoduleandmaliciousdataanalysismodule.TheexperimentalresultsshowthatMHPcancapturethemaliciousbehavioreffectivelyandissuitablefordeployingonmobileterminals.Secondly,thispaperproposesamalwareclassificationmethodbasedontextmining.Theclassificationprocessmainlycontainsfourstages,codestringextractingstagedecorticateanddisassemblemalwares,extractmalwaresstructuredcodestrings.Usinghierarchicalclusteringalgorithmclustermalwaresintomalwarefamiliesisthesecondstage.Thenweneedtoquantitativeanalysisthemalwarefamilies,andgetthemalwarefamiliesfeaturevector.CalculatingthedistancebetweenthemalwarescapturedbyMHPandthemalwarefamilies.Thenwedividethenearestmalwareintothecorrespondingmalwares’family.Throughtheclassificationprogress,wecanbetteranalyzemalwares’mechanism.Finally,wedesigntwoexperimentstoverifythemalwareclassificationmethod.ThefirstclassificationexperimentisbasedonMHP,resultsshowthatthemethodiseffective.Thesecondexperimentisbasedondatasets,theresultsshowtheaccuracyofthemethod.ThroughtheanalysisofdistancematrixandYoudenindexprovethatthemalwareclassificationmethodcanaccuratelyandefficientlyclassifymalwares.Keywords:Mobilehoneypot;Malware;Hierarchicalclustering;TextminingII 中国民航大学硕士学位论文目录摘要.........................................................................................................................................IAbstract......................................................................................................................................II目录.......................................................................................................................................III第一章绪论...............................................................................................................................11.1研究目的与意义...........................................................................................................11.2国内外研究现状...........................................................................................................11.3论文主要工作...............................................................................................................51.4章节安排.......................................................................................................................6第二章蜜罐及恶意软件分类相关理论...................................................................................82.1蜜罐................................................................................................................................82.1.1蜜罐技术发展历程..............................................................................................82.1.2蜜罐分类..............................................................................................................92.1.3蜜罐中的主要技术..............................................................................................92.2恶意软件......................................................................................................................112.2.1恶意软件发展历程............................................................................................112.2.2恶意软件定义及分类........................................................................................112.3恶意软件分析方法......................................................................................................132.3.0表层分析方法....................................................................................................132.3.1静态分析方法....................................................................................................142.3.2动态分析方法....................................................................................................142.4恶意软件聚类和分类算法..........................................................................................152.4.1聚类算法............................................................................................................152.4.2文本分类算法....................................................................................................162.5本章小结......................................................................................................................19第三章移动蜜罐的设计与实现.............................................................................................203.1移动蜜罐设计..............................................................................................................203.1.1环境欺骗模块设计............................................................................................20III 中国民航大学硕士学位论文3.1.2恶意行为捕获模块设计....................................................................................213.1.3恶意行为分析模块设计....................................................................................223.2MHP的实现................................................................................................................233.2.1环境欺骗模块的实现........................................................................................243.2.2恶意行为捕获模块的实现................................................................................243.2.3恶意行为分析模块的实现................................................................................253.3MHP测试....................................................................................................................263.4本章小结......................................................................................................................28第四章基于文本挖掘的恶意软件分类方法.......................................................................294.1基于文本挖掘的恶意软件分类方法设计..................................................................294.2恶意软件代码串提取..................................................................................................304.2.1程序脱壳............................................................................................................304.2.2反汇编................................................................................................................314.2.3CFG语法提取代码串........................................................................................324.3恶意软件聚类分析......................................................................................................324.3.1特征矩阵构建....................................................................................................344.3.2层次聚类算法设计............................................................................................354.3.3层次聚类算法实现............................................................................................354.3.4恶意软件家族划分............................................................................................374.4恶意软件家族特征分析与提取..................................................................................384.4.1恶意软件家族特征分析....................................................................................384.4.2关键字提取算法................................................................................................394.4.3恶意软件家族特征向量提取算法设计............................................................404.4.4恶意软件家族特征向量提取算法实现............................................................434.5分类器设计..................................................................................................................444.5.1距离计算方法....................................................................................................444.5.2恶意软件家族分类...........................................................................................454.5.3K-NN分类算法实现.........................................................................................464.6本章小结......................................................................................................................47IV 中国民航大学硕士学位论文第五章实验仿真与结果分析.................................................................................................495.1基于移动蜜罐数据的恶意软件分类实验..................................................................495.1.1实验设计............................................................................................................495.1.2实验环境设计....................................................................................................505.1.3实验数据获取....................................................................................................505.1.4实验过程............................................................................................................515.1.5实验结果与分析................................................................................................525.2基于数据集的恶意软件分类实验.............................................................................545.2.1实验设计............................................................................................................545.2.2实验环境设计....................................................................................................555.2.3实验数据获取....................................................................................................555.2.4实验过程............................................................................................................565.2.5实验结果与分析................................................................................................575.3分类器对比分析..........................................................................................................595.4本章小结......................................................................................................................60第六章总结和展望.................................................................................................................616.1总结..............................................................................................................................616.2展望..............................................................................................................................62参考文献...................................................................................................................................63致谢.......................................................................................................................................68作者简介...................................................................................................................................69V 中国民航大学硕士学位论文第一章绪论1.1研究目的与意义随着互联网时代的到来和无线网络覆盖面积的增大,人们越来越依赖移动智能终端。通过移动智能终端人们可以轻松地实现移动互联智慧生活。大量数据表明人们选择使用移动智能终端而非原始的PC机来办公、浏览网页或者上网购物,移动智能终端设备中安卓系统也已经成为全球范围内最具影响力的智能操作系统。安卓系统不仅仅是一款移动终端设备的操作系统,它广泛应用于平板、电视、电脑、数码相机、可佩戴智能终端等设备。Google公司在2007年11月5日正式推出了安卓操作系统,至今已更新多个版本,目前最新版是2015年5月份推出的Android6.0系统[1-2]。安卓系统推出的八年间,大量数据表明,Android操作系统占了全球智能设备的近70%的份额,数据显示每个移动智能终端安装的应用软件从最初的不到30个到现在50多个,也表明安卓应用软件的快速发展。相对于传统的PC机移动智能设备需要更高的安全性和隐私性[3-6],随着用户对智能终端设备依赖性的增加,用户下载和安装很多应用软件,同时应用软件也会带来泄露用户敏感信息等问题。随着移动智能终端应用软件的快速发展,恶意软件数量激增,有必要设计适合移动终端的蜜罐对恶意软件进行诱骗、捕获和分析,通过移动蜜罐的环境欺骗模块构建欺骗性的环境,吸引恶意软件对移动智能终端进行探测、攻击和利用,再通过移动蜜罐的恶意行为捕获模块,捕获恶意软件的端口、内存和权限信息,最后通过移动蜜罐恶意行为分析模块分析捕获到的恶意行为信息。对恶意软件分类是深入分析攻击者的意图和其发动攻击活动的有效手段,一方面通过移动蜜罐捕获到恶意软件,另一方面将已有的安卓恶意软件作为训练样本集,通过聚类分析将恶意软件聚类成恶意软件家族,提取恶意软件家族的特征信息,以此来分类移动蜜罐捕获到的恶意软件。通过对恶意软件的家族分类,有利于研究移动智能终端上恶意软件的更替变化,给用户提供更好的安全使用策略。1.2国内外研究现状蜜罐技术最早用于PC端的安全防御,早期蜜罐工具DTK通过提供欺骗性服务监听1 中国民航大学硕士学位论文网络端口。文献[7]提出了基于蜜罐的主动网络安全系统,该系统搭建在真实的网络环境中,通过构建陷阱网络诱骗黑客攻击并捕获黑客的攻击行为。研究人员设计了全新的路由算法,当黑客攻击时,此算法可以通过转换路由协议,欺骗黑客使其误认为攻陷了真实的网络,但是此方法并不适合在移动端部署。文献[8]提出将蜜罐技术应用到校园网中,设计并实现了一套低交互的微型蜜罐系统,可以部署在校园网的服务器或者主机上。在保证服务器和主机安全的情况下,实现了数据捕获的功能,此方法只适合在校园局域网中部署,并不适合在移动端部署。文献[9]将蜜罐技术与动态取证技术结合,设计了基于蜜罐技术的动态取证系统。从捕获的数据包以及蜜罐系统的日志审计文件中提取信息,恢复还原入侵发生时系统的各项指标及参数。但是动态取证系统容易暴露敏感信息,不适合在移动智能终端部署应用。文献[10]提出将蜜罐技术应用到恶意网址检测上,将蜜罐技术与网络爬虫结合。爬虫获取url源信息,检测网页是否含有恶意代码,并将捕获到的恶意代码存入黑名单。但是恶意代码特征库过大,系统处理时间长,不适合快速对恶意网址做出处理也不适合在安卓移动智能终端部署应用。文献[11-13]中Mulliner等人首次提出将蜜罐技术应用在移动设备上,Wahlishch等人从无线网络的快速发展角度分析了移动蜜罐的发展前景。但是他们提出的蜜罐并不是为移动设备制定,而且早期的移动设备智能程度低没有应用安卓系统。文献[14]指出早期移动蜜罐技术的关注点在移动设备的蓝牙通信方面,早期人们更多使用移动设备的蓝牙功能进行文件传输。随着无线网络覆盖面积增加、智能设备的普及和智能设备之间连通性的提高都为新蜜罐技术的提高创造了环境。文献[15]指出当前移动蜜罐重点在于检测移动设备的恶意软件,但是其提出的蜜罐交互性太低、不适用安卓操作系统而且检测和捕获的恶意软件数量有限。文献[16]提出了Provos开发的蜜罐Honeyd软件,通过构建虚拟网络拓扑结构、模拟网络协议与在协议栈指纹特征上伪装成特定的操作系统,实施对攻击者的欺骗。Honeyd适用于多个操作系统,但是不适用于安卓操作系统,交互性较低,不支持硬件虚拟化。文献[17]中Oconnor提出能够仿真手机蓝牙、GPS和WIFI的虚拟移动蜜罐软件HoneyM。HoneyM由Python语言开发,适用于苹果IOS操作系统,支持软件复用,但2 中国民航大学硕士学位论文是移动蜜罐HoneyM交互性较低且不适用于安卓系统。文献[18]中Collin针对安卓平台,通过硬件的模拟仿真设计移动蜜罐Honeydroid。移动蜜罐Honeydroid交互性较高,可以捕获多种恶意软件,但是Honeydroid存在不支持软件复用、运行时间长、系统效率低等问题。在安卓系统恶意软件分析方面,国内外许多研究人员给出了多种分析方法,分析方法主要有表层分析、静态分析和动态分析三种。静态分析方法是利用静态分析工具提取恶意软件的特征信息。动态分析方法主要是在真实环境或者模拟环境中调试运行恶意软件,分析恶意软件对系统造成了哪些影响。文献[19]针对移动终端恶意软件分析工具做出了一个详尽的调查,对比分析总结出恶意软件的攻击目标,得出恶意软件的攻击目标主要有用户个人信息窃取、商业利益窃取和非法窥探用户隐私等。文献[20]分析总结了安卓恶意应用的安装方式、触发机制等方面的行为和特征,预测了其发展趋势,详细介绍了恶意软件的权限分析方法和现有恶意软件分析方法的不足,但是并未给出新的有效分析恶意软件的方法。文献[21]给出了加强移动智能手机安全方案,设计了移动恶意软件的动态分析系统MSandbox,通过捕获API调用信息分析恶意软件。但是MSandbox系统仅适合Windowsphone手机平台,不适合在Android手机平台安装部署应用。文献[22]设计分析了恶意软件与文件保护模型MAPFS,该模型主要通过钩子技术和文件版本化技术实现,记录一个进程在执行过程中对系统文件做的修改,根据修改记录分析判定恶意软件,同时也可对被恶意软件破坏的文件实施恢复保护。但是该分析方法针对普通的PC平台,为移动智能终端恶意软件分析及文件保护恢复提供了借鉴思路。文献[23]设计实现了Android恶意软件样本分析系统,整体系统涵盖了恶意软件采集模块,恶意软件样本扫描模块,人工分析管理模块和病毒库管理模块。通过该系统可以规范化管理恶意软件样本分析的过程,减少安全研究人员的工作时间和提高安全研究人员的工作效率。但是分析能力有限,缺少有效性评估环节,操作界面不够友好和美观。文献[24]使用的是恶意软件动态分析方法,建立仿真环境来达到实现监控程序运行的目的,此方法虽然可以有效实现对一个移动应用程序的监控分析,但是最大的缺点是必须获得手机的ROOT权限,即在没有获取管理员权限的条件下无法在Android设备上运行。3 中国民航大学硕士学位论文文献[25]指出可以将动态指令流分析技术应用到恶意软件分析中,动态指令流分析技术可以快速定位关键数据,有效分析和识别恶意软件的加密算法,分析流程包括定义特征、采集指令、指令差分分析和结果分析,此方法可以减少要分析的代码个数,当特征指令少的情况下,仍可以有效锁定关键信息,但是该方法没有办法有效分析指令跳转语句多的恶意软件。文献[26]建立了安卓软件动态行为监测系统,该系统通过检测应用软件中的smali代码和在记录日志模块中记录敏感API调用情况,搭建恶意环境触发和诱发可疑应用软件产生恶意行为。文献[27]是恶意软件动态检测方法,通过动态检测沙箱,通过利用虚拟机来模拟智能终端的可疑应用的行为,来监控敏感的API调用情况同时分析恶意行为特点,重点是分析和检测个人敏感信息,发送和接收短信以及网络连接断开和打来等敏感权限。但研究的恶意行为规则还不完善,对新型的DDoS攻击类型的安卓手机恶意软件检测率不高。文献[29]是基于静态分析技术的恶意软件检测方法,实现了基于签名的分析检测系统MSAnalytics,该系统采用了爬虫技术自动收集恶意软件,根据API调用序列生成的三级签名来识别重新装包的恶意软件。但此系统只是针对单一软件进行检测,还不能实现分析多种应用程序,在效率方面也有待提高。文献[30]提出两种恶意软件特征提取方法,第一种特征提取方法是提取恶意软件的函数内操作码,并通过余弦相似度计算不同恶意软件变种之间的距离以此划分恶意软件的类别:第二种特征提取方法是提取恶意软件的函数调用图信息,再计算恶意软件之间的相似度。两种方法都是从函数功能的角度出发,通过比较提取的特征信息计算恶意软件之间的相似度。文献[31]通过从恶意软件的运行机制和工作原理的角度来分类恶意软件,分类和归纳各类恶意软件的特点和机制,并预测了恶意软件的发展趋势。但是该方法收集并分类的恶意软件仅仅是PC端的恶意软件,并且收集的恶意软件版本旧,也为移动端的恶意软件分类提供了思路与方法。文献[32]提出了K临近分类算法,通过舍弃冗余信息降低计算的复杂度,改进了K临近分类算法,提高了K临近分类算法的准确度,但是该算法仅停留在实验阶段,并没有真实应用场景。综上所述,蜜罐技术及恶意软件分类技术涉及到众多领域,目前针对蜜罐技术和恶4 中国民航大学硕士学位论文意软件分类技术国内外有了广泛的研究,研究为移动端的蜜罐技术和恶意软件分类提供了很好的借鉴思路和方法,但是很多方法和思路并不是针对移动端的恶意软件设计和研发的,因此需要设计新的移动蜜罐来捕获移动端的恶意软件,并找到合适的分类方法分类移动端的恶意软件。1.3论文主要工作本文提出将蜜罐技术应用到安卓智能终端,设计和实现移动蜜罐模型,然后提出基于文本挖掘的恶意软件分类方法,将移动蜜罐捕获恶意应用软件和网络收集的恶意软件作为数据源,使用恶意软件家族作为分类的训练集,通过对移动蜜罐捕获的恶意应用软件脱壳、反汇编、提取特征值等步骤对其使用K-NN分类器进行恶意软件家族分类,最后实验证明了方法的有效性和准确性。本文主要研究内容包括:1.移动蜜罐的设计与实现首先,针对安卓移动智能终端恶意软件激增的现状,研究设计并实现移动蜜罐(MoblieHoneyPot,MHP)用于捕获安卓智能平台恶意软件。设计并构造了MHP的环境欺骗、恶意行为捕获、恶意行为分析三个核心模块。设计仿真实验验证MHP的有效性和适用性。2.基于文本挖掘的恶意软件分类方法其次,恶意软件分类是深入分析攻击者的意图和其发动攻击活动的手段,本文提出了基于文本挖掘的恶意软件分类方法,设计了方法的处理流程及主要核心算法。需要将恶意软件转化为文本类的数据,设计了代码串提取方法,通过程序脱壳、反汇编,按CFG语法提取结构化的代码串。然后,聚类分析大量恶意软件生成要划分的类别信息。设计并实现恶意软件层次聚类算法,用该算法生成恶意软件家族。借鉴文本挖掘中提取关键字的方式定义了代码串频率和逆向代码串频率两个核心概念,设计了恶意软件家族特征向量提取算法提取特征向量。分类阶段设计了分类器的距离计算和分类算法,设计K-NN分类算法通过计算欧式标准距离对其进行恶意软件家族划分,确定所属的恶意软件家族类别。3.实验仿真与结果分析最后,设计两个实验用来验证基于文本挖掘的恶意软件分类方法的有效性和准确性。实验一是基于移动蜜罐数据的恶意软件分类实验,测试针对移动蜜罐所捕获的未知5 中国民航大学硕士学位论文类别恶意软件家族的分类效果。考虑到移动蜜罐捕获恶意软件数量有限,设计实验二验证针对数据集的恶意软件分类效果。实验二是基于数据集的恶意软件分类实验,以恶意软件家族为训练集,在恶意软件家族中测试,统计恶意软件家族中的恶意软件分类效果。比较数据集恶意软件的分类结果,计算分类的正确率。1.4章节安排本论文共包括六个章节,具体内容安排如下:第一章:绪论。简要说明课题的研究目的与意义,分析当前国内外的研究现状,说明论文的主要工作和组织结构。第二章:蜜罐及恶意软件分类相关理论。介绍蜜罐技术的发展历程以及蜜罐的分类、蜜罐中的主要技术。介绍恶意软件的定义和分类、恶意软件的发展历程、恶意软件的三种分析方法、恶意软件的聚类和分类算法。第三章:移动蜜罐的设计与实现。提出移动蜜罐模型,移动蜜罐主要分为三个模块:环境欺骗模块、恶意行为捕获模块和恶意数据分析模块。移动蜜罐通过构建欺骗环境诱捕恶意软件发动攻击行为,再通过仿真网络服务、分析系统内存、获取应用权限信息捕获其恶意行为信息,最后通过分析恶意行为应用的意图与特点有效研究其防范策略,有效提示用户移动终端存在的安全威胁,提高用户的安全意识。第四章:基于文本挖掘的恶意软件分类方法。提出将文本挖掘技术应用到恶意软件分类中,通过代码串提取方法提取结构化的代码串,然后使用层次聚类算法将恶意软件聚类成恶意软件家族。之后使用文本挖掘中提取关键字的计算方式设计恶意软件家族特征向量提取算法,给出公式定义、提取特征向量算法流程和代码实现。最后设计分类器,给出距离计算公式和分类算法流程。编程实现了层次聚类算法、恶意软件家族特征提取算法和K-NN分类算法。第五章:实验仿真与结果分析。设计两个实验验证基于文本挖掘的恶意软件分类方法的有效性和准确性。基于MHP数据的恶意软件分类实验验证了分类方法的有效性,考虑到MHP捕获恶意软件数量有限,设计了基于数据集的恶意软件分类实验,实验结果证明了分类方法的准确性高。最后对比分析欧式距离的分类器和欧式标准距离的分类器的分类准确度。第六章:总结和展望。对文章的研究工作进行总结说明,并对未来的研究方向作出6 中国民航大学硕士学位论文进一步的规划。7 中国民航大学硕士学位论文第二章蜜罐及恶意软件分类相关理论2.1蜜罐2.1.1蜜罐技术发展历程传统的安全防御技术主要为防火墙、入侵检测和蜜罐技术。相比入侵检测和防火墙,蜜罐技术可以提供更为主动的防御。HoneynetProject创始人LanceSpitzner对蜜罐的定义是:蜜罐是一种安全资源,它的价值在于被探测、扫描和攻击[33]。蜜罐具有如下的几个独特的优势:第一,数据价值高,访问蜜罐的数据是攻击者发出的,可以认为蜜罐的数据价值比其他方式方法收集到的数据要高很多。第二,蜜罐使用简单,管理员只需要将蜜罐部署在网络上的某个区域,定期记录和分析产生的数据即可。第三,蜜罐技术相对于其他技术资源占用少,蜜罐自身不提供真实服务,因此数据流量比防火墙和入侵检测系统相比少的多。同时蜜罐技术也具有指纹识别、视野有限、风险性高的缺点。蜜罐是可以增加安全性的工具,通过蜜罐可以了解黑客的常用攻击手段和工具。根据P2DR安全模型(如图2-1所示),可以从三方面分析蜜罐的价值。三个方面分别是:防护方面、检测方面和反应方面。图2-1网络安全P2DR模型蜜罐是一种欺骗手段,通过研究人精心布置的漏洞诱使攻击者入侵,从而可以收集并分析攻击者的攻击手段、攻击目的、攻击策略等,更好地获得有价值的研究信息。按时间划分蜜罐技术发展分为三个阶段:第一个阶段,从最初蜜罐技术概念的提出到1998年,“蜜罐”实质上就是被攻击者所攻陷的主机或者被攻陷的系统。第二个阶段,1998年后,一些研究人员开始注意到蜜罐,这个主动安全防御技术。一些欺骗黑客的开源工具被研发出来,例如Cohen就开发了欺骗工具包DTK,Provos8 中国民航大学硕士学位论文研发了著名的低交互蜜罐Honeyd等等。与此同时,商业蜜罐产品也应用到了市场中,同时也存在一个问题就是此时的蜜罐交互程度比较低,比较容易被黑客识别。第三个阶段,2000年后,通过真实的应用程序、真实的操作系统、真实的主机的搭建,将独立的蜜罐纳入到完整的网络中,形成“蜜网”,从而使整个系统具有更好的交互能力、数据捕获能力、分析捕获数据能力和数据控制能力。当前,随着无线网络的快速发展,移动智能设备的安全越来越得到人们的重视,然而对于移动蜜罐的研究目前还较少。2.1.2蜜罐分类蜜罐按照不同的分类标准可以分为不同类型的蜜罐,通常是按照蜜罐的部署目的和蜜罐提供服务的交互性程度分类的。1.按照蜜罐的部署目的可以分为研究型蜜罐和产品型蜜罐[34]。产品型蜜罐提供检测攻击等服务,协助管理者做出正确的快速的响应。DTK、Honeyd、KFSensor、ManTraq等是具有代表性的产品型蜜罐。研究型蜜罐能够监听攻击者使用的攻击工具及攻击方法,捕获击键记录,可以对其行为进行追踪与分析。2.按照蜜罐提供服务的交互程度分为低交互蜜罐、中等交互蜜罐和高交互蜜罐。三种蜜罐之间的安装配置难易程度、设备维护难易程度、信息收集范围大小及交互性程度的差别如表2.1所示。表2.1不同交互度蜜罐比较蜜罐交互度作用部署维护信息量安全风险低模拟简单服务和应用简单有限低中比低交互蜜罐模拟服务中等中等中多,但使用权限受限高给攻击者不受限的访问权较难丰富高获取攻击信息2.1.3蜜罐中的主要技术蜜罐技术最早用于PC端的安全防御,早期蜜罐工具DTK给用户提供监听网络端口,9 中国民航大学硕士学位论文欺骗性服务等。蜜罐主要技术有网络欺骗、端口重定向、报警、数据控制和数据捕获[35]。1.网络欺骗蜜罐本身要发挥其价值必须吸引入侵者对其发动攻击,因此蜜罐需要采用多种欺骗手段。例如,在主机上模拟多种漏洞操作,在一台主机上模拟仿真整个网络,在系统中产生仿真数据和网络流量等。通过网络欺骗技术,使蜜罐更像真实的系统,诱使攻击者上当,对蜜罐发动攻击。2.端口重定向端口重定向技术可以模拟网络系统中一个非工作服务,即不存在的虚拟服务。例如真实环境中运行Telnet(端口23),可以将FTP(端口21)和DNS(端口53)重定向到系统上,而且由于FTP服务和DNS服务在工作系统中并没有打开,所有端口21和端口53的访问(可认为是入侵行为)实际上都在蜜罐系统中,而非真实的工作系统。3.报警蜜罐系统必须具备报警功能,当其被攻击时能够及时通知网络管理员,以便对系统进行实时监视和跟踪。4.数据控制蜜罐是专门给攻击者提供虚拟的、用于被攻占的系统,但是需要保证的是不能允许入侵者将蜜罐系统作为跳板去攻击其他系统,因此要控制系统的数据流量但是同时也需要保证不被入侵者怀疑此系统真实性。例如,一个攻击者攻陷一个系统后,攻击者最需要做的就是链接网络,以便通过网络下载一些需要的工具包,攻击者下载的工具包就是分析研究的重点。因此蜜罐系统必须给攻击者这些权利。5.数据捕获蜜罐的价值在于分析攻击者使用的工具、策略和动机,因此需要在不被发现的情况下,捕获尽可能多的数据,包括击键信息和屏幕信息、输入输出信息等,事先要对系统作一些修改和处理以便捕获数据,改动应该尽量少,以免被攻击发动者发觉。需要注意的一点是,对于捕获的有效数据和信息不能保持在被攻陷的主机上,以防止攻击者发现这是一个精心布置的陷阱,而销毁数据证件等,因此需要将捕获到的有效数据传送给远程服务器,一个安全的主机上保存,即要将数据记录在远程安全的主机。10 中国民航大学硕士学位论文2.2恶意软件2.2.1恶意软件发展历程随着安卓系统市场占有率的提升和移动智能设备的普及,移动终端上的恶意软件呈爆炸式增长,新的恶意软件通常是在旧版本的恶意软件的基础上通过加壳技术和混淆等手段来进行伪装。分析恶意软件家族可以更好地理解此类恶意软件的核心机制和发展历程。随着恶意软件的进化,恶意软件的复杂性和破坏力越来越大。恶意软件的发展历程如图2-2所示,可见随着时间的推移,恶意软件的数量在快速增加,其复杂度和破坏力也在增大。图2-2恶意软件发展历程2.2.2恶意软件定义及分类本文研究的恶意软件是指Android系统下的具有恶意行为的apk,即安卓平台下的恶意应用软件。判定应用软件是否是恶意软件,是根据这些应用软件的行为来判定的,有的应用在未获得用户的许可下非法收集用户的个人隐私,如通话记录、非法读取用户的短信内容等,具有这些行为的应用均是恶意应用。甚至有些应用在伪装后,骗取用户下载安装然后利用软件留下的后门,使用户的移动智能终端遭到非法的远程控制。另一些移动终端apk隐藏关键信息或者强迫引导用户强行安装到移动设备中,并且安装后常11 中国民航大学硕士学位论文常无法正常的删除和卸载,严重侵犯了用户的合法权益[36-44]。可以从攻击目标和行为、分布和感染策略、权限采集等角度对恶意软件进行简单归类,如图2-3所示。恶意软件按照传播策略分为应用软件市场到设备(MarkettoDevice,M2D),应用软件到设备(ApplicationtoDevice,A2D),网页到设备(Web-browsertoDevice,W2D)等。1.应用软件市场到设备(MarkettoDevice,M2D):此种恶意软件的传播策略是基于应用软件市场来传播的,攻击者使用虚假身份上传一个恶意应用到应用市场,用户通过在应用市场下载这个应用并安装此应用而被感染。2.应用软件到设备(ApplicationtoDevice,A2D):此种恶意软件的传播策略是基于应用软件本身的,攻击者可能发布一个特别易攻击的应用软件来促进恶意应用软件的传播。A2D与M2D类恶意软件的主要的区别在与,A2D类的恶意应用软件攻击者不需要通过安装恶意应用本身来达到传播的目的,它是通过用户本身已经安全的良性软件来达到传播和扩散的目的。3.网页到设备(Web-browsertoDevice,W2D):此种恶意软件的传播策略是基于Web页面,与A2D有些相似。但是二者之间的区别在于A2D的传播是受限于用户本身已安装的软件,而W2D则可以通过任何Web页面达到传播的目的。这种攻击类型的恶意软件得到了广泛传播,因为利用了多平台的组件如WebView等工具。4.短彩信到设备(SMStoDevice,S2D):这类恶意软件的传播策略通过短信SMS或者彩信MMS来传播恶意软件的下载链接。5.网络到设备(NetworktoDevice,N2D):这类恶意软件的传播策略是利用漏洞或者设备配置的错误。6.设备到设备(DevicetoDevice,D2D):这类恶意软件的传播策略是基于设备和设备之间的传播。7.云端到设备(CloudtoDevice,C2D):这类恶意软件的传播策略是基于基站或者服务器。8.端口到设备(USBtoDevice,U2D):这类恶意软件的传播策略是基于端口将设备链接到移动智能设备而感染设备。12 中国民航大学硕士学位论文图2-3恶意软件分类图2.3恶意软件分析方法移动智能终端的恶意软件的分析方法大致分为三种,第一种是表层分析方法,第二种是静态分析方法,第三种是动态分析方法。三种方法各有优缺点,在分析恶意软件中相辅相成。从时间消耗和获取信息量的多少角度对三种分析方法进行比较,如图2-4所示。图2-4分析方法对比图可以看出表层分析方法耗费时间最少,获得有价值的信息也是最少的,其次是动态分析方法,最后获得有用信息最多的是静态分析方法,同时也是三种方法中耗费时间最多的方法。2.3.0表层分析方法当捕获移动智能终端的恶意软件后,最简单的分析方法就是根据网络上提供的扫描器、杀毒软件等方式对其进行初步的分析。表层分析方法只能对恶意软件有个大致的了解,得到的有用信息十分有限。通常只能得到恶意软件的类型信息或者是恶意软件的一13 中国民航大学硕士学位论文般性资料等,对深入分析恶意软件的机制和原理帮助有限。2.3.1静态分析方法移动智能设备恶意软件的静态分析方法主要指的是在获取到恶意软件样本后,对恶意软件样本进行脱壳,反汇编等一系列处理方法。静态分析方法和动态分析方法的不同点在于,静态分析方法并不需要运行和调试恶意软件,只需要获得恶意软件安装包即可。安卓恶意软件的反汇编分析工具有IDAPro、Androguard[45]等。经过反汇编后的恶意软件可获得很多文件和源码等有用信息,为深度分析和理解恶意软件的运行,恶意行为的触发提供帮助。本文采用开源的Androguard作为静态分析工具,Androguard的安装和使用方法均可以在其官网上找到,下面主要介绍其几个重要的分析模块。Androguard主要靠六大模块完成分析恶意软件危险级别、查看恶意软件的权限信息和四大组件、展示androidmanifest.xml文件、生成和展示恶意软件的函数调用图等。详细的模块和功能对应如图2-5所示。图2-5Androguard主要模块及实现功能2.3.2动态分析方法安卓恶意软件动态分析方法指的是获得恶意软件后,在安全可控的环境下运行恶意软件,查看恶意软件有哪些非法的操作,给用户带来哪些危害,非法收集用户的哪些信息等。动态分析方法有在Dalvik虚拟机上运行恶意程序,但是无法监控Android的底层14 中国民航大学硕士学位论文代码的调用情况。动态分析方法也有通过建立仿真环境监控恶意软件的运行情况,但是使用此方法的前提是需要获得Android的root权限,即管理员权限。通常情况下,根据静态分析得到的有用信息作为指导,再动态分析恶意软件。2.4恶意软件聚类和分类算法进行恶意软件分类前,需要对收集的恶意软件进行聚类分析,聚类出恶意软件家族类别信息,即分类阶段划分的类别信息。使用静态分析工具对恶意软件反汇编提取恶意软件特征后进行下一步的聚类和分类处理,因此需要研究聚类算法和分类算法,通过分析比较不同聚类和分类算法的特点,找出最适合应用于恶意软件分类的算法。2.4.1聚类算法聚类与分类的不同在于聚类没有事先定义好的类别信息,而是通过聚类算法将相似的元素划分进一个聚簇,分类是将未知类别的恶意软件划分进已有的类别中。本文先通过聚类分析出恶意软件家族信息,再将未知类别的恶意软件分进已有的恶意软件家族中。通常一般的聚类过程包括数据准备、特征选择、特征提取以及近似度计算、数据分组,以及结果有效性评估等步骤。按照不同的标准划分,聚类算法可以分为:基于划分的聚类算法有k-means、k-medioids等,基于层次的聚类算法如HFC[46]等,基于密度的聚类算法如DBSCAN等,还有基于网络的聚类算法如CLIQUE和STRING[47]等。常见的聚类算法分类如图2-6所示。图2-6聚类算法分类图15 中国民航大学硕士学位论文按照聚类中相似性距离计算的不同有基于欧几里得距离的MDS_CLUSTER[48]算法、ACODF算法和GCHL算法等,按照对噪声是否敏感划分有对噪声敏感的K-means算法、K-modes-Huang算法[49]和K-means-CP算法[50]等。本文按照算法产生的年份、相似度计算、聚类形状、对噪声是否敏感等角度,对部分聚算法做出了详细的比较,选取部分代表性聚类算法比较如表2.2所示。表2.2部分代表聚类算法比较算法年份类别相似度计算聚类形状噪声敏感性K-means1967划分方法距离函数超球面敏感K-modes-Huang1998划分方法种类相似性度球形敏感K-means-CP2004划分方法距离函数球形敏感MDS_CLUSTER2007划分方法欧几里得距离任意不敏感Featureweighterfuzzyclusteing2006划分方法欧几里得距离球形不敏感Nearestneighbor1967层次方法距离函数线型不敏感Furthestneighbor1967层次方法距离函数球形不敏感Betweengroupsaverage1967层次方法距离函数任意不敏感2Sequencedataroughclustering2007层次方法SM顺序型不敏感SGC2004密度方法距离函数任意不敏感GCHL2005模型方法欧几里得距离任意不敏感ACODF2004其他欧几里得距离球形/非球型不敏感针对本文研究,需要将恶意软件划分成不同的恶意软件家族,所以选用层次聚类算法。层次聚类算法也可称做树聚类算法,将相似的两个元素合并成一个子节点,最终将所有待聚类的元素合并成为一个树为止。划分后的元素与树的结构类似,再一层一层的划分聚类后的元素,划分成合适的聚簇个数。2.4.2文本分类算法通过静态分析工具提取恶意软件的代码串,将恶意软件转化成了可以处理的文本信息,恶意软件分类问题转化为文本分类问题。文本分类的定义是将文本自动分类到事先定义好的不同的文本类别中,文本分类技16 中国民航大学硕士学位论文术在很多方面都有广泛的应用,如文本检索、信息管理、互联网信息检索、信息的获取、过滤组织等。向量空间模型被广泛地应用于文本分类中,其理论概念是将文本转化为可以计算的向量,向量之间是可以计算距离的,通过计算向量之间的距离判断文本之间的相似度,决定文本的类别归属。在向量空间模型中,应用的最好的算法之一就是K-NN算法。常见的文本分类算法有:决策树、朴素贝叶斯、神经网络、KNN、遗传算法、最大熵等。1.一般情况下的文本分类计算N假设从样本空间中选出n个样本将其分成c类xRj(1,2,3,....,)n定义j1,如果第个样本属于第类ji{(2.1)ij0,否则i=1,2,..c和j=1,2…n则矩阵=()具有如下性质:ijcij{0,1}且ij1(j1,2,....,)n(2.2)i=1设ni表示第i类中所包含的样本个数则nniciij(1,2,...,)(2.3)j1nijxjnj11xiinjxi(1,2,...,)cnjj1ijj1(2.4)Ni其中,xR表示第i类的中心,S()表示为第i类的内差异inni1S()ijij(2.5)jj11n整体类的内差异为:c2(i)SS()()ijxjxi(2.6)i1S()min{S()}(2.7)其中,当c=n时S()取得最小值。17 中国民航大学硕士学位论文2.朴素贝叶斯朴素贝叶斯的分类原理是根据最大的概率值判定样本的归类。设样本空间集合为V,被划分为A1,A2,…An类,满足PA123PAPAPAn1(2.8)假定空间C事件发生,则C事件的发生概率可以表示为:nP()C=PCAPCA(|i1)(|)P()P(|A12CA)P(A2)...P(|CAi)P()Ai(2.9)i1贝叶斯概率表示为:PA()P(|)CAjjP(AC|=)(2.10)jnPCA(|)ii1其应用分类场景如下:假设样本共有i类,记为D1,D2,…Di,E是需要被分类的数据,E用其n个特征值Y表示为E={Y1,Y2,…,Yn},对E的分类判别公式表示为:PEDPD(|)()niiPDE(|)=PD()(|)PYD(2.11)iijiPE()j1对E分类的判定只需找出最大的P(Di|E)值即可,则可判定E的归属类别是Di类。3.K-NNK-NN算法的思路是:根据传统的向量空间模型,将文本内容转化为向量,根据相似度公式计算距离,根据距离判定被测试数据的类别。具体算法流程如下:(1)将文本特征抽象为特征向量并形式化表达DDTWTW(,;,;...;,TW)(2.12)1122nn(2)计算待测文本的相似度:Mwkwjkik1Simdd(,)(2.13)ijMM22wwikjkkk11Di表示被测试的文本的特征向量,Wk表示向量的第k维,M表示特征向量的维数。(3)按照相似度公式,分别计算不同向量之间的相似度,选出相似度最高K个文18 中国民航大学硕士学位论文本。按照如下公式判定每个类的权重:SimxdydC(,)(,)b0iiipXC(,){1dikNN(2.14)j0,other比较不同类之间的权重,将所测文本分配到权重值最高的类。2.5本章小结首先介绍了蜜罐的发展历程、蜜罐的分类和蜜罐中用到的主要技术。然后介绍了恶意软件的定义及其发展历程,恶意软件的三种分析方法:表层分析方法、静态分析方法和动态分析方法。最后介绍了恶意软件分类中用到的聚类算法和文本分类算法,为移动蜜罐设计与恶意软件的分类研究工作奠定基础。19 中国民航大学硕士学位论文第三章移动蜜罐的设计与实现3.1移动蜜罐设计针对移动智能终端平台研究设计并实现移动蜜罐(MoblieHoneyPot,MHP)。MHP通过构建欺骗环境诱捕恶意软件发动攻击行为,再通过仿真网络服务、分析系统内存、获取应用权限信息捕获其恶意行为信息,最后通过分析恶意行为应用的意图与特点研究其防范策略,并提示用户移动终端存在的安全威胁,提高用户的安全意识。根据蜜罐运行的核心机制,本文设计的MHP由三个核心模块组成,分别是:环境欺骗模块、恶意行为捕获模块和恶意行为分析模块。MHP的整体架构如图3-1所示。图3-1MHP架构3.1.1环境欺骗模块设计MHP的环境欺骗模块构造出具有诱骗性的安全资源,吸引恶意软件对其进行探测、攻击和利用。恶意软件的行为特征常常具有共性,如表3.1所示。根据恶意软件的常见行为设计环境欺骗模块。环境欺骗模块的主要实现方式为:真实系统搭建和模拟仿真。真实系统搭建可以较容易地构造出具有诱骗性的欺骗环境,具有较高的交互性;模拟仿真通过第三方应用构造出诱骗性的系统环境,交互性较低。表3.1恶意行为表行为特征子类路径/地址文件操作文件创建、文件删除、文件写、文件读目标文件的路径进程操作进程创建、进程结束可执行文件的路径注册表操作添加表项、删除表项、创建键值、删除键值注册表的路径网络操作数据接收、数据发送IP地址及端口MHP通过模拟仿真网络协议和系统内存的方式构造欺骗环境,达到和真实系统一样的效果。仿真协议负责侦听各个端口的恶意连接,根据各自协议的要求提供对应接口。20 中国民航大学硕士学位论文MHP支持恶意软件传播的多种方式,如:FTP,HTTP和TELNET等。环境欺骗模块中也可以添加更多的协议如HTTPS和SSH。环境欺骗模块处理流程设计如图3-2所示。图3-2环境欺骗模块的处理流程3.1.2恶意行为捕获模块设计恶意行为捕获模块是MHP的重要模块。恶意行为捕获模块由三个线程组成,分别通过监听端口,读取内存和扫描已安装应用软件来捕获恶意行为。线程1通过服务协议的仿真来捕获有安全威胁的应用软件。仿真的服务协议包括FTP、HTTP和TELNET。Android底层使用Linux内核,通过指令获取系统运行中应用的端口号、服务名称等信息,将获取的信息存入模拟服务数据表中。线程2主要捕获DOS攻击。恶意行为捕获模块通过周期访问系统内存,获取内存占用情况,将内存占用信息存入内存使用数据表中。线程3捕获恶意软件的权限信息。通过周期扫描手机已安装的应用程序的权限信息,查看是否有敏感权限,将获取的敏感权限信息存入敏感权限数据表。最后将模拟服务数据表、内存使用数据表、敏感权限数据表中的数据同步到安全威胁数据库。恶意行为捕获模块的处理流程设计如图3-3所示。21 中国民航大学硕士学位论文图3-3恶意行为捕获模块的处理流程3.1.3恶意行为分析模块设计恶意行为分析模块识别、分析可疑数据并定位安全威胁。恶意行为分析模块的数据来源为安全威胁数据库中的模拟服务数据表、内存使用数据表和敏感权限数据表。恶意行为分析模块的处理流程设计如图3-4所示。图3-4恶意行为分析模块的处理流程目前恶意软件一般通过网络协议传播,所以在该模块中通过查询模拟服务数据表确22 中国民航大学硕士学位论文定应用对应的网络端口,排除用户当前的运行的应用软件,判定存在恶意服务的应用。在内存使用数据表中通过查看限定时间内应用程序内存占用情况,判定是否发生DOS攻击。在敏感权限数据表中通过获取应用的权限信息,判定应用是否有恶意权限。最终将分析结果反馈给用户,提高用户的安全意识。3.2MHP的实现在Eclipse环境下使用JAVA编程实现MHP原型系统。Android的4层体系结构如图3-5所示。上一层实现依赖下一层的支持,下一层也为上一层的实现奠定了基础。图3-5Android架构本章设计实现的MHP三个核心模块分别为环境欺骗模块、恶意行为捕获模块和恶意行为分析模块。MHP.severBasis、MHP.core和MHP.judge包分别实现了三个模块的核心功能,MHP模块结构如图3-6所示。图3-6MHP模块结构23 中国民航大学硕士学位论文环境欺骗模块的核心类包括ConnectivityManager、HoneypotProtocol等;恶意行为捕获模块的核心类包括PackageManger、ActivityManager等;恶意行为分析模块的核心类包括ShellcodeHandler、TansferLog等。3.2.1环境欺骗模块的实现环境欺骗模块用HoneypotProtocol类管理仿真协议,ProtocolProcessing类管理仿真协议。环境欺骗的具体实现步骤为:1.通过Android系统提供的ConnectivityManager类获取移动设备目前的网络状态,若移动设备未连接网络则开启网络连接。2.通过Android系统提供的PackageManager类获取已安装的应用程序的名称、PID等,识别系统是否存在目前主流的杀毒软件,若存在则通过Kill-9PID指令强制关闭该应用,构造出欺骗性环境。欺骗环境实现的流程如图3-7所示。图3-7欺骗环境模块实现流程3.2.2恶意行为捕获模块的实现恶意行为捕获模块后台运行三条线程,线程1通过服务协议的仿真来捕获有安全威胁的应用软件,线程2通过读取内存信息捕获DOS攻击,线程3获取应用软件的权限信息。线程1启动时通过调用Android系统提供的PackageManager类获取已安装应用的信息,核心代码如图3-8所示:周期执行cat/pro/net/tcp指令,获取21、23、80端口和对应的UID信息,查询应用程序表确定应用程序对应的包名,将信息传到应用程序表中。24 中国民航大学硕士学位论文线程2通过Android系统提供的ActivityManager.getRunningAPPProcessInfo()获取正在运行的进程ID,再通过ActivityManager.getProcessMemoryInfo()获取相应进程号的内存占用情况,周期性获取进程的内存信息,存入内存使用数据表。线程3通过调用Android系统提供的PackageManger类中的getPackageInfo()函数返回对象的requestedPermission并查看应用程序的权限信息,并将权限信息存入权限信息表中。ArrayListapplicationList=newArrayList();//存储应用程序信息ListinstalledPackageList=getPackageManager().getInstalledPackages(0);/获取已安装的应用程序信息for(PackageInfopackInfo:installedPackageList){MysoftmySoft=newMysoft();mySoft.setPackNamepackInfo.packageName);//存储应用程序的包名mySoft.setSoftNmaepackInfo.applicationInfo.loadLabel(getPackageManager()).toString());//存储名称mySoft.setVersion(packInfo.versionCode);//存储版本号mySoft.setIcon(packInfo.applicationInfo.loadIcon(getPackageManager()));//存储图标applicationList.add(mySoft);//添加到集合中}图3-8恶意捕获模块核心代码3.2.3恶意行为分析模块的实现恶意行为分析模块的实现是通过ShellcodeManager类管理、提取恶意代码的重要参数进而实现恶意行为的分析判定。TansferLog类负责将获取到的安全威胁报告给用户。线程1通过获取用户的任务栈,判断应用是否处于栈顶,若应用处于栈顶,则为正常应用程序;若应用不处于栈顶,则应用为恶意软件。线程2通过Android系统提供的ActivityManager的getMemoryInfo查看相邻时间段应用占用系统内存的变化分析判定是否发生DOS攻击。若短时间内内存占用增长过快则可认定发生了DOS攻击。线程3通过usesPermissionName获取应用权限的详细信息,并与权限信息表中的信息比对分析判定恶意权限。若出现android.permission.READ_LOGS、android.permission.25 中国民航大学硕士学位论文Brick,android.permission.DELETE_PACKAGS等权限,则判定应用为恶意软件。android.permission.READ_LOGS权限读系统底层日志,良性软件运行均不需读系统底层日志而且此权限可以获取移动设备的敏感信息。android.permission.Brick权限能够禁用移动设备,使移动设备变成“砖头”,用户无法对移动设备进行任何操作。android.permission.DELETE_PACKAGS权限允许程序删除应用。恶意行为分析模块的实现流程如图3-9所示。图3-9恶意行为分析模块三个线程3.3MHP测试为验证本文设计的MHP的有效性,构建了如图3-10所示的测试环境。针对提出的MHP模型,采用J2SE技术,设计并实现了MHP。以Android4.0平台为测试环境进行软件行为检测在该环境下部署了移动手机、笔记本计算机、平板电脑等多种无线终端和移动办公设备,在其中的一台GalaxyNexus手机上部署MHP,在一台笔记本的WindowsXPSP3系统中运行多种恶意软件。GalaxyNexus手机的配置如下:CPU:1.2GHzdual-coreARMCortex-A9OS:Android4.2.2Linux内核:3.0.31在测试试验中,通过运行笔记本的恶意软件对部署MHP的手机进行渗透和攻击。在试验过程中,GalaxyNexus手机上的MHP发现并捕获了绝大部分的恶意软件攻击行为。MHP为用户提供了多种服务选择(界面如图3-11所示),用户可以选择如HTTP、Telnet、FTP、敏感授权、DOS攻击发现等多种服务种类。26 中国民航大学硕士学位论文网络图3-10MHP验证实验部署MHP对恶意软件的捕获结果如图3-12所示。由图3-12可以看出,MHP成功地检测到3个HTTP恶意软件、1个Telnet恶意软件,发现1个敏感权限的应用软件。图3-11MHP用户选择服务界面图3-12MHP对恶意软件的捕获结果27 中国民航大学硕士学位论文此外,在研究检测攻击有效性的同时也需要考虑MHP在移动终端上的电量消耗情况,以便能有效利用手机的有限资源,满足移动终端应用的低耗电量要求。使用PowerTuror[51]工具,对MHP、微信、QQ空间、360安全卫士进行了电池电量消耗检测。在1小时内,对上述4个应用软件在同一个GalaxyNexus手机上的电池电量消耗情况进行了检测和记录,得到了几款应用的电池耗电量对比分析结果(如图3-13所示)。从图3-13可见,MHP与其他几款应用相比具有较低的耗电量,表明MHP更加适用于在移动终端部署并应用。图3-13耗电量对比分析3.4本章小结针对移动终端恶意软件泛滥的现状,本章提出一种诱骗、捕获和分析恶意软件的MHP。详细阐述了MHP三个核心模块——环境欺骗模块、恶意行为捕获模块和恶意行为分析模块的处理流程设计、技术实现方法及流程。实验测试表明MHP可以有效地捕获恶意软件并适于在移动终端部署应用。28 中国民航大学硕士学位论文第四章基于文本挖掘的恶意软件分类方法4.1基于文本挖掘的恶意软件分类方法设计对恶意软件分类是深入分析攻击者的意图和其发动攻击活动的有效手段,因此本章提出了基于文本挖掘的恶意软件分类方法,如图4-1所示。按恶意软件分类的过程划分,恶意软件分类分为四个阶段,分别是代码串提取阶段、恶意软件聚类分析阶段、恶意软件家族特征分析与特征向量提取阶段和分类阶段。图4-1基于文本挖掘的恶意软件分类方法恶意软件代码串提取阶段,用于提取结构化的代码串。先将恶意软件脱壳,然后使用反汇编工具Androguard反汇编,按照CFG语法规则提取结构化的代码串。恶意软件聚类分析阶段,用于生成恶意软件家族。首先对特征代码串进行向量空间映射,构建特征矩阵,然后设计实现恶意软件层次聚类算法,最后应用层次聚类算法生成聚类树并划分成恶意软件家族。29 中国民航大学硕士学位论文恶意软件家族特征分析与特征向量提取阶段,使用文本挖掘中提取关键字的方式设计实现恶意软件家族特征提取算法,实现对恶意软件家族特征向量的提取。分类阶段,主要完成分类器的设计,需要考虑样本距离计算公式和分类算法。通过第三章提出的MHP捕获未知家族类别信息的恶意软件,使用代码提取方法提取代码串和特征提取算法提取特征向量,计算与恶意软件家族特征向量之间的距离,通过K-NN分类算法对其进行恶意软件家族划分,确定恶意软件所属的家族类别。4.2恶意软件代码串提取为了让分类更准确,需要从恶意软件中提取程序代码串。代码串提取方法分为以下几个步骤。首先获得恶意软件样本,然后判断恶意软件有没有加壳。加壳是一种常见的对抗反编译的技术,若程序加壳,则进行脱壳处理,若应用程序没有加壳则将应用程序直接反汇编。反汇编后得到源码文件class.dex文件和AndroidManifest.xml文件等信息,可以用反汇编工具Androguard生成源代码的控制流图和函数调用图[52-54],并且AndroidManifest.xml文件可以直接转化为可读的文本xml文件。提取代码结构流程图如图4-2所示:图4-2代码串提取方法流程4.2.1程序脱壳程序加壳是常见的对抗反汇编的技术。当应用程序打包成APK文件包的时候,程30 中国民航大学硕士学位论文序加壳技术就在源程序基础上添加特定的代码或者添加特定的数据,然后对新的文件包进行加密处理。添加的特定的数据和程序可以改变应用程序的运行顺序。通过加壳,应用程序会先运行添加的特定的代码之后再运行源代码。对程序进行脱壳处理前需先判断程序是否加壳,是否加壳的判断采用特征码匹配算法进行。将脱壳工具中的壳整合为特征库集合,从程序的入口开始进行特征码配匹配,若壳匹配成功则提醒分析人员进行脱壳处理,若匹配失败,则说明程序没有加壳,可直接进入下一步程序的反汇编。4.2.2反汇编本文采用开源的反汇编静态分析工具Androguard。反汇编应用程序后输出的有源码、文件配置信息和图片等信息。Androguard是一个开源的分析工具,可以为分析安卓应用软件提供很多静态分析功能和方法。反汇编的第一步是将待处理的应用程序apk的后缀名改为.zip,解压此压缩包并找到class.dex文件。然后将此文件放到解压后的反汇编文件夹中。用命令行切换目录,新目录定位到dex2jar.bat的目录,输入反汇编指令,并找到此目录下新生成的文件,使用查看代码工具打开就可以查看应用程序源码等信息了。图4-3是反汇编APK后的部分源码截图。图4-3程序反汇编后代码截图31 中国民航大学硕士学位论文4.2.3CFG语法提取代码串通过Cresare和Xiang提供的Androguard中的CFG语法[55-58],可有效提取恶意软件代码信息。CFG语法结构如表4.1所示。代码中的指令顺序被控制流中一系列状态符号表示,例如连贯的指令用(B)表示,不确定的交叉点用(I)表示,无条件的绝对的跳转语句用(G)表示,最后返回形式化表达的恶意软件代码串。表4.1Androguard的CFG语法描述类型描述R返回值GGoto语句IIf语句B基本语句块SString类型P0新生成包P1调用包通过上述过程,恶意软件a可用公式(4.1)表示:a=(4.1)其中,ci是一个字符串描述恶意软件a中的代码结构,称ci为代码串,结构如图4-4中的c1,c2,c3,c4,c5所示。显而易见代码串c是具有固定格式的文本数据,|a|表示恶意软件中主要方法的个数。例如c5:B[P1SF1R]可以表示恶意软件中的Class.getField(Stringname)方法。通过Androguard中的代码串提取语法,可以规范表示恶意软件中的方法。代码串例子:c1B[POP1]B[I]B[P1R]B[P1P1I]B[POSP1P1P1]c2B[P1G]|B[F1P1R]c3B[SSF1FOP1SFOSP1P1I]B[SP1P1F1SP1F0I]B[FOP1I]B[FOSP1]B[]B[P1SP1SP1F1SFOP1I]B[FOI]B[FOP1I]B[F1FOP1P1I]B[FOP1I]B[]B[FOP1]c4B[FOI]B[S]B[P1I]B[FOP1]B[I]B[P1FOP1FOP1I]B[FOP1P1I]B[FOP1]B[]B[FOP1FOP1]B[POFOP1SP1FOP1SP1FOP1SP1P1FOP1FOP1S]c5B[P1SF1R]图4-4恶意软件代码串示例4.3恶意软件聚类分析Everit对聚类的定义:将相似的对象划分进一个类簇,类簇与类簇之间的元素是不相似的。通过恶意软件代码串提取、特征代码串选择,构造恶意软件特征矩阵,应用层32 中国民航大学硕士学位论文次聚类算法对恶意软件聚类,过程如图4-5所示。图4-5恶意软件聚类过程聚类用到的恶意软件样本来自网络收集,共收集安卓恶意软件样本2556个。特征代码串选择有两方面因素,一方面通过分析大量的安卓恶意软件,总结了安卓恶意软件常见的12类高风险行为,如表4.2所示。另一方面,恶意软件通过代码串提取方法后可以用一系列代码串c1,c2,…cn表示,找出与高风险恶意行为有关方法的代码串作为恶意软件的特征代码串。将恶意软件特征代码串构成特征矩阵,计算恶意软件之间的距离,通过层次聚类算法将恶意软件聚类成恶意软件家族。恶意软件聚类分析后得到恶意软件家族,各个家族内的恶意软件具有相似的结构和功能。表4.2恶意软件高风险行为序号高风险行为描述1读取、发送短信或彩信、拨打电话类行为2拦截彩短信行为3链接网络或者打开流量行为4Kill进程行为5获取手机IMIE等信息行为6访问、修改和删除用户数据行为7卸载软件行为8获取用户位置信息行为9动态加载类行为10监听手机状态类行为11监听广播类行为12读取日志文件类行为33 中国民航大学硕士学位论文4.3.1特征矩阵构建对恶意软件的特征代码串数据c1,c2,…,cn进行向量空间映射,转化为可以建模计算机可以处理的数据类型。聚类算法中数据通常有两种表示方式,第一种数据表示方式是“对象-属性”的方式,第二种数据表示方式是“对象-对象”的方式。x11xx1f1pxii1xxfip是“对象-属性”表示方法,用于表示n个对象的p个属xxxnn1fnp性。0ss(1,2)(1,3)s(1,n)sss0(2,1)(2,3)(2,n)ss(3,1)(3,2)0是“对象-对象”表示方法。ss0(n,1)(n,2)其中,S(i,j)表示的是元素i,j之间的距离,222S|XX||XX|...|XX|(,)iji1j1i2j2ipjp本文采用第二种“对象-对象”的数据格式。恶意软件样本用字母p表示,特征代码串用c表示,可以构建如(4.2)所示的矩阵。Mccc123cnpdddd11112131nM=pdddd(4.2)22122232npddddmmmm123mn向量中横轴代表是否含有特征代码串ci,若存在该特征,则对应位置上的dij标记为1。若样本p不具备该特征,则dij标记为0。恶意软件样本特征矩阵如(4.3)所示。MalIDc_123cccq1101120100(4.3)31110n011134 中国民航大学硕士学位论文4.3.2层次聚类算法设计层次聚类算法是从底层向上,将每一个恶意软件最初视为一类,计算类与类之间的距离,找到距离最近的两个恶意软件聚为一个新类,当所有的恶意软件合并成一个类簇的时候算法就停止,否则继续执行找距离最近的两个恶意软件,直到合成一个类簇为止。层次聚类算法执行流程如图4-6所示,恶意软件之间的最短距离用dmin表示,循环变量用K表示,距离最近的两个恶意软件前一个用fm表示,后一个用bm表示。图4-6恶意软件层次聚类算法执行流程4.3.3层次聚类算法实现按照图4-6层次聚类算法执行流程,计算任意两个恶意软件之间的距离,找到最短距离并不断更新恶意软件距离矩阵,合并恶意软件为恶意软件家族,具体恶意软件层次聚类算法代码如下所示。//定义层次聚类方法publicvoidclusters(double[][]r,intn,doubledm){//dm为聚类数目阈值intfm=0,bm=0;//fm,bm为恶意软件编号doubledmin=MAX;for(inti=0;ii){if(dmin>r[i][j]){dmin=r[i][j];fm=i;bm=j;}}}}if(dmin>dm){return;}dm.union(dm.find(mx),dm.find(my));//将最小距离所在的行列的软件聚类合并doublea1[]=r[fm];doublea2[]=r[bm];doublec[]=newdouble[n];doublecc[]=newdouble[n];for(inti=0;ifnum){//继续聚类,循环直至聚类个数等于cnumintim=0,jm=0;doubledmin=MAX;for(inti=0;ii){if(dmin>r[i][j]){dmin=r[i][j];im=i;jm=j;}}}}dmin.union(dmin.find(im),dmin.find(jm));//将dmin所在行列样本聚类合并doublea1[]=r[im];doublea2[]=r[jm];doublec[]=newdouble[n];doublecc[]=newdouble[n];for(inti=0;ialist;publicListgetAlist(){returnalist;}publicvoidsetAlist(Listalist){this.alist=alist;}}packagecom.cauc;importjava.util.ArrayList;importjava.util.List;importcom.cauc.bean.F;publicclassMaliceTest{privatestaticListM;privatestaticStringa="a1";privatestaticdoubleccf;privatestaticdoubleiff;privatestaticdoubleI;privatestaticListIArray=newArrayList();publicstaticvoidmain(String[]args){IArray=getIArray();System.out.println("特征向量:"+IArray);}privatestaticListgetIArray(){ListcurIArray=newArrayList();M=initData();if(null!=M){intaNum=0;intbNum=0;intcNum=0;for(inti=0;ibNum){bNum=curbNum;}}if(null!=M.get(i).getAlist().toString()){String[]myAs=M.get(i).getAlist().toString().split(a);cNum+=myAs.length-1;if(M.get(i).getAlist().toString().startsWith(a)){cNum++;}if(M.get(i).getAlist().toString().endsWith(a)){cNum++;}}iff=Math.log((float)M.size()/(1+aNum));ccf=(float)cNum/bNum;I=ccf*iff;curIArray.add(I);}System.out.println("含代码串a的恶意软件家族数="+aNum);System.out.println("Fi中恶意应用代码串出现最多次数"+bNum);//System.out.println(curIArray.toString());}returncurIArray;}4.5分类器设计4.5.1距离计算方法最小距离分类算法的基本原理是:根据已有的恶意软件家族作为数据训练集,通过特征提取算法后得到恶意软件家族的特征向量Vk(K=1,2,…,m),m表示数据集中恶意软件家族的个数。对于MHP捕获到的恶意软件提取代码后的特征向量记为U,则分类问题转化为判定U与V2表示。显然二者之间距k之间的距离问题,距离用符号dk离越小,则表明二者之间越相似。显而易见,距离的计算方法和度量标准是很重要的。44 中国民航大学硕士学位论文国际中通用的三种距离计算方法分别是欧式距离、欧式标准距离和马哈朗距离。1.欧式距离计算公式:2td(UV)(UV)(4.13)kkk2.欧式标准距离计算公式:2t1d(UV)(UV)(4.14)kkkk11其中,,表示元素的方差,i=1,2,…n。knnnn3.马哈朗距离计算公式:2t-1d(UV)(UV)kkkk(4.15)111n其中,,表示元素的协方差,i=1,2,…n。kknn1n比较三种距离的计算公式可以看出,欧式距离不用计算元素的方差与协方差,因此计算量小、计算速度快,但是缺点是准确率不高,分类效果不好。相比之下,欧式标准距离的计算就改善了欧式距离准确率不高的缺点,同时也增加了运算的复杂度,因为需要计算元素的方差。同理,马哈朗距离计算也牺牲了时间复杂度换取了运算分类结果精度的提升。本文的距离计算采用欧式标准距离,即公式(4.14)。要改善分类的精度可以采用采用马哈朗距离计算,同时亦会增加时间的复杂度,考虑到需要快速对恶意软件进行判断,因此本文采用欧式标准距离来计算距离。4.5.2恶意软件家族分类K-NN分类算法是分类算法中一个常见的算法,又被称作最近邻居算法,该算法被广泛的应用在文本分类挖掘。K-NN分类算法中距离的计算采用的是欧几里得标准距离公式,具有易实现、准确性高等优点,但是缺点是处理速度较慢。在对数据进行分类器分类时需要先对数据提取向量,K-NN算法的计算步骤如图4-13所示,K-NN算法如图4-14所示。45 中国民航大学硕士学位论文图4-13K-NN算法计算步骤算法:K-NN分类器算法输入:恶意软件家族样本集向量{v1,…vq}和数据结构ci(M),ff(cM)i,待分类的恶意软件实例a输出:预测的恶意软件家族Fj算法:1foreachcc(M)doi2u[i]=freq(ci,a).iff(ci,M)3end-for4j=argmin{dist(u,vi)}5returnFj图4-14K-NN分类器算法K-NN分类器算法第1-3行表示对待分类的恶意软件通过特征向量提取算法计算其特征向量U,算法第4-5行表示计算待分类恶意软件特征向量U与恶意软件家族V之间的距离,距离采用欧式标准距离公式计算。恶意软件的特征向量计算公式为u[i]=freq(ci,a).iff(ci,M),可以认为恶意软件家族中只有一个软件,因此其ccf值等于freq(ci,a)值。4.5.3K-NN分类算法实现上节给出了分类器的K-NN分类算法的流程,通过计算恶意软件家族的特征向量和待分类恶意软件特征向量之间的距离,按照最小距离分类。其中向量之间距离的计算采用公式(4.13)和公式(4.14),将待分类的恶意软件划分进与其距离最小的恶意软件家族,K-NN分类算法代码如下所示。privatestaticListIArray=newArrayList();//恶意软件家族特征向量privatestaticListnoClassArray=newArrayList();//未分类软件特征向量publicstaticvoidmain(String[]args){//准备样本集测试数据-恶意软件家族的集合M=initData();//准备测试数据集N=initDataNoClass();46 中国民航大学硕士学位论文IArray=getIArray(M);System.out.println("恶意软件家族特征向量:"+IArray);noClassArray=getIArray(N);System.out.println("未分组软件特征向量:"+noClassArray);ClassDiv(IArray,noClassArray,M);//分类}privatestaticvoidClassDiv(ListiArray,ListnoClassArray,ListM){if(iArray==null||noClassArray==null){return;}for(inti=0;idistArr=newArrayList();//step1:计算向量之间的距离doublemultSumVal=0;//默认分子积和默认值doublesquaA=0;//默认分母平方和doublesquaB=0;//默认分母平方和doubledist=0;for(intj=0;j=distArr.get(k)){minDis=distArr.get(k);x=k;}}System.out.println("最小距离"+minDis);System.out.println("最小距离下标"+x);}//step3:输出分类结果,上面求出了最小距离和最小距离的下标。因为是链式存储形式,下面可以根据最小距离的下标去取得对定的恶意软件家族,从而进行归类FclassF=M.get(x);//软件家族邻居System.out.println("分类结果为:"+classF.getName());}}4.6本章小结本章详细阐述了基于文本挖掘的恶意软件分类方法设计,详细描述了代码串提取、聚类分析、特征向量提取和软件分类的四个核心步骤的设计和程序实现。代码串提取首先对恶意软件脱壳,使用反汇编分析工具Androguard反汇编按照CFG语法得到固定结47 中国民航大学硕士学位论文构的代码串,聚类分析通过层次聚类算法将恶意软件聚类成恶意软件家族。然后在特征向量提取阶段中分析恶意软件家族的特征,提出了将文本挖掘技术用于提取恶意软件家族特征向量,设计了恶意软件家族特征向量提取算法。在分类中给出了K-NN分类器的中的距离计算公式和算法流程。编程实现了层次聚类、特征向量提取和K-NN分类三个核心算法。48 中国民航大学硕士学位论文第五章实验仿真与结果分析为了验证本文提出的恶意软件分类方法的有效性和准确性,通过基于移动蜜罐数据的恶意软件分类实验验证本文分类方法的有效性。由于移动蜜罐捕获恶意软件数量的有限性,通过基于数据集的恶意软件分类实验验证本文分类方法的准确性。5.1基于移动蜜罐数据的恶意软件分类实验5.1.1实验设计按照分类系统的一般模型将基于移动蜜罐数据的恶意软件分类实验分为两个部分,分别是规则生成模块和分类决策模块。规则生成模块用训练集生成分类标准,分类决策模块用于测试移动蜜罐捕获的恶意软件分类结果。网络收集安卓恶意软件,将这些恶意软件作为规则生成模块中的训练集,通过4.1节设计的基于文本挖掘的恶意软件方法对其进行处理。图5-1基于移动蜜罐数据的恶意软件分类实验流程首先对训练集中的恶意软件使用代码串提取方法进行预处理,再对恶意软件聚类分析,将恶意软件聚类成恶意软件家族。然后使用4.4节设计的恶意软件家族特征提取算法分别提取训练集中恶意软件家族的特征向量。分类决策模块应用MHP捕获和收集安卓恶意软件,实验收集大小不同的四个小数据集,对移动蜜罐捕获的恶意软件进行类似的处理,得到其特征向量。最后计算训练集和测试集中特征向量之间的距离,通过K-NN49 中国民航大学硕士学位论文分类器进行恶意软件家族分类。整个实验流程如图5-1所示。5.1.2实验环境设计实验环境配置如下:1.硬件环境配置:两台高性能主机作为恶意软件代码串提取和特征向量提取平台。一台服务器和一台交换机,一部GalaxyNexus智能手机和一部华为平板电脑。2.软件环境配置:主机一操作系统选择WindowsXPProfessionalSP3版,主机二操作系统选择Ubantu,两台主机上分别安装反汇编静态分析软件Androguard,用于代码串的提取。GalaxyNexus智能手机采用Android4.2.2系统,平板电脑采用Android4.0系统,上面分别运行MHP,用于捕获安卓恶意软件。3.实验环境如图5-2所示。网络图5-2实验环境5.1.3实验数据获取实验数据集包括两部分,数据集一是恶意软件样本集,恶意软件来自网络收集,共收集2556个安卓恶意应用软件,通过聚类分析划分成恶意软件家族。数据集二是本文第三章设计实现的MHP捕获到的未知家族类别的安卓恶意软件,按恶意软件的数量的不同分为四个小数据集,恶意软件数量分别是5、10、50和100。将数据集中的恶意软件通过第四章4.2节代码串提取方法进行预处理,得到代码串文本信息。实验数据样本构成如表5.1所示。50 中国民航大学硕士学位论文表5.1实验一数据构成名称来源恶意软件数量恶意家族数量代码串总数数据集一网络收集2556聚类分析后定124859数据集二移动蜜罐MHP5/10/50/100未知78/133/369/7435.1.4实验过程按照5.1.1节实验设计,进行如下步骤的实验验证。步骤一:恶意软件聚类分析阶段。对数据集一中的恶意软件按照4.3节方法进行聚类分析,比较划分成不同数目时恶意软件家族的正确率,找到最合适的家族个数。具体操作如下:1.按公式(4.3)构建恶意软件特征矩阵。2.运行clusters.java对恶意软件聚类,多次实验设定聚类数目阈值分别为125、126、127、128、129和130。步骤二:特征向量提取阶段。对步骤一得到的恶意软件家族和移动蜜罐捕获到的恶意软件应用特征提取算法提取特征向量。具体操作如下:1.建立文档存储代码串信息,按照家族/软件/代码串格式存储。例如F1/apk1/c表示第一个恶意软件家族中的第一个恶意软件apk通过代码串提取后得到的代码串文件。2.新建文件夹~/Freq,运行程序ccCount.java。程序的输入是上一步中存储代码串信息,程序ccCount.java运行结束后产生新文件分别记录每个恶意软件家族中的恶意软件apk中每个代码串出现的次数。3.计算每个家族代码串的ccf*iff值,文中4.4节给出了ccf*iff值的计算公式和计算步骤。4.对各个代码串的ccf*iff值从大到小排序,把最大的n个代码串对应的ccf*iff值输出到文件~/features中,构成恶意软件家族的特征向量。步骤三:分类阶段。以恶意软件家族为分类标准,计算MHP捕获到的恶意软件与其的距离,将恶意软件划分到对应距离值最小的家族。具体操作如下:1.新建待分类文件unclassify,内容为MHP捕获到的恶意软件的代码串。2.对待分类恶意软件运用ccCount.java程序,计算出unclassify文件中代码串出现51 中国民航大学硕士学位论文的次数。3.对unclassify文件运行恶意软件家族特征向量提取算法,得到其特征代码向量。4.运行Knn.java程序,计算unclassify中的向量与训练集中的向量的距离,判断恶意软件所属恶意家族类别。5.1.5实验结果与分析实验过程的步骤一对收集到的2556个恶意软件样本聚类划分,共得到128个恶意软件家族。恶意软件家族划分结果如表5.2所示。F_ID表示恶意软件家族的序号,F_NAME表示恶意软件家族的名称,F_NUM表示恶意软件家族中恶意软件的数目。表5.2恶意软件家族表F_IDF_NAMEF_NUMF_IDF_NAMEF_NUMF_IDF_NAMEF_NUMF_IDF_NAMEF_NUMF1AccuTrack13F33DroidKungFuSapp3F65Jsmshider2F97SMSpacem8F2Ackposts4F34DroidSheep6F66Kidlogger4F98SMSreg27F3Acnetdoor5F35Extension7F67KMIN7F99SMSCatcher27F4ADRD22F36FaceNiff11F68KSapp24F100SMSpy2F5Adsms2F37FakeAngry3F69LeNa9F101SMSsniffer7F6AnServerBot198F38FakeDoc22F70Loicdos7F102Sndapps10F7Antammi17F39FakeFlash7F71Lovertrap23F103SpamBot23F8BaseBridge295F40FakeInst123F72Luckcat36F104Spitmo3F9BaseServer6F41FakeNefix34F73Maisterler12F105SPPush7F10BeanBot8F42FakePlayer63F74Mania12F106SpyBubble10F11BgServ21F43FakeRegSMS3F75MarketPay17F107Spyoo12F12Biige7F44FakeTimer17F76MobileSpy7F108Ssucl13F13Booster33F45Fidall6F77Mobinauten7F109Steek4F14Boxer34F46Finspy7F78Moghava8F110Tapsnake2F15CruseWin2F47Fjcon3F79Nandrobox11F111Tascudap4F16Curberp7F48Foncy11F80Netisend13F112Tetus2F17Cuwitt11F49Flexispy11F81Nickispy14F113TigerBot7F18CellSpy47F50Foncy13F82OpFake17F114Tonclark2F19Coogos9F51Fokange3F83PDAspy9F115TGloader3F20CopyCat17F52Gamex2F84Penetho13F116Typstu7F21Cosha3F53Geinimi79F85Pjapps45F117UpdtBot13F22Counterclank5F54GTracker3F86Planton11F118UpdtKiller6F23Crusewind41F55GingerMaster4F87Placms46F119Uxipp7F24Dogowar9F56GoldenEagle3F88Qicsomcs9F120Vdloader2F25Dougalek2F57GoldenDream47F89Raden3F121Walkinwat3F26DroidDeluxe12F58GoneIn60Senconds7F90RootSmart13F122YZHC2252 中国民航大学硕士学位论文续表5.2恶意软件家族表F27DroidDream49F59GPSSMSSpy7F91RogueLemon2F123Zeahache4F28DroidDreamlight46F60HippoSMS4F92RougueSPPush9F124ZergRush11F29DroidKungFu132F61HongToTou11F93RuFraud4F125Zitmo2F30DroidKungFu229F62Iconnosys27F94Saiva3F126Zsone12F31DroidKungFu332F63Imiog12F95Scavir7F127ZjSMSHider16F32DroidKungFu472F64Jifake31F96SeaWeth3F128zHash11恶意软件使用层次聚类算法聚类成恶意软件家族,层次聚类算法的准确性测试在于评估和验证聚类的准确性。对数据集一中的2556个恶意软件样本进行聚类,通过聚类算法中不同阈值的设定,多次实验聚类成不同恶意软件家族数,比较分析家族数目不同时的聚类准确率。测试结果如表5.3所示,恶意软件家族数目用K表示。结果显示当聚类成128个恶意软件家族时准确率最高。表5.3不同家族数聚类准确率统计家族数K=125K=126K=127K=128K=129K=130结果错误率9.15%8.76%6.37%4.28%7.24%10.12%准确率90.85%91.24%93.63%95.72%92.76%89.88%实验过程的步骤二为恶意软件家族特征向量提取,从数据集一选择了BeanBot恶意软件家族,家族中有8个恶意软件,此类恶意软件可以在用户未许可的情况下自动发送短信和被攻击者远程控制移动智能终端。以最原始的BeanBot恶意软件为基准,计算后续7个变形的恶意软件的代码串匹配数和特征值,来验证特征提取算法。BeanBot家族恶意软件匹配情况和特征值的计算结果如表5.4所示。表5.4BeanBot变种匹配及特征值结果恶意软件名称代码串总数代码串匹配数特征值BeanBot6210---BeanBot.131270.79BeanBot.210780.88BeanBot.319780.78BeanBot.485690.81BeanBot.546100.82BeanBot.6819100.81BeanBot.7121110.77实验过程的步骤三以恶意家族为训练集,对MHP捕获到未知类别恶意软件进行分53 中国民航大学硕士学位论文类,对未知类别恶意软件的分类结果如表5.5所示。由表5.5可知,当MHP捕获的恶意软件数量为5的时候,恶意软件家族分类结果为:2个恶意软件被划分进序号为32的家族,对应表5.2即DroidKungFu4恶意软件家族,1个恶意软件被划分进序号为F10的BeanBot家族,1个恶意软件被划分进序号为F55的GingMaster家族和1个恶意软件被划分进序号为F67的KMin恶意软件家族。实验结果表明基于文本挖掘的恶意软件分类方法具有有效性。表5.5基于移动蜜罐数据的恶意软件家族分类结果MHP未知恶意软件数量恶意软件家族分类结果5F10、F32(2)、F55、F6710F1、F8、F13、F14、F27、F32(3)、F12250F1(5)、F8(3)、F13(7)、F14(2)、F32等100F1(7)、F3、F4(3)、F8(17)、F21、F32等5.2基于数据集的恶意软件分类实验5.2.1实验设计由于移动蜜罐捕获的恶意软件数量有限,为了更全面地测试恶意软件分类方法,设计基于数据集的恶意软件分类实验。与基于移动蜜罐数据的恶意软件分类实验结构类似,实验设计如下:将恶意软件家族划成大小大致相等的两个集合,记为恶意软件家族集合A和恶意软件家族集合B,任意的一个作为训练集生成分类标准,另外一个作为测试集验证分类器的分类正确率,实验以集合A为训练集,集合B为测试集。按照恶意软件的分类方法进行实验,基于数据集的恶意软件分类实验流程如图5-3所示。54 中国民航大学硕士学位论文图5-3基于数据集的恶意软件分类实验处理流程5.2.2实验环境设计实验环境配置如下:1.硬件环境配置:两台高性能主机作为恶意软件代码串提取和特征分析与提取平台,一台高性能主机作为分类平台,一台服务器和一台交换机。2.软件环境配置:主机一操作系统选择WindowsXPProfessionalSP3版,主机二操作系统选择Ubantu,两台主机上分别安装反汇编静态分析软件Androguard,用于代码串的提取,主机三操作系统选择Windows7Professional,用于运行分类处理程序。3.实验环境如图5-4所示。网络图5-4实验环境5.2.3实验数据获取实验数据全部来自网络收集,将恶意软件家族表即表5.2中的恶意软件大致均分成55 中国民航大学硕士学位论文两个集合,记为恶意软件家族集合A和恶意软件家族集合B,二者都包含了128个恶意软件家族,实验数据构成如表5.6所示。表5.6实验数据构成名称来源恶意软件数量恶意家族数量代码串总数恶意软件家族集合A网络收集127412861401恶意软件家族集合B网络收集1282128634565.2.4实验过程与5.1.4节实验过程的不同在于不需要进行恶意软件聚类分析,实验数据是聚类后的恶意软件家族。按照5.2.1节实验设计,需要进行恶意软件家族特征提取和分类两个过程,分为两个步骤。步骤一:恶意软件家族集合A特征向量提取阶段。具体操作如下:1.建立文档存储恶意软件家族集合A的代码串信息,按照集合名/家族/软件/代码串格式存储。例如A/F1/apk1/c表示恶意软件家族集合A中的第一个恶意软件家族中的第一个恶意软件apk通过代码串提取后得到的代码串文件。2.新建文件夹~/Freq,运行程序ccCount.java。程序的输入是上一步中存储代码串信息,程序ccCount.java运行结束后产生新文件分别记录每个恶意软件家族集合样本中的恶意软件apk中每个代码串出现的次数,恶意软件家族Fi中的不同恶意软件所有代码串的集合FCC(Fi),恶意软件家族Fi中的不同恶意软件相同代码串集合CCC(Fi)等静态指标。3.计算每个家族代码串的ccf*iff值,文中4.4节给出了ccf*iff值的计算公式和计算步骤。4.对各个代码串的ccf*iff值从大到小排序,把最大的n个代码串对应的ccf*iff值输出到文件~/features中,即为恶意软件家族A的特征向量。步骤二:分类阶段。以步骤一中的恶意软件家族集合A为分类标准,计算恶意软件家族集合B捕获到的恶意软件与恶意软件家族集合A中的距离,将恶意软件划分到对应距离值最小的家族。具体操作如下:1.新建待分类文件unclassify,内容为恶意软件家族集合B的代码串。2.对待分类恶意软件运用ccCount.java程序,需要修改相应参数,计算出unclassify文件中代码串出现的次数。56 中国民航大学硕士学位论文3.计算每个家族代码串的ccf*iff值,文中4.4节给出了ccf*iff值的计算公式和计算步骤。4.对各个代码串的ccf*iff值从大到小排序,把最大的n个代码串对应的ccf*iff值输出到文件~/features中,即为恶意软件家族集合B的特征向量。5.运行Knn.java程序,计算unclassify中的向量与训练集中的恶意软件家族A向量的距离,判断恶意软件家族集合B所属恶意家族类别。5.2.5实验结果与分析实验步骤一后得到各个恶意软件家族的代码串数量,恶意软件家族中应用软件的Avg{|c|}和Agv{R(a)||}值,以及各个恶意家族的|FCC(Fi)|,|CCC(Fi)|,|FDCC(Fi|M)|等静态分析指标。部分恶意软件家族静态指标计算结果如表5.7、表5.8所示。表5.7部分恶意软件家族静态指标序号家族名称恶意软件数量Avg{|CC(a)|}Avg{R(a)}1AccuTrack13820.532BgServ214160.593CellSpy473020.544DroidKungFu4968720.585Extension71130.466FakeTimer173650.407GoldDream472230.648HongToTou1111600.589Iconosys27330.5710Ksapp245010.5311Pjapps45650.71表5.8部分恶意软件家族静态指标序号家族名称恶意软件数量|FCC(Fi)||CCC(Fi)|1AccuTrack134113102BgServ212724233CellSpy472545174DroidKungFu49619092585Extension72081616FakeTimer175373377GoldDream472471538HongToTou115021139Iconosys272623810Ksapp2432695711Pjapps451834957 中国民航大学硕士学位论文实验步骤二对恶意软件家族集合A和恶意软件家族集合B进行分类验证,得到的实验结果如表5.9所示,分析表5.9可知在单个恶意软件家族中分类算法有效性和准确性良好,128个恶意家族中只有7个家族出现了分类错误的情况,而且出现错误的数量较少,整体看分类的正确率达94.53%,实验结果表明恶意软件分类方法正确率高。表5.9基于数据集的恶意软件家族分类测试结果名称恶意软件家族数分类错误家族数分类正确家族数分类错误家族BaseBridge、恶意软件1283125DroidDream、家族集合ADroidKungFu2DroidKungFu3恶意软件1284124DroidKungFun4家族集合BPlacmsGoldenDream采用混淆矩阵对恶意软件家族的分类结果即表5.9进行分析。混淆矩阵用于比较真实预测的家族类别和分类结果,矩阵中每一行代表了预测的类别,每一行之和代表了该类的样本数目,每一列总数则表示该类即恶意家族中的恶意软件数目。从恶意软件家族分类混淆矩阵即图5-5中可以看出,恶意软件家族F1是AccuTrack恶意软件家族,共有13个恶意软件,分类均正确无误。恶意软件家族F8是BaseBridge恶意软件家族,共有295个恶意软件,其中291个被正确的分进BaseBridge家族,4个恶意软件被错误的划分进序号为F57的GoldenDream恶意软件家族。同理从恶意软件家族混淆矩阵可以看出GoldenDream恶意家族中共49个恶意软件,3个恶意软件被错误的划分进序号为F31的DroidKungFu3家族,1个恶意软件被错误的划分进序号为F128的ZHash家族。序号为F30的DroidKungFu2恶意软件家族共有恶意软件29个,其中2个恶意软件被误分进序号为F32的DroidKungFu4家族中。序号为F31的DroidKungFu3家族共有32个恶意软件,其中的3个恶意软件被误分进DroidKungFu4家族中。序号为F32的恶意软件家族DroidKungFu4共有72个恶意软件,其中3个恶意软件被误分进序号F30的DroidKungFu3家族,另外3个被错误分进序号为F27的DroidDream恶意软件家族。共有4+3+2+4+6+4+1=20个恶意软件的家族分类错误,128个恶意软件家族中7个家族出现错误分类。恶意软件家族分类正确率为达94.53%,说明分类器分类效果较好。58 中国民航大学硕士学位论文实际家族预测家族F1F8F27F30F31F32F57F128F1130000000F80291000040F27004503001F30000270200F31000029300F32003036600F57040000430F128001000010图5-5恶意软件家族分类混淆矩阵为了更好的分析恶意软件的分类效果,采用Youden指数衡量分类器的正确率,Youden指数越范围是0-1,指数值越接近1代表其分类正确率越高。为了实验的客观性,需重复多次实验,并与距离采用欧式距离的分类器做对比分析,Youden指数如图5-6所示。Youden指数图显示,采用欧式标准距离的分类器比采用欧式距离的分类器具有更好的分类效果。Youden指数图1.000.980.960.940.920.900.880.860.8412345678910欧式标准距离欧式距离图5-6分类器的Youden指数图5.3分类器对比分析为了更好分析和验证分类器的性能,与采用朴素贝叶斯算法的分类算法进行对比分59 中国民航大学硕士学位论文析。从查全率和查准率分析分类器的分类效果。查全率和查准率的定义如下:正确判别为该类的测试样本正确判别为该类的测试样本查准率=查全率=判别为该类的测试样本集该类总测试的测试样本集从恶意样本数据集中选取10个恶意软件家族作为测试数据,分别采用朴素贝叶斯分类算法和本文分类器采用的K-NN分类算法进行比较分析,恶意软件家族分类实验结果如下表所示。实验结果表明,K-NN分类算法查准率和查全率优于朴素贝叶斯算法。表5.10恶意软件家族分类实验结果K-NN类别朴素Bayes查准率(%)查全率(%)查准率(%)查全率(%)ADRD72.927279.5778BgServ76.737683.3178Crusewind77.678387.6589DroidKungFu70.586983.2787GoldenDream68.257178.7188Placms75.737879.9290Ksapp71.898188.3292Zsone72.317989.7889Imiog69.788390.2394ZjSMSHider74.577687.23915.4本章小结本章阐述了基于移动蜜罐数据的恶意软件分类实验和基于数据集的恶意软件分类实验,描述了两个实验的实验设计、数据获取、实验过程和结果分析。通过上述实验验证了基于文本挖掘的恶意软件分类方法的有效性和准确性。60 中国民航大学硕士学位论文第六章总结和展望6.1总结目前国内外针对安卓系统恶意软件的捕获和分类方法仍有很多缺陷,与传统的方法相比,通过移动蜜罐捕获恶意软件和基于文本挖掘的恶意软件分类方法研究已逐渐有所进展,但仍不成熟,因而还不能游刃有余地利用移动蜜罐技术对日趋复杂的恶意软件进行捕获收集和恶意软件家族分类。因此本文在研究了大量最新的移动智能设备的恶意软件的基础上,提出了一种新的捕获和分类恶意软件方法,为安卓系统恶意软件的捕获和分类提供了新思路和方法。本文主要完成了以下工作:1.移动蜜罐(MHP)的设计及实现针对移动终端恶意软件泛滥的现状,提出一种诱骗、捕获恶意软件的MHP。本文提出了一种MHP系统架构,设计并实现了MHP的三个核心功能模块及核心类和函数。环境欺骗模块构通过关闭杀毒软件打开网络连接构造出具有诱骗性的安全资源;恶意行为捕获模块通过监听通信端口、扫描系统内存、识别敏感权限来捕获恶意行为;恶意行为分析模块分析捕获数据,识别和定位安全威胁的类型和根源。仿真实验表明MHP可以有效捕获恶意软件并具有较低的电量消耗,有效性和移动终端适用性较好。2.基于文本挖掘的恶意软件分类方法对恶意软件分类是深入分析攻击者的意图和其发动攻击活动的有效手段,设计了基于文本挖掘的恶意软件分类方法,提出将文本挖掘应用于恶意软件分类。分类方法分为四个阶段,即代码串提取阶段、聚类分析阶段、特征向量提取阶段和分类阶段。代码串提取阶段对恶意软件脱壳、反汇编提取结构化代码串;聚类分析阶段设计了恶意软件层次聚类算法,通过层次聚类算法将恶意软件聚类成恶意软件家族。特征向量提取阶段通过对恶意软件家族代码串分析,定义了代码串频率和逆向代码串频率,设计了恶意软件家族特征向量提取算法提取恶意软件家族的特征向量。最后分类阶段给出分类器K-NN的算法设计,通过计算待分类恶意软件特征向量与已有恶意软件家族的特征向量之间的欧式标准距离划分恶意软件家族。实现了层次聚类、特征向量提取和K-NN分类三个核心算法。3.实验仿真与结果分析设计两个实验验证了基于文本挖掘的恶意分类方法的有效性和准确性,实验一是基61 中国民航大学硕士学位论文于MHP数据的恶意软件分类实验验证了方法的有效性。实验二是基于数据集的恶意软件分类实验,实验结果表明基于文本挖掘的恶意软件分类方法对恶意软件家族分类的正确率达94.53%。此外,通过混淆矩阵和Youden指数图分析了基于文本挖掘的恶意软件分类方法分类结果,表明本文提出的方法对恶意软件的分类具有较好的有效性和准确性。6.2展望随着移动互联网的不断发展,移动终端恶意软件的捕获和恶意软件分类也将有更大的进展,虽然本文已经做了一定的研究工作,但由于自身理论水平的有限性,本文提出的MHP和基于文本挖掘的恶意软件分类方法有待进一步验证和完善,未来即将开展的工作研究内容如下:1.为了使MHP具有更好的实用性,未来针对MHP的改进工作主要包括:多种平台支持不仅只适用于安卓系统还有苹果的IOS系统、多用户模式支持,因为针对恶意行为的研究可能不仅仅局限于普通的智能手机用户还有安全研究员等更高级的用户,需要针对不同的用户提出多种用户模式的差别,还需要进行界面优化,使其更适合用户使用和电量消耗优化等。2.由于目前可供研究的移动终端恶意软件样本较少,不能更充分地进行更多的数据训练,因此未来工作的重点之一是考虑使用多种类型恶意软件进行实验,提高恶意软件分类方法对多种类型恶意软件的分类能力。3.本文提出的恶意软件分类方法与其它研究人员提出的分类方法相比,具有较高分类能力,但是还有可以改进的空间,各项数据指标可以进一步提高。4.由于数据量大,为了得到更准确的检测分类结果,则需要更长的运算时间,但实际应用中往往需要快速分类出恶意软件家族并进行深入分析,因此如何降低算法的复杂度,缩短匹配时间,提高整体分类性能,将会非常有现实研究意义。62 中国民航大学硕士学位论文参考文献[1]张旸.Android发展史与现状http://book.51cto.com/art/201404/437192.htm,2014-04-30[2]红黑联盟.Android平台安全分析http://www.2cto.com/Article/201305/213711.html,2013-05-23[3]H.Dediu,“Whenwilltabletsoutselltraditionalpcs?"March2012,http://www.asymco.com/2012/03/02/when-will-the-tablet-market-be-larger-than-the-pc-market/.[4]Juniper,“2011mobilethreatsreport,"JuniperNetworks,Tech.Rep,2012.[5]L.Goasdu_andC.Pettey,Gartnersaysworldwidesmartphonesalessoaredinfourthquarterof2011with47percentgrowth,VisitedApril2012,http://www.gartner.com/it/page.jsp?id=1924314.[6]Nielsen,Stateoftheappnationayearofchangeandgrowthinu.s.smartphones,Nielsen,Tech.Rep.2012.[7]孙知信,杨加园,施良辉.基于蜜罐的主动网络安全系统的研究与实现[J].电子与信息学报,2005,27(3):351-354.[8]汪彩梅.基于蜜罐技术的安全校园网的设计与实现[J].微计算机信息,2011,27(7):189-198.[9]鄢喜爱,杨金民,常卫东.基于蜜罐技术的计算机动态取证系统研究[J].微电子学与计算机,2010,27(1),135-140.[10]孙晓妍,王洋,祝跃飞,武东英.基于客户端蜜罐的恶意网页检测系统的设计与实现[J].计算机应用,2007,26(7),163-165.[11]DaiS,LiuY,WangT,etal.Behavior-basedmalwaredetectiononmobilephone[C].WirelessCommunicationsNetworkingandMobileComputing(WiCOM),20106thInternationalConferenceon.IEEE.2010:1-4.[12]GraceM,ZhouY,WangZ,etal.SystematicdetectionofcapabilityleaksinstockAndroidsmartphones[C].Proceedingsofthe19thAnnualSymposiumonNetworkandDistributedSystemSecurity.2012.48-56.[13]Y.-T.Hou,Y.Chang,T.Chen,C.-S.Laih,andC.-M.Chen,Maliciouswebcontentdetectionbymachinelearning.ExpertSystemswithApplications[C],2010,vol.37:63 中国民航大学硕士学位论文55-60.[14]S.-H.Liao,P.-H.Chu,andP.-Y.Hsiao.Dataminingtechniquesandapplicationsadecadereviewfrom2000to2011.ExpertSystemswithApplications[C].2012,303-311.[15]S.Sahin,M.R.Tolun,andR.Hassanpour.Hybridexpertsystems:Asurveyofcurrentapproachesandapplications,"ExpertSystemswithApplications[C].2012,4609-4617.[16]S.J.Delany,M.Buckley,andD.Greene,Smsspam_ltering:methodsanddata.ExpertSystemswithApplications[J].2012,9899-9908.[17]S.Sahin,M.R.Tolun,andR.Hassanpour.Hybridexpertsystems:Asurveyofcurrentapproachesandapplications,"ExpertSystemswithApplications[C].2012,4609-4617.[18]M.Buckley.Surveyofcurrentapproachesandapplications.ExpertSystemswithApplications,2013,4629-4637.[19]KimH,SmithJ,andShinK.G.Detectingenergy-greedyanomaliesandmobilemalwarevariants[C]Proceedingofthe6thInternationalConferenceOnMobileSystems,ApplicationsAndServices.ACM2008:239-252.[20]彭国军,李晶雯,孙润康.Android恶意软件检测研究与进展[J].武汉大学学报(理学版)2015,61(1):21-33.[21]杨建强,吴钊,李学锋.增强智能手机安全的动态恶意软件分析系统[J].计算机工程与设计.2010,31(13):2969-2971.[22]梁洪亮,董守吉,刘书昌.面向恶意软件分析及保护的文件系统[J].北京邮电大学报.2011,34(3):58-61.[23]刘小坤.Android恶意软件样本分析系统的设计与实现[D]:[硕士学位论文].广州:华南理工大学,2015.[24]戚湧.安卓移动智能终端的恶意软件检测与分析方法[D]:[硕士学位论文].南京:南京理工大学,2014.[25]孙明,谷大武,李卷孺.动态指令流差分分析在恶意软件分析中的应用[J].计算机应用研究.2012,29(2):658-663.[26]乔静静.Android未知恶意软件检测方法的研究[D]:[硕士学位论文].北京:北京工业大学,2013.[27]吕晓庆.Android软件动态行为监测系统的设计和实现[D]:[硕士学位论文].北京:北京邮电大学,2013.64 中国民航大学硕士学位论文[28]蔡昌.Android平台恶意软件动态检测系统的设计与实现[D]:[硕士学位论文].北京:北京交通大学,2013.[29]ISoharaT,TakemoriK,KubotaA.Kernel-basedBehaviorAnalysisforAndroidMalwareDetection[C].ComputationalIntelligenceandSecurity.2011:1011-1015.[30]张锐.Android环境下恶意软件静态检测方法研究[D]:[硕士学位论文].重庆:重庆大学,2014.[31]戚湧.安卓移动智能终端的恶意软件检测与分析方法[D]:[硕士学位论文].南京:南京理工大学,2014.[32]吴凌飞.恶意软件变种间相似度的分析技术研究[D]:[硕士学位论文].杭州:杭州电子科技大学.[33]江飞.蜜罐技术及其应用研究[J].科技创新与应用,2014,26(9):84-86.[34]王剑虹,何晓行.蜜罐取证的技术及法律问题研究[J].计算机科学,2011,8(6):121-124.[35]官凌青.蜜罐Honeyd的扩展设计与实现[D]:[硕士学位论文].西安:西安电子科技大学,2007.[36]V.GadiaandG.Rosen,Atext-miningapproachforclassificationofgenomicfragments,inBioinformaticsandBiomeidcineWorkshops,2008.[37]A.Desnos.Androguardreverseengineeringtool.Available:http://code.google.com/p/androguard/.[38]Android-Opportunity,Complexity,andAbundance.http://ducks.blackducksoftware.com/~whitepapers/WP-AND-0910-UL-ACW.pdf.[39]蒋绍林,王金双.Android安全研究综述[J].计算机应用与软件.2012.29(10):205-210.[40]KristenGrubb.TheAndroid/LinuxPartnership,http://www.brighthub.com/computing/linux/articles/34302.aspx.2011.[41]赵幸.Android平台恶意应用程序行为分析与研究[D]:[硕士学位论文].北京:北京交通大学,2014[42]符易阳,周丹平.Android安全机制分析[J].信息网络安全,2011(9):23-25.[43]刘泽衡.基于Android智能手机的安全检测系统的研究与实现[D].哈尔滨工业大学.2011(6).[44]KristenGrubb.TheAndroid/LinuxPartnership,http://www.brighthub.com/computing/linux/articles/34302.aspx.2011.65 中国民航大学硕士学位论文[45]符易阳,周丹平.Android安全机制分析[J].信息网络安全,2011(9):23-25.[46]蒋绍林,王金双.Android安全研究综述[J].计算机应用与软件.2012.29(10):205-210.[47]网易科技.Android系统爆重大安全漏洞.http://news.mydrivers.com/1/314/314417.htm,2015-07-30.[48]红黑联盟.Android4.4"奇巧"系统存隐患细数已被曝光的Android4.4漏洞.http://www.2cto.com/News/201403/283567.html.2014-03-06.[49]S.Hanna,L.Huang,E.Wu,S.Li,C.Chen,andD.Song,Juxtapp:Ascalablesystemfordetectingcodereuseamongandroidapplications,inProceedingsofthe9thConferenceonDetectionofIntrusionsandMalware&VulnerabilityAssessment,2012.[50]Whichapprecommendersystemofapplicationsinmarkets:Implementationoftheserviceformonitoringusersinteraction.ExpertSystemswithApplications[J].201239(10):9367-9375.[51]C.Chibelushi,B.Sharp,andA.Salter,Atextminingapproachtotrackingelementsofdecisionmaking:apilotstudyinNLUCS.Citeseer,2004.51-63.[52]SpitznerL.Honeypot:TrackingHackers[M].北京:清华大学出版社,2004:30-35.[53]诸葛建伟,唐勇,韩心慧.蜜罐技术研究与应用进展[J].软件学报,2013,24(4):825−842.[54]H.Dediu,WhenwilltabletsoutselltraditionalpcsMarch2012,http://www.asymco.com/2012/03/02/[55]Dunham,K.MobileMalwareAttacksandDefence[J].Elsevier2009,7(3):137-146.[56]A.Desnos.Androguardreverseengineeringtool.Available:http://code.google.com/p/androguard/.[57]S.CesareandY.Xiang,Classificationofmalwareusingstructuredcontrolflow,"inProceedingsoftheEighthAustralasianSymposiumonParallelandDistributedComputing-Volume107.AustralianComputerSociety,Inc.,2010.61-70.[58]A.Y.Rodriguez-Gonzalez,J.F.Martinez-Trinidad,J.A.Carrasco-Ochoa,andJ.Ruiz-Shulcloper,Miningfrequentpatternsandassociationrulesusingsimilarities,ExpertSystemswithApplication[J].2013,40(17):6823-6836.[59]Y.ZhouandX.Jiang,Dissectingandroidmalware:Characterizationandevolution,inProceedingsofthe33rdIEEESymposiumonSecurityandPrivacy(Oakland2012),May2012.66 中国民航大学硕士学位论文[60]YoavFreund,RobertSchapire.AdaBoostandtheSuperBowlofClassifiers:ATutorialIntroductiontoAdaptiveBoosting.2009.67 中国民航大学硕士学位论文致谢本论文是在导师谢丽霞副教授以及杨宏宇教授的悉心指导下完成的。从论文选题、方法设计到实验验证测试分析,无不凝结着导师的大量心血。导师为人和蔼可亲,设身处地为学生考虑。导师知识渊博,观察力敏锐、思维活跃且丰富、科研工作一丝不苟,精益求精。导师的严格要求使我不断进步不断成长。时光飞逝,研究生生活已接近尾声。研究生期间日子过的充实而丰富,有找工作的焦急也有科研中遇到瓶颈的无助,但是这都是对自己的锻炼和磨砺。无论是科研还是生活中遇到困难导师都热情耐心地给予解答和帮助,在此,谨向谢丽霞老师和杨宏宇老师致以最诚挚的谢意!感谢王亚超、张树茂、成翔、王信元、孟令现、王志华和徐伟华等计算机学院信息安全实验室的师兄弟、师姐妹对我在生活和课题期间的帮助与支持。感谢呼和木其日、徐恒盼和陈雪蕊等好友对我在生活及学业上的支持与鼓励,你们为我的硕士生活增添了很多快乐和温暖,与你们在一起的时光必将成为我人生中的美好的回忆!感谢所有给予过我帮助、支持和鼓励的老师和同学。衷心地谢谢你们!感谢亲爱的家人一直在背后默默的关爱与支持,给了我前进的动力和坚持下去的决心,是你们的无私地关怀和帮助才让我安心地完成硕士阶段工作。68 中国民航大学硕士学位论文作者简介1、个人情况王冲,女,生于1991年,河南开封人。2009.9-2013.6就读于河南大学,所学专业为网络工程,获工学学士学位。2013.9-2016.5就读于中国民航大学计算机科学与技术学院,攻读硕士学位,所学专业为计算机技术。2、发表论文情况:[1]LixiaXie,ChongWang.CloudMulti-domainAccessControlModelBasedonRoleandTrust-degree[J].JournalofElectricalandcomputerEigineeing,Volume2016(2016),ArticleID6860217,6pages.[2]谢丽霞,王冲。移动蜜罐MHP的设计与实现[J]。中国民航大学学报,2016年12月刊。3、参与科研项目:[1]2013.10-2015.11,“新一代宽带无线移动通信网”科技重大专项“云计算应用模式下移动互联网安全问题研究”(2012ZX03002002)子课题。[2]2014.04-2015.12,民航安全能力建设基金项目“民用航空机场信息安全建设与运营管理规范”。69