Android应用程序的隐私执行框架外文翻译资料
2022-11-06 11:38:25
英语原文共 21 页,剩余内容已隐藏,支付完成后下载完整资料
Android应用程序的隐私执行框架
Android操作系统广泛应用于从智能手机到智能电视的各种设备,使其成为恶意应用开发人员的有趣目标。这些开发人员利用的主要缺陷之一是权限授予机制,不允许用户轻松了解授权权限的隐私含义。在本文中,我们提出了一种实施细粒度使用控制隐私策略的方法,使用户能够通过应用程序设备来控制应用程序对敏感资源的访问。这项工作的目的是加强用户对移动设备的隐私,机密性和安全性的控制,涉及应用程序侵入行为。我们的方法依赖于仪器技术,并且包括一个细化步骤,其中用户定义的高级别以资源为中心的抽象策略被自动细化为可执行的具体策略。抽象策略考虑正在使用的资源,而不是允许应用访问特定敏感资源的具体多种具体API方法。例如,可以使用应该根据用户选择的隐私策略进行检测和控制的多种API方法来完成对用户位置的访问。我们展示了我们的方法如何应用于Android应用程序,并讨论了不同场景下的性能影响。抽象策略考虑正在使用的资源,而不是允许应用访问特定敏感资源的具体多种具体API方法。例如,可以使用应该根据用户选择的隐私策略进行检测和控制的多种API方法来完成对用户位置的访问。我们展示了我们的方法如何应用于Android应用程序,并讨论了不同场景下的性能影响。抽象策略考虑正在使用的资源,而不是允许应用访问特定敏感资源的具体多种具体API方法。例如,可以使用应该根据用户选择的隐私策略进行检测和控制的多种API方法来完成对用户位置的访问。我们展示了我们的方法如何应用于Android应用程序,并讨论了不同场景下的性能影响。
Android操作系统(OS)的安全性主要通过将其细分为多个层次来实现,它同时提供平台灵活性和资源分离。这种分离反映在整个软件实现中,堆叠的每个级别都假定下面的级别是固定的。在本文中,我们专注于在Dalvik虚拟机(DVM)中运行的应用程序的安全性,并拥有自己的安全环境和专用文件系统。
应用程序隔离的安全机制也被应用程序调用的本机代码所使用,称为Android应用程序沙箱。这个沙盒设置在内核中,从而将所有层上的隔离传播到各种应用程序上。在Android操作系统中运行的所有应用程序都被分配了低权限的用户ID,只允许访问自己的文件,不能直接相互交互,对操作系统资源的访问有限。隔离是防止“进程间”安全漏洞的保护,这意味着给定应用程序中的安全问题不会干扰其他应用程序的资源。
在Android软件开发工具包(SDK)中,应用程序可以使用的功能被分类并分组到应用程序编程接口(API)中,这些API可以访问通常只能由操作系统访问的资源。例如,在受保护的API中,存在用于SMS和MMS管理,访问位置信息,摄像机控制,网络访问等的功能。受保护API的访问由许可机制来规定,其中应授予特定许可到一个应用程序,以允许访问特定的API。未受保护的API不需要应用程序执行的任何特殊权限。
更具体地说,考虑到向用户引入的风险等级,Android OS中的权限分为四个不同的级别:正常,危险,签名和签名或系统。正常权限被认为是对其他应用程序,系统或用户的低风险。危险的权限对使用者的个人资料和经验造成不良后果的风险很高。签名权限用于保护只能由使用相同开发人员密钥签名的应用程序才能访问的导出的接口。签名或系统权限用于保护只有使用固件密钥签名的可信系统应用程序可用的核心资源。
应用程序所需的所有权限都在清单文件中声明。直到Android 5.0的版本,在安装应用程序时,用户只会通知其所需的敏感权限,并且不会选择授予哪些权限:他们必须接受所有权限或中止安装。然而,最新的Android-M(版本6.0)版本除了安装时权限之外,还提供了运行时间或使用时间权限。使用时间权限允许用户在运行时拒绝许可请求并永久撤销所请求的权限。这个新的隐私功能表明,Android社区认识到需要更高级的隐私和用户匿名控制。
尽管使用时间权限允许用户获得对受限资源的控制权,但是需要向后兼容性来强制使用以前的操作系统版本的百万台设备上的隐私控制。值得注意的是,截至2016年8月,根据Android仪表板,不足15%的可用设备支持Android的最新版本功能。此外,Android API中的方法的权限映射是一对多的,这是一个特性,有助于使应用程序真正使用的哪种和实际功能不太清楚/确定。此外,在许多敏感API中缺乏保护,提供了操纵应用程序功能和服务的可能性。
威胁分析
现代移动操作系统的演进状态和移动业务的普及越来越受到恶意用户的关注。他们的主要目标是通过利用应用程序和操作系统级别的漏洞来获取私有信息。这不仅是恶意软件,而且也是合法的应用程序,有时会收集过多的个人信息。文献中的许多论文(Enck 等,2010 ; Gibler 等,2012 ; Stirparo,Kounelis,2012 ; Zhou,Jiang,2013)都展示了对使用者个人资料的高入侵和操纵的应用。
在这方面,已经提出了各种解决方案来识别可能的恶意应用和行为(Aafer 等,2013 ; Arp 等,2014 ; Google,2012 ; Wu 等,2012)。然而,这些机制中的大多数都是基于对应用程序授予的权限的分析,也就是允许调用的一组API方法。这种类型的分析是不够的,因为它会导致过度近似,能够保证在合法的应用程序为恶意(误报),它是不是能够检测共谋攻击。
此外,几乎不可能保证任何给定的应用程序的公平性,因为已经表明集中的安全检查(例如,Google Bouncer, 2012)可以被绕过(Ducklin,2012 ; Miller,Oberheide,2012),而合法的超级用户应用程序(Geneiatakis等人,2015)可以被操纵以提供对个人数据的访问,如Xing等人所示。(2014)。因此,即使在Android应用商店中存在安全分析机制也不能保证用户的隐私。此外,由于应用程序包括组件,即活动,广播接收器,内容提供商和其通信接口被明确定义的服务,因此,上述事实表明,存储在移动设备中的用户的个人数据处于高风险之中。
总而言之,我们可以将包含Android操作系统应用的移动设备中的威胁分为三大类:(1)源自Android架构的主要威胁,主要是利用权限机制,(2)以隐私入侵功能为特征的特征由恶意软件或甚至合法应用程序利用,(3)与实施漏洞相关的漏洞。在本文中,我们关注前两类威胁。尽管在此分析中,我们专注于Android操作系统,但我们认为类似的攻击可以用于其他移动平台,例如iOS。
Android的权限模型威胁
Android的权限模型的目标是保护系统资源免受应用的滥用和未经授权的使用。但是,这种模式有一些固有的问题,也可能会影响用户的隐私和匿名。以下段落描述了我们识别的威胁类型,并针对此模型,即与以下方面相关的威胁:预安装的应用程序,权限管理,权限粒度,权限通知,未使用的权限以及缺乏安全性。
首先,预安装或OEM应用程序将自动授予所有必需的权限,并被认为是受信任的,因为它们是操作系统固件的一部分。因此,用户不知道这些应用程序所需的权限,因为用户通常在安装过程中授予许可。这意味着用户没有任何指示这些应用程序访问哪些资源,并且它们易受隐私侵入行为的影响。
第二个重点是在应用程序生命周期中管理和授予权限的方式。如第2节所述,在几种情况下,如果用户想要成功安装和使用应用程序,则他/她有义务授予所有请求的权限。因此,通常的行为只是接受所有权限请求,以便到达安装过程的结束。此外,大多数用户没有了解所请求的权限对其个人数据的可能风险的知识,并且在安装过程中提示的信息对于应用程序将要访问的实际功能和频率(例如,定期精细定位跟踪)。更多知识渊博的用户可能会尝试评估所请求的权限列表,
这是因为权限不是具有实现实际功能的相应API方法调用的一对一映射方案。实际上,它们的粒度是相当粗糙的,并且考虑到与(Felt等人,2011)发布的许可检查相关联的125D方法的Android SDK版本17的197个权限,平均而言,7个API方法的权限相关联。例如,允许具有CAMERA权限的移动应用程序可以分别使用takePicture和MediaRecorder方法拍摄照片或捕获视频。这意味着在授予此权限后,用户不知道应用在任何特定时间执行的精确操作,因为它可以访问更多或更少敏感功能的更广泛的组。
由于缺少有关权限的信息,用户可能会失去所安装应用可能访问的授权资源。新的Android-M版本还包括运行时或使用时间权限,给予用户在运行时拒绝许可请求或永久撤销安装时间权限的可能性。然而,只有新型号的智能手机,高端设备才会收到这个更新,让所有其余的系统都安装了处理旧许可模式的问题。
对用户的另一个威胁是正常级别的权限,这被认为是较低的风险,并且自动授予应用,而不会明确要求用户同意。即使用户有可能审查这种自动授权,所以以同样的方式,所有用户都不会被认为是低风险的先验分类。因此,即使许可授予机制已经到位,从用户的角度来看,这种方法可能被错误地理解为似乎应用程序根本不访问敏感资源。
某些应用程序也可能请求在应用程序实现中未使用的权限,并且实际完成其任务(无用权限)并不实际。这些应用程序通常被标记为超级特权(Geneiatakis等人,2015),并且可能导致在更新后可以访问的敏感资源方面的特权升级问题(Xing等,2014)。特权升级还可能导致混淆的副攻击,当被授予特定许可的应用程序被没有这种权限的其他应用程序利用以执行敏感任务时(资料编号:[139577],资料为PDF文档或Word文档,PDF文档可免费转换为Word