基于权限的Android安全性:问题和对策外文翻译资料

 2022-07-18 07:07

英语原文共 14 页,剩余内容已隐藏,支付完成后下载完整资料


基于权限的Android安全性:问题和对策

Zheran Fang

摘要

由于Android平台上出现了大量安全攻击和隐私泄露事件,Android安全近来一直是学术研究和公众关注的热点。Android安全性建立在基于权限的机制之上,该机制限制第三方Android应用程序访问Android设备上的关键资源。 这种基于权限的机制因其对应用程序权限的粗略控制以及开发人员,营销人员和最终用户对权限的难以管理而受到广泛批评。 在本文中,我们研究了Android安全性中出现的问题,包括权限的粗粒度,不合法权限管理,权限文档不足,权限超标,权限升级攻击和TOCTOU(使用时间检查时间)攻击。我们将会阐述这些问题之间的关系,并调查解决这些问题的现有对策。特别地,对这些对策的制定进行系统评价,并根据其技术特点进行比较。 最后,我们提出了几种进一步降低Android安全风险的方法。

关键词:Android安全,基于权限的安全性,访问控制,访问控制的粒度,政策管理,权限过高,权限升级攻击

介绍

随着Android智能手机成为当前市场上最受欢迎的移动设备,Android安全性一直备受信息安全领域的关注。 自2008年10月发布第一款Android供电手机以来,Android智能手机在2013年第一季度出货的所有智能手机中已经成长为全球最大市场份额(75%)。 2013年5月,Google宣布已启动9亿部Android设备。 据网络安全相关公司F-Secure称,新移动威胁系列和变种的数量比前一季度继续增长49%。 2013年第一季度针对Android设备的这些威胁中有91.3%。Android智能手机受基于权限的框架保护,该框架限制第三方应用访问Android智能手机中的敏感资源,例如SMS数据库和外部存储。 访问敏感资源可能会导致资金损失。 例如,Android恶意软件可能会发送额外费率消息,进行额外费率呼叫,并在没有用户确认的情况下生成大量网络数据。此外,访问敏感资源可能会导致智能手机中存储的用户私人信息泄漏,如联系人,电子邮件甚至信用卡号码。 第三方应用程序开发人员可以利用各种智能手机传感器(如GPS,相机和麦克风),然后创建比他们声称的功能更多的应用程序,以便悄悄收集用户的隐私信息。 在当前的Android权限框架中,根据在安装时给予应用程序的权限来控制对智能手机上关键资源的访问。也就是说,每个应用程序必须请求某些权限才能在安装时访问智能手机上的系统资源,并且智能手机的用户应该决定是否授予请求的权限。

这种基于许可的框架被批评成是有些粗糙的。 许多应用程序倾向于请求比必要更多的权限。 在大多数情况下,用户必须授予应用程序请求的所有权限或中止安装过程,而不是逐个授予权限。 此外,基于权限的框架由于对应用程序之间的合作控制不足以及如何使用各种许可权的文档不足而变得很脆弱。

Android安全已经引起了学术界和工业界的广泛关注。 就我们所知,有关Android安全性的论文早在2008年就出现了,这是第一款Android智能手机推出的同一年。 随着Android电源设备在未来几年的爆炸性增长,已经发布了大量关于Android安全性的研究论文。鉴于已发布大量关于Android安全性的研究,尤其是Android权限框架研究,我们系统地概述了Android安全性的当前状态。 特别是,我们调查了Android安全性的最新进展,确定了Android权限框架中的问题,并分析了解决安全问题的对策。

Android安全问题的分析

总览

我们总结Android安全性问题并讲说明它们之间的关系。我们将问题分为两类:直接问题和间接问题。 直接问题可能导致财务损失或直接泄漏用户隐私信息。 另一方面,这些间接问题可以用作向Android智能手机发起攻击的垫脚石。

直接问题包括权限过高,权限升级攻击和TOCTOU(检查到使用时间的时间)攻击,而其他问题包括权限的粗粒度,不合法权限管理员以及权限文档不足 ,都是间接的问题。 权限的粗粒度可能会导致权限的过分要求,并且使用户更难以检测权限的过度请求。 请注意,由于命名合谋,TOCTOU攻击存在于Android中。 特别是,即使用户在批准其定义的权限后卸载第三方应用程序,赋予权限的授权也不会被撤销。 此后,如果恶意应用程序需要与其中一个授权许可具有相同名称的许可,则恶意应用程序可以在未经许可的情况下直接行使此类许可。

现在考虑粗粒度的网络权限问题。 一个例子是恶意开发者可能会声称网络权限仅用于在独立游戏中显示广告。 当用户被欺骗成相信网络请求的合法性时,恶意开发者可以利用网络许可的粗粒度功能并秘密访问收费网站。

对于恶意开发人员利用无权限的权限管理员的漏洞,必须执行利用应用程序中无权限的权限管理员留下的漏洞进行攻击。 例如,无能的管理员可能会不小心批准安装可以访问关键资源的应用程序。 鉴于此漏洞,可能会由恶意应用程序启动权限升级攻击。 另外,对于恶意开发者针对用户发起TOCTOU攻击,攻击者必须先欺骗用户安装恶意应用程序。 另一方面,粗粒度的权限,无能的权限管理员和许可证文件不足可能会导致权限的过度申请,而无需任何中间过程。

权限不足的文档

Google为Android应用程序开发人员提供了大量文档,但关于如何在Android平台上使用权限的内容是有限的。经Felt等人调查,缺少权限使用信息可能导致开发人员的错误。在Android 2.2文档中,为78种方法提供了权限要求;然而,Felt等人的测试揭示了对1259种方法的许可要求,这比文献记录提高了16倍。该文档列出了几个类描述中的附加权限,但不清楚哪些类的方法需要声明的权限。此外,Android权限的文档中还确定了六个错误。 Android应用程序开发人员的权限信息不足且不准确,这些开发人员可能会使用猜测,假设和重复尝试来编写应用程序。因此,这导致有缺陷的应用程序成为安全方面的威胁

和Android用户的隐私。而且,权限的内容通常对于最终用户来说太过技术化。以网络权限为例,当最终用户读取权限描述时,完全互联网访问权限:允许应用程序创建网络套接字,用户通常认为这种描述过于复杂和深奥。用户可能不知道在批准许可请求时,他或她将面临什么风险。

权限升级攻击

与人们普遍认为Android恶意软件造成的损害仅限于应用程序的沙盒相反,许可升级攻击允许恶意应用程序与其他应用程序协作,以访问关键资源而不需要明确请求相应的权限。

间接合谋攻击通常涉及另一个应用程序或组件作为可以提供明显渠道或隐蔽渠道的中介。 Overt通道(如缓冲区,文件和I / O设备)使用数据对象作为实体来保存特定信息。 换句话说,实体是一个通常被视为数据容器的对象。其他明显通道的例子包括共享首选项,系统日志和UNIX套接字通信。

相反,隐蔽通道使用通常不用于通信的实体。 可以使用隐蔽通道绕过Android的中间件层。 隐蔽通道的示例包括文件锁定,屏幕状态的改变,振动设置的改变,意向类型,线程枚举等。Marforio等人 测量了一些明显和隐蔽的通道的吞吐量。 测量表明,即使是低吞吐量的隐蔽信道仍足以交换隐私信息。

TOCTOU攻击

Android中存在TOCTOU(检查时间到使用时间)的漏洞,主要是由于命名合谋。没有命名规则或约束应用于新的权限声明。而且,Android中的权限被表示为字符串,任何具有相同名称字符串的两个权限即使属于不相关的应用程序,也被视为等同。恶意应用程序开发人员可能会利用此漏洞。假设恶意开发者设法欺骗用户安装声明权限P#39;的恶意应用程序A和请求权限P#39;的另一恶意应用程序B.权限P#39;的名称与保护访问关键资源的权限P相同。之后用户卸载应用程序A并安装声明权限P的良性应用程序C。现在恶意应用程序B将能够使用权限P0来访问关键资源。根据Shin等人的说法,这个TOCTOU缺陷存在于Android 1.5,1.6,2.0和2.1版本的仿真器和实际设备上。另外,Fragkaki等人声称已经在Android 2.3.7中转载了它。不幸的是,在当前的Android权限系统中,使用保护级别无法阻止此漏洞。

增强的设计和实现

权限过高的对策

一般来说,应对权限过度问题的努力有两个方面:(i)检测和分析Android应用程序权限的过度索赔,以及(ii)关于允许用户撤销过度索赔的增强框架的建议。 在安装时或运行时执行任务。 由于广告是免费Android应用程序的关键收入,因此Android应用程序中包含的广告库通常需要INTERNET,ACCESS_NETWORK_STATE和READ_ PHONE_STATE权限。 因此,还存在一种特定于Android应用程序中包含的广告库引入的权限过高的对策类别。

对策:

对权限过度授权的检测。 至于检测Android应用程序的权限过高,Felt等人在2011年从18个Google Play类别中手动审查了免费和收费最高的应用程序(Felt et al。,2011c)。 对于每个应用程序通过行使其用户界面将其功能与其请求的权限进行比较。 36个应用程序中有4个是过度特权的,而INTERNET权限则占据了三个特权应用程序。 Felt等人。 构建了Stowaway,这是一种自动工具,用于检测编译应用程序中的权限声明(Felt et al。,2011b)。 Stowaway分析了一组940个应用程序,并确定其中约三分之一的应用程序具有不必要的权限。 最常见的不必要权限包括ACCESS_NETWORK_STATE,READ_-PHONE_STATE,ACCESS_WIFI_STATE,WRITE_-EXTERNAL_STORAGE和CALL_PHONE。 这样不必要恶意应用程序可以利用权限。

增强系统实施。 2010年,Nauman等人提议的Android权限扩展(Apex)是一种策略执行框架,允许用户使用Poly(一种增强的应用程序安装程序)提供的简单且易于使用的界面为应用程序选择性授予权限。当用户安装新的应用程序时,他或她可以逐个授予或拒绝权限。通过Apex,即使安装了应用程序后,用户也可以授予更多权限或撤销某些授予的权限。 2011年,Beresford等人提出的MockDroid允许用户在运行时撤销对特定资源的访问权限。对于撤销的权限,虚假或“模拟”数据被提供给调用相应功能的应用程序。例如,当应用程序尝试检索设备ID时,用户可能会选择提供一个假常量值。可能被“嘲弄”的其他类别数据包括位置,互联网,SMS / MMS,日历,联系人和广播意图。

Hornyack等人 (2011)提出了AppFence,它隐式地替换影子数据来替代私人数据。 与MockDroid类似,当应用程序尝试访问关键资源(如设备ID和位置)时,AppFence会提供假数据。 此外,AppFence只有通过扩展TaintDroid信息流跟踪系统,才能阻止用户提供给应用程序的数据通过网络传输在设备上使用。

与Apex类似,2012年,Mueller等人 提出了Flex-P,它修改了用于在运行时管理应用程序权限的Android权限系统。 Flex-P允许最终用户在安装时授予许可证的一个子集,并在安装后随时更改授予的许可权。

更细粒度的权限

前瞻:

更细粒度的权限可以用来解决粗粒度权限的问题。更细粒度的权限实现可分为安装时策略实施和运行时策略实施。安装时间策略的实施旨在阻止恶意应用程序安装在用户设备上。它在安装时提供更好的策略执行,而不是要求用户决定是授予所有权限还是不授予任何权限。考虑更多因素,例如权限组合,权限和操作字符串组合以及请求应用程序的签名。如果某个应用程序违反了其中一个预设策略,应用程序的安装将会中止。另一方面,运行时策略执行允许用户在运行时设置更细粒度的限制。可以对已安装应用程序的权限配置实施更细粒度的限制,例如允许访问关键资源的次数以及可以访问的私有信息种类。

对策:

安装时间策略的实施。 2008年,恩克等人提出增强的麒麟使用一组预定义的安全规则在安装时执行策略执行。 这些规则决定应用程序包的清单文件中列出的权限配置和操作字符串是否安全。麒麟不仅在单一权限基础上评估应用程序,而且还考虑权限组合和权限以及操作字符串组合。例如,语音通话中的窃听者需要结合使用READ_PHONE_STATE,RECORD_AUDIO和INTERNET权限才能正常工作。 由于在Kirin中强制执行以下安全规则,可以防止安装语音呼叫窃听程序“应用程序不得具有PHONE_STATE,RECORD_AUDIO和INTERNET权限标签。”

类似于麒麟,Ongtang等人。在2009年提出了安全应用程序入门,其安装时间策略规定了应用程序定义权限的授予。除了Android的基于保护级别的权限授予策略之外,应用程序还可以定义应用程序定义的权限可以在安装时授予其他应用程序的条件。应用程序可能需要基于签名的策略才能根据请求应用程序的签名来控制如何声明它所许可的权限。应用程序可能还需要基于配置的策略来根据请求应用程序的配置参数(如应用程序版本)来控制权限分配。在安装时,Saint-Enhanced安装程序从应用程序包中的清单文件中检索请求权限。对于每个权限,它都会查询AppPolicy提供程序,该提供程序维护着所有策略的数据库。 AppPolicy提供商咨询其策略数据库,并根据匹配规则返回一个决策。如果匹配的策略条件通过,则继续安装。否则,它会中止。安装成功后

全文共8190字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[9201],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。