android恶意程序检测分析技术资料.docx
- 文档编号:26783151
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:84
- 大小:1.88MB
android恶意程序检测分析技术资料.docx
《android恶意程序检测分析技术资料.docx》由会员分享,可在线阅读,更多相关《android恶意程序检测分析技术资料.docx(84页珍藏版)》请在冰豆网上搜索。
android恶意程序检测分析技术资料
电子科技大学
UNIVERSITYOFELECTRONICSCIENCEANDTECHNOLOGYOFCHINA
硕士学位论文
MASTERTHESIS
论文题目Android平台的恶意程序检测研究
学科专业计算机软件理论
学号************
作者姓名**
指导教师***教授
分类号密级
UDC注1
学位论文
Android平台的恶意程序检测研究
**
(作者姓名)
指导教师***教授
电子科技大学成都
(姓名、职称、单位名称)
申请学位级别硕士学科专业计算机应用技术
提交论文日期2016.03论文答辩日期2016.05
学位授予单位和日期电子科技大学年月日
答辩委员会主席
评阅人
注1:
注明《国际十进分类法UDC》的类号。
RESERCHOFDETECTIONOFMALWARE
ONANDROIDPLATFORM
AMasterThesisSubmittedto
UniversityofElectronicScienceandTechnologyofChina
Major:
ComputerSoftwareandTheory
Author:
****
Advisor:
**********
School:
SchoolofComputerScience&Engineering
独创性声明
本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。
据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。
与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。
作者签名:
日期:
年月日
论文使用授权
本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。
本人授权电子科技大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。
(保密的学位论文在解密后应遵守此规定)
作者签名:
导师签名:
日期:
年月日
摘要
近年来,随着移动互联网的飞速发展,智能终端设备得到广泛的普及,尤其是Android系统已经成为移动市场份额第一的操作系统。
Android系统给人们带来极大便利的同时,也带来了极大的安全隐患。
这是由于Android系统安全模型和权限模型具有很大的开放性,一些移动应用市场对用户上传的APP缺乏有效的审核以及移动用户本身比较缺乏相应的安全意识及知识,从而Android系统很容易成为黑客的攻击对象,其恶意行为包括:
信息窃取、恶意扣费、资费消耗、系统破坏、远程控制、诱骗欺诈,恶意传播,流氓行为等。
因此,面对日益庞杂的移动应用程序库,如何有效的组织,管理及检测已经成为亟待解决的问题。
本文选取Android平台的应用程序作为研究对象,主要研究了Android平台的安全架构及恶意程序分析检测技术。
其中,针对Android平台的安全架构主要研究了Linux内核层的安全机制及Android系统特有的一些安全机制,如进程沙箱隔离,权限控制,以及进程通信等,并特别针对恶意程序的分类和运行机制进行了详细研究;针对恶意程序分析检测技术,主要研究和分析了静态分析技术和动态分析技术的基本特征、优缺点,并以此为基础,给出了适用于Android平台的恶意程序检测方案,包括恶意程序样本分析,恶意行为特征提取,基于恶意行为特征的恶意程序检测模型,并进行了实验验证;设计和实现恶意程序检测原型系统。
另外,本文还对应用程序运用了静态分析与动态分析相结合的方式,并在其基础上运用机器学习理论方法动态学习以提取恶意行为特征为依据,提出了三层混合系统模型来对该程序进行分类;最后将对本方案的查杀效果进行数据和试验分析,实验结果表明本模型具有很好的准确性和稳定性,并且具有较低的误报率和漏报率。
关键词:
Android,恶意程序,检测,机器学习
ABSTRACT
Recentyears,withtherapiddevelopmentofmobileInternet,theintelligentterminaldevicesareputintousewidely,especially,theAndroidsystemhasoccupiedthelargestshareinthemobileoperatingsystemmarket.WhileAndroidsystembringsgreatconveniencetopeople,ithasbroughtserioussecurityproblemsatthesametime.Theandroidsystemiseasytobecomehackers'attacktarget,maliciousbehaviorinclude:
privacyleakage,maliciousdeduction,tariffconsumption,systemdamage,remotecontrol,fraud,maliciousdiffusion,roguery.thereasonswhytheandroiddevicesbeenattackedmainlyare:
Androidsystemisopensource,whichsecuritymechanismisvulnerable,someappmarketslacksofdetection,whichmakethedevicesdownloadappsareeasilyhackedbymalwares,andtheuserslackofawarenessoftheirownprivacyandtheknowledgeofAndroid.Facingwiththegrowingandvariousmobileapps,howtoeffectiveorganize,manageanddetectithasbecomeaproblemneedtobesolved.
ThisthesisfocusedonAndroidAPP.WemainlyanalyzedsecuritymechanismsofLinuxkernelandAndroidsystem,suchasprocesssandboxisolation,authoritycontrol,andprocesscommunication,etc.;especially,westudiedindetailonmalwareclassificationanditsoperationmechanism.WestudiedMalwaredetectiontechnologyinrecentyearsmainly,whicharethestaticanalysisanddynamicanalysis.Inthispaper,malwaredetectionschemesuitfortheAndroidplatformisgiven,includingthemaliciousbehaviorfeatureextraction,maliciousdetectionmodelbasedonmaliciousbehaviorcharacteristics.Wehaddesignedandimplementedamalwaredetectionprototypesystem.Finallywemadeexperimentstotestthedetectionperformance,operationefficiency.
Inaddition,thisthesiscombinedstaticanalysisanddynamicanalysis,basedonextractionofmaliciousbehaviorcharacteristics,weproposedatriplehybridensemblealgorithmtoclassifyandevaluatetheprogram.Finallywetestthisschemeusingdataprovidedbyresearchgroup,theresultsshowthatthismodelhasgoodaccuracyandstability,andhaslowerfalsealarmratesandnon-responserates.
Keywords:
Android,malware,detection,ensemblealgorithm
目录
第一章绪论1
1.1研究背景及意义1
1.2国内外研究现状和发展态势4
1.3本文主要研究内容5
1.4论文组织结构6
第二章Android系统的安全机制及恶意程序检测研究8
2.1Android系统及其安全机制8
2.1.1Android系统架构及重要组件8
2.1.2Android系统安全机制9
2.2Android恶意程序12
2.2.1恶意软件分类12
2.2.2恶意程序伪装12
2.2.3恶意程序触发14
2.2.4恶意程序入侵15
2.2.5抗检测方式17
2.3传统恶意程序检测技术18
2.3.1校验检测技术18
2.3.2基于特征码的检测技术18
2.3.3主动防御19
2.3.4启发式行为分析19
2.3本章小结20
第三章Android恶意程序检测研究21
3.1对重新打包的恶意程序的检测21
3.2对权限滥用的恶意程序的检测23
3.3android应用的动态行为分析技术25
3.4本章小结26
第四章Android恶意程序检测模型设计与实现27
4.1Android检测原型系统27
4.2数据准备与预处理28
4.2.1静态分析提取应用程序特征28
4.2.2动态分析提取应用程序特征33
4.3学习算法36
4.3.1朴素贝叶斯算法36
4.3.2kNN算法36
4.3.3PART算法37
4.3.4J48算法37
4.3.5旋转森林算法37
4.4特征映射和标准化模块38
4.4三层混合系统综合算法40
4.5恶意程序检测实验43
4.6实验结果分析43
4.6.1评估指标43
4.6.2具体实验44
4.7本章小结45
第五章Android恶意程序检测系统47
5.1系统总体设计47
5.2移动端快速检测设计49
5.3移动端快速检测实现50
5.3.1后台Service的实现52
5.3.2Activity的实现54
5.4服务器端深度分析检测设计54
5.4.1应用文件特征提取55
5.4.2特征信息收集与格式化56
5.4.3分析结果生成与分发56
5.5服务器端深度分析检测实现56
5.5.1应用文件特征提取56
5.5.2特征信息收集与格式化59
5.6测试与结果分析59
5.6.1测试环境59
5.6.2移动端功能测试60
5.6.3服务器端功能测试60
5.7本章小结60
第六章总结与展望61
致谢62
参考文献63
第一章绪论
1.1研究背景及意义
近年来,随着中国智能手机市场的高速发展,智能手机的普及率逐年上升,它在人们生活中的已经成为不可或缺的必需品,与此同时,随着3G,4G时代的来临,智能手机的功能程度堪比普通电脑,这更加使得移动智能手机新用户,智能应用程序的种类,市场规模等都呈现出爆发性的增长。
根据中国互联网络信息中心(CNNIC)在京发布的某报告,截至2014年12月,我国网民规模达6.49亿,手机网民规模达5.57亿,占总网民数的85.8%,并且智能手机用户仍旧在以每月300多万的速度增长[44]。
同时,移动应用超市手机应用程序也呈现爆发式的增长,例如2014年,苹果就宣布在其APPStore上总应用程序有121万个,相比2014增长率超过了50%,谷歌PlayStore中的应用数为143万,增长率高达68%。
因此,手机的日趋智能化,用户量的日趋增多的影响,移动互联网将仍旧保持着较快的发展。
人们的生活也因移动互联网的发展日趋便利。
然而,在移动互联网高速发展的同时,危险也随之而来。
智能手机设备的推出,尤其是Android操作系统的推出,使得手机系统平台从以前的多样化到目前的越来越趋于统一的趋势。
据统计显示,全球近有70亿的手机用户,在2014年第二季度全球手机市场同比增长25.3%。
Android继续占据全球智能手机市场,拥有2.55亿多台和近85%的市场份额[1]。
Android作为由谷歌OHA(openhandsetalliance)一起开发的基于Linux的开源操作系统,已由最初的只支持手持设备逐渐扩展至平板电脑、电视等其他设备上。
然而,尽管android开源带来的开发便利及低成本优势,在其上的安全问题也日趋凸显。
据调查显示,在手持设备操作系统当中,近98%的已发现恶意程序来自于android系统[2]。
且随着3G,4G的相继到来,手机应用领域的不断扩大,手机安全问题凸显,从“手机病毒侵害、信息泄露和手机用户遭到各类短信骚扰等”到“资费消耗、信息窃取、恶意扣费、系统破坏、流氓行为等”。
智能手机的功能越来越趋于向个人信息中心的方向发展,因此手机恶意程序所带来的威胁已经也日趋变大。
有手机安全专家预测,随着物联网的发展,手机移动设备可能在不远的将来将与电脑连结,这使得手机用户信息无时无刻地都暴露出安全隐患。
手机病毒的大规模爆发以及传播可以对用户造成信息丢失、个人隐私信息泄漏、银行信息泄密、设备出现故障甚至损坏等一系列危害,此外手机病毒还能够对移动通信网络网络的安全运行构成威胁。
据国内网秦公司发布的手机安全市场报告显示:
在2014年第三季度,恶意扣费类、诱骗欺诈类、信息窃取类手机病毒分别以13.33%、42.13%、16.58%的比例位居前三。
同2014年上半年相比,诱骗欺诈类恶意程序有所下降,但隐私窃取类系统破坏类手机恶意程序都有所提升。
如病毒a.system.AppKiller.a(软件杀手)就具有典型的系统破坏功能,该恶意程序首先仿冒成正常的系统应用,诱使用户下载安装,安装后隐藏桌面图标,并从远程服务器获取指令于后台运行,并静默卸载用户软件,同时下载安装推广的app应用,该恶意程序具有消耗手机流量,威胁手机安全。
图1-1为2014年恶意行为分布比重。
图1-1恶意行为分布
在恶意软件传播上,2012年至2013年,安卓平台上的恶意软件的传播途径不断增大,同时传统的塞班平台上的恶意软件传播途径不断缩小,从这几年移动互联网的迅速的发展中不难理解,联网的便利性催生出了更广泛的恶意软件传播途径。
以前的传统的sd卡传播、短信/彩信传播不再使用,新出现的Rom预装、软件捆绑、二维码等新形式的危害更深。
各种山寨机、水货机的流入市场给该平台上的软件安全形势带来新的挑战。
2014年恶意程序传播途径,手机病毒来源渠道显得多样化,电子市场染毒应用已经呈现下降的趋势,不少电子市场已经度过野蛮生长的阶段,手机安全问题开始被重视,与此同时,腾讯手机管家等部分手机安全厂商与众多一线电子(应用)市场建立手机安全检测合作,电子市场的恶意软件进一步降低。
但是不少中小型电子市场依然处于不规范的阶段,电子市场手机安全依然严峻。
从传播途径2014年与2013年相比,在传播比重上,手机论坛,二维码已成为主要的传播途径方式,软件捆绑,Rom内置次之。
伴随的二维码的兴起及普及,通过二维码来进行病毒传播也逐渐兴起。
黑客利用它将钓鱼网址、病毒恶意程序的下载链接等转换成二维码并将它发布在微博、户外、网上论坛等渠道并开始大规模传播。
二维码恶意程序通常可以在刷码之后跳转到恶意的钓鱼网站同时骗取话费流量。
图1-2为2014年第三季度统计的手机病毒渠道来源比例。
图1-2手机病毒来源渠道比例
相比于其他手机操作系统,如WindowsPhone、IOS,Android因具有以下的特点,致使它容易成为黑客的攻击对象:
1.Android系统在智能设备操作系统中全球用户使用量最高。
由于安卓在智能手机市场上的独领风骚,因此攻击者将其作为首先攻击目标毫不稀奇。
据调查显示,在手持设备操作系统当中,近98%的已发现恶意程序来自于android系统[2]。
2.在应用程序安装方面,相比于IOS、windowsphone,Android缺少严格的审查机制。
Android应用在发布时不需要经过谷歌或任何一方的审查,这虽然一定程度上促进了基于Android系统智能手机发展,但也带来安全上隐患。
相比之下IOS,WindowsPhone做的更为保守。
IOS应用程序只能在官方的APPStore上下载,而且苹果APPStore对软件功能及其安全性也具有严格的审查。
虽然这种封闭,垄断的行为使人们不满,但这也保证了手机用户个人隐式的安全性。
Android系统由于缺少审查机制,因此需要通过对其系统本身的安全机制和增强恶意程序检测等方面来提高它的安全性。
1.2国内外研究现状和发展态势
Android安全问题主要来自于其安全机制及API具体功能的实现。
Android采用“沙箱(sandbox)”来加强对不同程序间的隔离;采用权限机制来限定应用对设备资源(如:
文件目录、网络、传感器乃至API等)的访问;采用数字签名机制来保证代码作者的唯一,判断应用程序是否更改及不同应用之间互访建立可信的认证,在此基础上,保证代码和数据共享的安全。
尽管android的安全架构考虑周全,但在具体实践上仍旧显露出诸多问题:
权限只是粗略的显示应用对设备资源的访问且用户只能在安装时确认是否允许权限且无法在存活于系统时取消应用的权限[12],更甚android的权限机制存在的过度声明问题且普遍存在正常程序当中[6];权限的过度声明及粗粒度不明致使程序间隔离效果(不被窃听效果)减弱;数字签名能够保证代码作者的唯一,但在恶意程序检测上作用逐渐降低,恶意程序作者为了避免或减轻反病毒软件的检测,更换证书的频率逐渐提高[7]。
此外,Android以平均每月115的数量更新androidAPI,然而,28%的客户应用程序所使用的API未更新的滞留时长平均为16个月,22%的过时API更新时长为14个月,与API的发布时间3个月相比慢的多,原因可能是开发人员有意避免程序的不稳定[5]。
快速更新的API不仅给开发人员带来了麻烦,同时也给恶意程序检测带来了麻烦,与正常程序开发人员避免程序不稳定的意图相反,恶意程序作者会有意使用新发布的API进行诱探式的攻击,即发掘系统漏洞找寻可攻击方式。
Android移动设备市场的庞大及在其上凸显的安全问题给基于android病毒的检测技术带来了蓬勃生机。
目前为止,恶意程序分析检测技术按执行文件是否模拟运行上分为:
静态分析和动态分析。
静态分析为基于源代码或执行文件二进制形式检测出可疑的恶意行为模式,此类分析多为反病毒公司采用[8]。
尽管静态分析的优势,但仍具有一定的缺陷,恶意程序作者利用各种干扰措施(对执行文件加固以防反编译,关键参数或数据加密,程序执行流程乱序,程序乱码防解析等)防止程序的静态分析。
动态分析为基于执行文件模拟运行的基础上检测出可疑的恶意行为模式,即,程序在一个隔离可控的环境(即“sandbox”)中运行并输出其执行特征[10]。
尽管动态分析能够动态捕获并输出程序执行流日志,但同样存在被干扰方案:
阻断程序得到完整的程序运行流,即在运行关键程序时需用户输入验证信息(如输入验证码,用户名,密码等,恶意程序可通过设置程序触发条件可使程序不满足时不予执行);程序运行时通信过程予以加密,防程序运行时捕获信息。
在恶意程序分析检测技术中,[11]运用动静态结合的方案:
在程序应用层(java层)注入检测代码后运行于“沙箱”中。
但此种方式依旧同时受到静态和动态分析的干扰方式的影响。
相比于上述重量级android恶意程序检测技术,针对特定应用背景需求,轻量级的程序安全检测(风险指数)技术也被提出,[13]提供了基于android权限系统的评估程序安全指数及恶意程序检测技术方案。
正如前文所描述,android运用权限机制来限定程序对特定资源的访问,这保证了基于权限的检测方案的可实施性。
尽管基于权限的检测的优势,仍旧无法避免程序权限过度声明的影响。
在android移动设备端恶意程序防护上,作为最早的基于权限机制的应用程序认证防御方案,Kirin[15]方案通过设定安全权限,若检测到应用程序申请的权限违背其规则,Kirin则会拒绝安装该应用;Apex[16]则在Kirin方案的上进行扩展,用户需要在安装程序时为权限设定条件(有些权限拒绝有些权限允许)并继续安装,这使得应用程序可控的访问系统资源。
[17]通过将android系统内核层Linux系统替换为安全性更高的SELinux进行安全性的优化。
以上方案中,基于权限的方案与基于系统级的方案相比可适性(移植性)更强。
[8]在系统架构上优化检测效率,通过在多个移动设备间互联传播检测到的信息和数据进行协同式分析。
[18]运用统计学方法(HiddenMarkovModel)将用户的手机操作与系统API调用关联起来,并在不同于用户通常操作时检测出异常。
在基于android平台恶意行为特征提取上,运用机器学习及相关理论方法已变为热门。
[8]使用了C4.5[19]来训练学习得到恶意程序系统级函数调用特征。
[20]比较使用了机器学习的方法从动态分析收集到的数据得到恶意程序的行为特征。
本课题将比较使用几种机器学习的方法对我们搜集到的静态和动态分析数据进行恶意行为特征自动提取效果,并从中挑选出最适合作为静态分析和动态分析结果数据的分类器。
在基于android平台应用程序恶意程序检测上。
ASESD提供了一种基于android权限系统无标度的应用程序风险评估方法[16],[21]比较使用了几种概率生成模型(均基于朴素贝叶斯模型)评估计算android应用风险指数的效果。
通过比较恶意程序与正常应用的风险指数,进而设定判定为恶意程序的阈值。
相比于ASED方案,基于朴素贝叶斯模型风险评分浮动于0到1之间。
本文通过给出三层混合系统算法的解决方案
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- android 恶意程序 检测 分析 技术资料