基于灰名单的Android隐私保护外文翻译资料

 2022-11-10 02:11

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


基于灰名单的Android隐私保护

摘要 : Android 操作系统的开放性和易于开发应用的特点吸引了大量爱好者加入安卓开发。由于Android操作系统的权限机制的不足,本文提出了称为Protectroid的基于灰名单的Android隐私保护系统模型。并使得人们更容易设计安全性的策略。 Protectedroid在APP和隐私数据间强制添加隐私保护模块。当应用程序被添加到灰名单并打算访问敏感数据和资源时,Protectedroid将截获数据访问请求并为灰色应用返回false对象。 实验结果表明:Protectedroid可以有效地遏制隐私泄漏并确保整个系统的有效性和稳定性。

关键字 :Android,Protectedroid,隐私权限机制,灰名单

一、引言

移动APP时代不仅为我们带来了丰富多彩的生活方式,也带来了棘手的的隐私安全问题。 当智能手机在日常生活中成为了不可或缺的一部分的时候,越来越多的用户已经习惯于使用手机存储他们的敏感数据和他们的社会和商业信息。同时还有大量的闲暇时间花在智能手机上的各种应用上。 这些现象使得手机存储和记录了很多用户的个人数据(例如,位置信息,银行账户,和电子邮件)。例如,一些研究者随机抽样的在9万个谷歌商店安卓应用中有87% 访问互联网需要权限。 似乎安装的第三方应用程序可以非常容易地访问敏感数据和互联网服务,而且个人数据总是包含巨大的潜在商业价值。 而且,开放应用Android的管理模式使互联网泛滥着与许多恶意的第三方应用程序。 所以数据隐私威胁似乎更加明显。 一些研究人员调查了872个Android应用程序并发现其中三分之一以上要求与隐私相关权限。 天卓(TaintDroid)显示,在30个受欢迎的第三方Android应用程序中,有68个漏洞能滥用私人信息。 所以Android对待所有应用程序都可以处理个人信息。 这里我们称所有这些应用程序为不可信应用程序。 在上下文中的Android“全无限”权限授予模式中,安装的应用程序已经获得了一组权限需要,不再需要用户授权,同时轻易地获得访问受这些保护的用户的私有数据权限。 对于用户之间隐私数据的密切关系和第三方应用程序,保护私有数据在终端安全中一直是研究的重点。

二、背景

开发人员可以访问手机硬件(例如,GPS和相机),或者通过大量的API访问个人数据和几乎所有的移动资源。 Android平台采用权限许可机制保护这些敏感数据。 如果应用程序需要访问隐私权安全相关的资源,每个都必须预先声明在Android Manifest文件中需要哪些权限(如图1所示),用户将决定是否在安装过程中授予权限。

图1. 一个Android Manifest.xml的例子

现实是,一些开发者是怀有恶意的,或者他们缺乏能力开发完整的应用程序。 所以遗留代码漏洞,或他们实际上需要的是请求更多权限,这些都没有遵循最低权限原则, 我们称这种类型应用程序为权限饥饿的应用程序。 一些研究人员开发了一个小工具Stowaway,在这个小工具的帮助下,他们重新审视了940个从谷歌商店下载的应用程序,发现几乎三分之一是允许“权限饥饿”的应用程序。权限直接决定应用程序的功能和终端的安全。 但Android平台本身许可机制不能让用户感到安装丰富多彩的第三方应用程序是安全的,除非用户拒绝去安装它们。这破坏了用户的追求应用的各种功能。粗粒度权限模型(“All-Or-None”)简化了安装过程,增强用户体验,但它增加隐私泄露的可能性,遏制用户追求应用功能。一些研究人员提出了一种基于细粒度分布的新机制——用户可以根据他们的需要获得权限的状态。动态调整这种机制可以很好地保护私有数据,但是这个需要用户全部由自己配置,用户需要高水平的专业能力。它需要用户知道系统的权限机制,如何根据介绍提供服务和数据访问机制并作出申请是否安全的判断。在现实世界中,智能手机不再是昂贵的东西,广大市民都负担得起。农民或工作人员使用智能操作系统运行电话不再是我们生活中奇怪的现象,所以才有我们上面提到的缺陷。一些研究人员进行了两次可用性研究:互联网调查的308个Android用户,一个实验室他们采访并观察了25个Android用户。研究参与者表现出低水平的关注理解率:互联网调查和实验室研究发现,只有17%的参与者留意了安装过程中的权限问题,只有3%的互联网调查受访者可以正确回答所有三个权限理解问题。这表示当前的Android权限警告没有帮助大多数用户做出正确的安全决定。这大大降低了用户的体验,并且没有很好的为一些人保护他们的隐私。当前问题是安装应用程序时,用户并不想面对复杂的专业选择,也不想让他们的私人资料曝光。但不同于传统的计算环境,无处不在移动用户很可能成为他们自己设备的设备管理员;他们会管理自己的安全性而不是依靠外部安全管理服务。显然,目前的Android平台权限机制无法满足用户的隐私需求应用的安全性和功能。对于不可信任的应用,研究人员提出了一个高效可靠的解决方案。该权限解决方案TISSA实现在Android框架层的轻量级访问约束,其中意味着用户可以动态调整权限列表的约束策略。 最终,用户体验和隐私保护在正常运行的基础上得到了平衡,但这要求用户有一定的专业性知识。 其实只有少数的拥有此类知识的用户。 类似的发现是MockDroid实现虚拟化机制。 该机制返回错误的结果误导应用程序以确保安全。对上文提到的机制的优缺点,本文为安卓应用设计了基于用户角色集合的私有数据保护方案,从而满足用户对多样的应用程序和其私有数据的安全性的需求。

三、保护模型设计

合法用户运行权限饥饿应用时,Android智能手机有两个隐私控制器,来防止个人数据泄漏:

  1. 隐式地用替换数据来代替用户希望保持私密的数据;
  2. 只运行在设备上的包含用户许可应用使用的数据,阻止其网络传输。

但是,有保护个人资料意识的用户将对应用的角色作出初步判断,并且有很多的标准方便用户作出判断不符合应用程序权限的列表功能性能,比如应用未知来源,应用程序评价不佳,缺少应用程序描述。为了有效保护个人资料让用户体验各种各样的APP,本文提出了一种称为Protectedroid的方案这平衡了用户体验,保证私有数据系统的安全性和有效性。在本文中,灰名单表示未识别的应用程序有限的可靠性和可靠性来自不确定的、未知来源的Android市场,但用户需求并打算尝试安装。安装前后用户可根据自己的意愿修改权限的作用。当应用程序打算访问个人数据时,Protectedroid将决定实际的服务和根据其作用为应用程序返回数据,从而确保个人资料的安全。

首先,我们解释一下android内容的方式提供者组件管理结构化数据集,以及其他应用程序访问这些资源的方式。本节将帮助我们获得以下Protectedroid架构和实现细节。

内容提供者是Android应用程序块主要构建之一,提供应用内容。 他们封装数据,提供机制用于定义数据安全性并通过单个内容解析器界面将其提供给应用程序。

应用程序从具有内容解析器的内容访问数据提供者解析客户端对象。 这个对象有和方法调用相同名称的方法提供者对象,一个具体的实例内容提供者的子类。 内容解析器方法提供基本的CRUD(创建,检索,更新和删除)持久存储的功能。客户端应用程序中的内容解析器对象进程和内容提供者对象拥有自动处理进程间通讯的功能。 内容提供者也作为一个其数据库与其之间的抽象层数据外观,如表所示:

图2.protectedroid的架构

Protectedroid架构如图2所示。主要由应用程序角色设置管理器,应用程序角色组成设置内容提供者和数据库(AppRole.db)。应用角色设置内容提供者是一个管理本地数据库AppRole.db的模块,并提供用于其他应用程序的CRUD接口;应用角色设置管理器为用户和智能手机提供友好的交互界面,并允许用户重置由App Role提供的角色应用程序和调用接口,设置内容提供者存储新的角色数据数据库。要完成Protectroid的功能,将轻量化修改为原件隐私访问管理器组件的模块和软件包安装/卸载管理器。私人的Android系统中的数据是各种各样的,比如用户位置,电话状态,联系人,短信和用户帐户信息等。隐私访问管理器组件只是一个抽象模块,它作为管理者组件和内容提供者组件来为Android系统管理各种数据和资源。由于隐私访问管理器组件的实体多样性,Protectedroid具有良好的可扩展性。软件包安装/卸载管理器负责APP的安装过程和提取应用程序包信息并提供申请和授予权限界面。实现Protectedroid型号,软件包安装/卸载管理器也需要为用户提供应用的交互式界面角色设置,让用户及时调整自己的终端安全策略。

四、实现

我们已经实现了在Android版本4.0.1_r1上的Protecedroid系统,并在模拟器上成功运行。 目前,我们选择保护三种类型私人数据:联系人,通话记录和消息。 模型很容易扩大,提供额外的保护数据隐私。 在下文中,我们将更详细地解释关于系统如何实现。

A.应用角色设置管理器

应用角色设置管理器是一个独立的完整的Android应用程序,并具有相同的数字签名证书与应用程序角色设置内容提供者。 它只包含两个活动(activities),一个活动显示已安装的第三方应用程序,并且当前具有状态切换按钮的也是用户重置应用角色的接口(如图3.a所示)。结果将通过APP角色设置内容提供者在数据库中进行更新。其他活动将显示权限,即应用这些应用程序,以便用户做出决定(如图3(b)所示。

图3.App角色设置管理器

B.隐私入口管理组件

此管理器组件以本机显示Android系统作为联系人提供者,日历提供者,电话管理员,位置管理员等。这些模块在Android系统应用框架层,并管理数据访问资源。 Protectedroid需要轻量级地修改这些本机模块,添加应用程序角色决策加强隐私访问控制。 这里以内容提供者为例来说明Android私有数据访问机制,并且当Protectedroid被识别到时,Protectedroid是如何操作进程的。如图4所示。

图4.例子:保护接触

当打算安装第三方应用程序时,访问用户联系人,方法getContentResolver()首先在活动(activity)中被调用。然后这个方法调用ApplicationContext.getContentResolver()并返回mContentResolver对象,其次,内容解析器类提供了相同的四个CRUD内容提供者类方法。 mContentResolver对象负责处理数据访问请求。Android使用轻量级的基于绑定者(binder)的进程间通信模式(ICC)为主要组件之间的通信形式。内容解决方案通过内容提供程序组件与Uri匹配,这个过程必须通过中间权限检查过程。检查后,可以获得一个Content Provider代理对象。从来电者的观点,代理对象是一样的本地对象。前者可以调用相同的方法后者的变量。现在访问请求可以由Contacts Provider代理对象执行。在里面原始Android系统联系人提供者将立即处理请求并返回结果,图中虚线。 4也包含那些组件存在于原来的Android。添加Protectedroid之后机制(虚线区域外),机制当联系人需要检查应用程序角色提供者接收数据访问请求。首先,强制隐私保护模块获取呼叫UID通过Android进程间通信机制和呼叫者的包名可以得到方法PackageManager.getPackagesForUid(调用UID)。根据包名称,发出角色查询应用角色设置内容提供者。如果请求者是在白名单中设置,请求将被当成一般情况处理。如果没有,请求者则是设置在灰名单中,然后null或false对象将被返回。所以Protectedroid可以完全消除泄漏私有数据。

C.App角色设置内容提供者

内容提供者是标准的将一个进程中的数据与其他进程中的数据进行连接处理的界面。 内容提供者向外部提供数据应用程序作为一个或多个类似于的表在关系数据库中找到的表。 一行代表一个提供商收集的某些类型的数据的实例,以及行中的每一列代表一个单独的一个,例如收集数据。

当通过Content Resolver进行请求时,系统检查给定URI的权限并通过向内容提供商的请求注册。内容提供商可以解释它想要的URI其余部分。 UriMatcher类是为了有助于解析URI而设计的。访问如同以下格式的URI://com.android.provider.authprovider /。内容URI包括整个提供者的符号名称(com.android.provider.authprovider)和一个名称指向一个表(全局)。当你打电话给客户端方法访问提供程序中的表,内容URI对于表是其中之一。应用角色设置内容提供者继承了内容提供者类和实现了父类query(),update(),insert(),delete()方法提供其他应用程序的操作本地数据库接口。 AppRole.db维护本地数据库供用户安装和更新第三方应用角色。隐私管理模块(如ContactsProvider,CalendarProvider等)进行检测的数据访问请求,它将首先与App进行交互角色设置内容提供者,并检查请求者角色。角色结果决定了真实性私有数据返回给请求者。私人的类型数据确定返回的结果。考虑到用户经验和系统开销,复杂的算法没有必要。联系人,例如,空对象返回请求者似乎合理和安全个人资料。

D.软件包安装

剩余内容已隐藏,支付完成后下载完整资料


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

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

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