免费论文查重: 大雅 万方 维普 turnitin paperpass

浅议朴素基于权限朴素贝叶斯Android恶意软件检测学报

最后更新时间:2024-01-24 作者:用户投稿原创标记本站原创 点赞:17763 浏览:73439
论文导读:包括如访问联系人、访问网络、访问电电子邮件、收发送信息、读写存储卡,调用Android其他组件等。如果有恶意权限会被细心的用户发现,并且程序在实际运行期间,不可能有超出安装时声明的权限。权限是Android为保障安全而设计的安全标识,同时也是程序实现某些操作的前提。源于:论文格式排版www.7ctime.com存在的问题是
摘要:在今天开源的android手机越来越流行的同时,也有越来越多的木马、广告、隐私偷窥、扣费等恶意软件的出现困扰着用户。该文首先介绍了Android系统的构成,分析了android系统的安全机制和存在的安全隐患,并就关键的权限机制的相关研究进行了综述。文章提出利用机器学习中的朴素贝叶斯分类算法,对程序的权限进行建模分类检测,并进行了模拟实验。
关键词:Android;恶意软件;权限;机器学习;检测;贝叶斯
1009-3044(2013)14-3288-04
1 概述

1.1 Android系统

Android一词的本义指“机器人”,也是一款基于Linux内核的开源手机操作系统,该系统由精简的Linux内核作底层管理、各种开源的功能库作中间件、基于Dalvik虚拟机的Ja应用程序框架和一组基本的应用软件组成,是首个为移动终端打造的真正开放和完整的系统平台。
Android系统自2007年首次发布以来,以其开源免费的优势,至今,经过多次系统升级,已经成为全球最流行的手机,占有率已超60%。 与此同时, 据网秦2012年第一季度的《全球手机安全报告》指出“2012年第一季度查杀到的Android手机恶意软件3523款,直接感染手机412万部”,并且仍有上升趋势。所以,在Android移动设备迅速普及的今天,开展Android安全性研究势在必行,检测Android恶意软件研究具有重要意义。
Android系统采用软件堆层(Software Stack,又名软件叠层)的架构,主要分为三部分。底层以Linux内核工作为基础,提供核心系统服务,比如安全,内存管理,进程管理,网络协议栈和驱动模块;中间层包括各种开源函数库Library和虚拟机Virtual Machine。第三层是各种应用基本框架,主要是由各种组件管理器级成,提供Android程序开发的基础功能,使组件重用变得简单,加快了程序开发的速度 。最上面一层是常用的必要的应用程序,包括通话程序,短信程序等,应用软件可由第三方开发。每个Android应用都运行在它自己的进程里,并依附在一个单独的Dalvik虚拟机实例上[3],一个设备可以高效地运行多个Dalvik虚拟机。

1.2 Android的安全机制

Android安全机制的一个重要的设计出发点就是:应用程序在默认的情况下不可以执行任何对其他应用程序、系统或者用户带来负面影响的操作。除了Linux在系统内核级来做保障,在用户空间android也设计了独特的安全机制来保障程序的安全性[4]。
1)Android系统充分利用了Linux系统的安全特点,一个程序分配一个用户ID,每个程序运行在自己的沙箱环境,之间不能相互影响。
每个程序在安装时,系统会为它分配一个属于自己的Linux用户ID,为它创建一个“沙箱”环境,防止其它程序影响。用户ID在程序安装到手机中时被分配,并且在这个设备中保持它的永久性。另外如果该程序创建任何文件都会被赋予程序的用户标识,并且正常情况下不能被其它进程访问。
2)另外,Android系统设计了另一个安全特性,即权限控制[5-6]。每个程序要想使用系统的资源,必须在在程序的声明文件中明确的声明,在安装时向用户提示。如果有敏感权限用户可拒绝安装。
一个程序在安装时,需要声明自己需要的权限给用户提示, 包括如访问联系人、访问网络、访问电电子邮件、收发送信息、读写存储卡,调用Android其他组件等 。如果有恶意权限会被细心的用户发现, 并且程序在实际运行期间,不可能有超出安装时声明的权限。 权限是Android为保障安全而设计的安全标识,同时也是程序实现某些操作的前提。源于:论文格式排版www.7ctime.com
存在的问题是,用户选择安装了某个程序,就不得不接受该程序的所有权限,而一般的普通用户却不熟悉,这些权限可能给自己带来的危害。另外,用户往往更关心程序带来的功能,而忽视了程序所具有权限带来的潜在威胁。在安装了这样的恶意程序后,在运行过程中便可访问用户的隐私数据或执行非法的动作,而用户不会知晓,从中给用户带来威胁。

1.3 相关研究

文献[7]使用自动测试工具,测试了1310个关键Android API,创建了较为完整的Android权限集合(permission m论文导读:
ap),包括了contendProviders, DisallowedBroadcasts, recevingBroadcasts, sendingBroadcast, startin-gActivities, startingServices 几乎所有种类的权限。
文献[8]分析了2011年10月前1260个良性程序的权限使用情况,同时与他们收集的恶意程序库中恶意程序所申请的权限的情况,进行了对比发现:访问网络、读手机状态、访问网络状态、写SD卡等权限在恶意程序和良性程序中都广泛使用,但恶意程序倾向于使用(:)短信有关的权限(62.7%)、开机自启动权限(54.6%)、更改WIFI状态的权限(31.6%),而良性程序很少使用这些程序。另外,恶意程序比良性程序倾向于请求更多的权限,在他们收集的样本中,恶意程序平均需要11个,而良性程度需要4个。在前20名的权限中,恶意程序平均需要9个,而良性程序平均仅需要3个。
由上,可以推断出,恶意程序与良性程序在需要的请求的权限集合与组合上,有比较明显的不同。
2 朴素贝叶斯算法与恶意软件检测模型
根据前文所述及相关研究,笔者认为可以运用机器学习方法以权限组合为特征对Android恶意软件进行检测。在机器学习方法中,朴素贝叶斯方法(Naive Bayes,NB),是一种性能较好的分类方法,常用在文本分类上[9],研究对比后发现其模型特征上与Android 程序的权限上有一定相似性。摘自:毕业论文任务书www.7ctime.com