英语原文共 14 页,剩余内容已隐藏,支付完成后下载完整资料
Android应用程序的风险分析:以用户为中心的解决方案
重点:
bull;我们讨论一种评估Android应用程序可信赖性的方法。
bull;我们提供一个多标准评估模型。
bull;我们提供对Android权限的分析。
bull;该方法旨在可用。
bull;我们通过广泛的测试来评估方法。
文章记录:
2015年9月1日,接收
2016年5月24日,修订
2015年5月25日,接受
关键字:
Android安全 用户体验和期望 恶意软件 可用性风险分析 以用户为中心的设备
摘要:
Android应用程序(应用程序)可能会存在许多风险,例如可能包含威胁使用者隐私权或系统完整性的代码。当前大多数用于检测危险应用的安全抵抗措施已显示出一些缺点,这主要与用户的理解能力和接受度有关。因此,用户将受益于那些可以指示应用是安全的还是危险的,简单但有效的技术。在本文中,我们提出了MAETROID(用于AndrOID的TRust的多标准应用评估器)框架,该评估框架用于评估Android应用的可信赖性,即,其对用户造成的风险的总量,例如在保密性和完整性方面。MAETROID在部署时通过对应用程序的多标准分析,返回一个易于理解的应用程序的风险级别(即,可信,中等风险和高风险),旨在推动用户决定是否安装该应用程序。该评估标准包括所请求的权限集合和从市场检索的一组元数据,表示应用质量和流行度。我们已在一组11,000个应用程序中测试MAETROID,这11,000个应用程序来自Google Play和已知的恶意应用程序资料库。结果显示MAETROID能很好的识别恶意应用程序和较低的误检率。
1.引言:
智能手机和平板电脑允许用户随时随地访问所需的服务。 根据最近的市场分析[1],在一些国家,超过90%的注册移动设备是智能手机或平板电脑,导致超过20亿活跃用户。 值得注意的是,超过80%的这些设备都是基于Android操作系统(OS),堪称最流行的智能手机和平板电脑操作系统[2]。占据主导性的使用几乎使得Android成为近年来识别的移动威胁的唯一目标[3]。 目前,99%的Android安全攻击是通过受感染的移动应用带来的[3]。 特别是,在2014年Android应用占所有移动恶意软件的97%[4]。 此外,新的恶意软件的数量惊人:平均每天报告超过16万个新标本[5]。 最近,在[6]中的报告指出,所有Google Play免费应用程序的四分之一是克隆的,即流行的重新包装应用程序,如WhatsApp和愤怒的小鸟。
目前,移动设备的应用通过在线市场(如Google Play或App Store)分发。 这些市场作为中心,应用开发者在此发布自己的产品,用户在此可以免费下载或购买。有时候官方市场可能会向用户收取费用,而有些非官方市场免费发布自己的应用程序。 当从非官方市场下载应用程序时是有风险的,因为这些市场并没有像官方市场那样得到集中控制,可能会有不受信任的开发者发布恶意应用程序。
MAETROID在应用安装之前,从一组标准开始,静态评估应用程序在部署时的可信度,这些标准通过称为分析层级过程(AHP)的多标准决策方法进行组合。 作为评估的结果,MAETROID以用户友好的方式将应用标记为信任,中等风险或高风险。 MAETROID同时考虑客观和主观标准。 客观标准包括(i)导出应用程序所需的一组权限的全局威胁指数,(ii)应用程序的下载数量,以及(iii)发布该应用程序的市场。 主观标准包括(i)应用程序评分和(ii)开发者声誉。
本文的贡献是:
bull;静态评估方法,利用应用程序元数据,不需要代码分析。 我们的方法已经显示是有效的,而不会导致代码分析的复杂性和限制。
bull;一套应用程序评估的评估标准。 虽然可以设想其他标准,但我们通过实验证明我们提出的集合是合理和有效的。
bull;MAETROID已针对来自Google Play,非官方市场和两个重要的移动恶意软件数据库(Genome [7]和Contagio1)的11,000多个应用程序进行了测试;
bull;Android设备的MAETROID实现,可从http://icaremobile.iit.cnr.it/下载。
相对于我们以前的工作[8],目前的工作的新颖贡献是从应用程序所需的权限列表,完善实现MAETROID作为Android应用程序全局威胁指数的规范化调查,并且分类结果扩展到一组11,000个应用程序。
论文的结构
- 回顾一些Android安全机制的概念。 第3节通过详细讨论用于评估应用程序的可信度的标准来描述MAETROID。 第4节介绍了Android设备的MAETROID的当前实现,它还展示了测试平台应用程序的分析结果。 在第5节中,报告了MAETROID的优点和局限性,与其他解决方案相比。 在第6部分,我们讨论移动设备安全的相关工作。 最后,第7节得出一些结论,并提出一些未来的研究方向。
2.Android的权限系统
为了降低用户安装危险应用的可能性,Android实现了一种称为权限系统的访问控制机制。 权限系统强制应用程序开发人员声明应用程序可访问的安全关键资源以及应用程序可执行的安全关键操作。在运行时,一个称为权限检查器的Android组件对安全关键资源和操作的访问请求进行监视。如果访问请求由没有在权限系统中声明授权的应用程序发出,则权限检查器拒绝访问。
在2009 - 2015年期间,由于新的设备资源和应用程序功能的产生,从原始的90个权限集开始,添加了另外55个权限集。目前,Android定义了136个权限,其中每个权限都与特定的设备资源或关键操作相关。应用程序所需的权限由开发人员在AndroidManifest.xml文件(简称manifest)中声明,该文件包含在应用程序包(apk)中,通过数字签名绑定到应用程序代码。 Android将权限分为四类:正常,危险,签名和签名或系统。对于本文的范围,我们只关注正常和危险的权限,因为签名和签名或系统权限只能从Google APP获取。事实上,只有使用Google开发的Google私钥(签名)或使用Google发布的特定授权(签名或系统)签名的应用才能声明这些权限。签名和签名或系统背后的依据是,Google只对提供正版应用程序感兴趣。此权限分类用于在部署时选择向用户显示的权限。事实上,所有危险的权限都会自动显示给用户,而正常的任务会在单独的子列表(“其他权限”列表)中列出。一旦权限被授予,应用程序可以访问相应的受保护资源(或执行一些相应的批评操作),而不需要进一步的请求授权。另一方面,如果未在应用程序中声明权限,则应用程序将永远不允许访问受该权限保护的资源或操作。
图1显示在2009-2015年的时间范围内,通过强调与权限和安全性相关的主要更改,报告了在权限和漏洞方面Android进化的时间线。特别是,直到2011年,基于Android系统的恶意软件也才仅限于研究概念证明。 2011年,Android特定的恶意软件利用Gingerbreak--Gingerbread系统的一个漏洞开始传播。此漏洞允许恶意应用程序获得root权限,使其能够潜在地控制设备。这个问题已经被在2012年推出的Android Ice Cream Sandwich解决。但是,在2013年,另一个重要的权限许可漏洞被发现[9]。此漏洞允许攻击者修改应用程序权限,而无需修改应用程序签名,因此成为了Android安全的主要问题。Jelly Bean在2013年的发行版中试图去解决这个问题,该版本还首次提出通过AppOps权限管理器动态和选择性地撤销或授予应用程序权限。
有几点对Android授权系统的质疑曾被提出过。首先,系统被认为太粗粒度[10],因为用户只能选择接受应用程序声明的所有权限或拒绝安装该应用程序。其次,用户通常不太确定是否可以信任某一应用是安全的。事实上,所需的权限列表并不是特别的用户友好的,并且很难完全理解这种权限所带来的风险。由于所请求的权限数量相当大,并且其中一些权限即使对于专家用户都非常的难以理解,所以有些用户在安装新的应用程序时通常忽略它们,导致恶意应用程序的安装[11]。上述提及的Jelly Bean开发的AppOps,允许用户撤销对已安装应用程序的所选权限,仍然存在与权限系统的粗粒度相关的问题。 实际上,任何时候应用程序尝试执行已被撤销权限的操作时,该操作将被权限检查器拒绝。由于被拒绝操作的错误未被处理,应用程序很可能异常终止(即崩溃)。
值得注意的是,从第三个Kit-Kat版本(Android 4.4.2)AppOps已经被移除。 Google宣布要移除它,原因是打算将它用于实验目的另一方面滥用可能会破坏应用程序.3实际上,如所讨论的,删除所需的权限可能会导致应用程序崩溃。因此,取消权限许可的决定不应留给通常缺乏采取这种决定所需的专业知识的用户。借助Android Lollipop(版本5),添加了新的权限来处理多用户配置文件,并对社交网络的信息共享具有更强的控制力。新版本的Android(Marshmallow,版本6)带来了进一步的改进,允许开发人员不在部署时要求权限,而是当权限被有效地使用时,留给用户决定授权或不授权。然而,这个范例已经被指出了一些问题,因为逐个授予权限的过程可能会对具有多个权限的应用程序(例如,着名的消息传递应用程序Whatsapp需要超过20个权限)很麻烦。此外,推迟决定并不能解决权限解释困难的问题。另一个问题是,开发人员往往声明(错误地或为了方便)比实际需要更多的权限,导致所谓的Permission Overdeclaration [12]。发生这种情况是因为某些权限具有类似的名称,对于开发者来说权限描述得也不清晰。对于用户相当直观的是,不太主动阅读和理解一串很长的权限列表。
当前Android权限系统的这些缺陷激发了以用户为中心的咨询系统的设计,其分析应用安全威胁,向用户提供关于应用是否安全或不安装特定应用的建议。
3.MAETROID设计
为了评估应用程序的可信度,MAETROID建立在一个众所周知的多标准决策过程的确切和用户化的实例上。我们采用分析层次过程(AHP)[13]:给定一个决策问题,其中可以选择几个不同的替代选项来达到目标,AHP返回相对于一组标准最相关的替代选项。 决策问题的结构是一个层次结构,通过标准链接目标和替代选项。 AHP将复杂问题细分为一组子问题。 然后,通过适当地合并局部解决选项来计算最相关的替代选项,即用于决策问题的最佳解决选项。
成对比较矩阵。局部解通过成对比较矩阵来计算。给定标准,成对比较矩阵以成对的方式描述了替代选项相对于另一选项更相关的量。它是方阵ntimes;n(其中n是替代选项的数目),其具有正项,并且它是倒数,即,对于每个元素aij, aij = 1/aji 其中aijisin; {1, . . . , 9}。例如,如果我们考虑标准i是标准j相关的五倍,ai,j等于5,因此aj,i等于其倒数1/5。类似地,给定目标,比较矩阵描述了一个标准与另一个标准更相关多少。再次,它是一个方阵ktimes;k(其中k是标准的数量),具有正项和倒数。表1显示了AHP根据标准衡量替代选项的标准比例。同样的规模适用于衡量与目标相关的标准。
计算全局优先级。 全局优先级通过在整个层次(从替代选项到目标)计算的所有局部优先级的加权和来计算:在公式中,Pgai是替
代选项ai的全局优先级,Pgcj是相对于目标的标准cj的局部优先级,paicj是替代选项ai相对于标准cj的局部优先级。
MAETROID实例化目标,替代选项和标准。 MAETROID的目标包括为调查的应用程序分配以下替代标签之一:
信任:该应用程序能正常运行,不隐藏恶意功能。 直观地看,受信任的应用的特征在于较低的全局威胁指数,即,由于所需的权限威胁小,它被认为是不会破坏系统的。 此外,一个值得信赖的应用程序通常来自官方市场,它已被数以千计的用户下载,它有非常好的评论和/或具有良好的声誉的开发商开发(即,所谓的顶级开发者)。既安全又受到用户赞赏的应用,用户可以合理地安装而不会承担风险。
中等风险:应用程序可能无法正常运行,并可能包含不受许可的,恶意的功能。 若一个应用程序被认为具有中等风险,在设备安全性方面,虽然它显示为一个可接受的(低)全局威胁指数,但是它收到了一些不良的评价,或者通过它的很少的下载量(小于100)推断出应用程序不隐藏威胁。 一般来说,此标签应分配给由非技术开发人员在官方或非官方市场上发布的低质量应用程序。 分配的另一个原因可能是应用程序可能不需要用户使用,如广告支持的软件(广告软件)。
高风险:该应用程序可能包括恶意代码。此标签会提供给请求多个对设备和用户具有潜在威胁的危险权限的应用程序。 事实上,大量的恶意软件(95%[3])会要求许多与文本消息有关的可疑权限,这些不应该由与即时消息无关的应用程序提出。 如下所示,合理地请求几个危险权限的应用程序被MAETROID正确的评估为“信任”,这主要是根据用户评论量和显著的下载次数(超过100,000次)决定的。
对于MAETROID,我们定义了五个标准,即(i)根据申请的声明权限获得的全局威胁指数,(ii)市场,(iii)开发者的声誉,(iv)用户的评级,(v)下载量。特别地,基于应用可访问的资源及其可以执行的操作,根据所声明的权限的数量和类型来计算全局威胁指数。在下面,我们详细说明所有这些标准。
<p
剩余内容已隐藏,支付完成后下载完整资料</p
资料编号:[140597],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。