Android运行时安全策略实施框架外文翻译资料

 2022-11-06 14:49:52

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


Android运行时安全策略实施框架

作者:Hammad Banuribull;Masoom Alambull;Shahryar KhanJawad Manzoorbull;Bahar Alibull;Yasar Khanbull;Mohsin Yaseenbull;Mir Nauman Tahirbull;Tamleek Alibull;Quratulain Alambull;Xinwen Zhang

摘要

今天,智能手机的恶意软件是具有欺骗性的,足以伪装自己作为一个合法的移动应用程序。特洛伊木马的前端服务就足以吸引移动用户。移动用户下载类似的恶意软件,而不知道他们存在着威胁。与其他供应商不同,Android是一个开源移动操作系统,因此,它缺乏专门的团队来分析应用程序代码并决定其可信度。我们提出了一个用于监控应用程序执行期间的动态行为的Android增强框架。我们提出的架构称为安全增强的Android框架(seaf)通过其权限行使模式验证应用程序的行为。基于所行使的权限的组合,移动用户暗示关于应用的危险行为。我们已经在Android软件栈中实现了提出的框架,并将其移植到设备。根据我们的初步调查结果显示,我们的解决方案具有一定的实用性,可以用于消费市场。

关键字:Android安全,权限标签,智能手机恶意软件

1.引言

当今智能手机的先进技术特性(如增加处理能力,更高的内存,扩展屏幕显示等)为开发者构建更具吸引力和创新的智能手机应用铺平了道路。 这些应用利用一些基于成本和隐私敏感的服务,例如短信,mms,电话,gprs,照相机和gps等。使用这样精细的资源提示消费者确保她的隐私和她的有偿服务的合法使用。 消费者期望移动设备的基本框架足够安全或至少足够清楚地通知消费者第三方应用开发者开发的应用的任何潜在危害。类似于桌面系统,智能手机中的安全问题正变得更加具有威胁性。 在过去几年中,一些恶意软件被设计为瞄准和攻击移动设备[1,2]

Android是第一个面向消费市场的全面的开源移动操作系统。因为一些欧洲和美国服务提供商对新奇事物吸引力的特点,它肯定被他们所注意。 我们的实施框架针对Android,因为它在全球范围内被接受,其安全策略的知识库和它的开放性。 Android的开放性导致了快速增长,这肯定会给Android应用市场带来繁荣。 然而,Android免费软件应用程序在互联网上可用大量,这使Android易受安全攻击。 苹果应用商店使用他们的审批系统限制了应用程序的可用性[3]。 在将应用程序提供给Apple应用商店上的消费者之前,应用程序会针对安全问题进行分析和评估。 没有这样的安全评估机制可用于Android。 它导致Android客户无意中下载恶意应用程序。

Android提供了原始和直观的架构,用于保护安装在其上的应用程序。开发人员可以提供其初始策略来限制对其应用程序的不同组件的访问。然而,现有的Android框架没有强制执行任何安全策略来确保应用程序的可信度。一旦应用程序被安装并且系统资源被允许访问,那么任何不可信安装的应用程序都可能恶意采取行动,系统不会调查动态行为以确保应用程序和系统完整性。此外,Android遵循全有或无限制的权限模型。这意味着为了成功安装应用程序,用户必须接受所有权限(在安装时请求),否则安装过程将被终止。可能存在这样的情况,当用户想要通过允许某些许可并拒绝其他人(保持视图约束核心功能)来定制分配给所安装的应用程序的权限(见第2.5节)。

我们为Android提供了一个扩展框架,以减少恶意软件和木马使用欺骗性的明显功能伪装消费者。 在设计,评估和实施方案中,本文作出以下贡献。

— 我们分别在Android中确定了有关其安全策略和访问控制的几个主要限制。 Android不执行安全评估以减少恶意软件。 Android中的应用程序获取的资源只能通过卸载相应的应用程序来撤销。

— 我们构建一些现实的策略来分析应用程序的行为。 这些策略在本质上是动态的,并且提供了一种在其执行期间评估应用的行为的有效手段。 这些策略基于Android系统提供的知识库,使其高效并与系统兼容。

— 我们提供改进的运行时安全评估引擎,以减少可能滥用系统或其他应用程序资源的任何类型的恶意软件。

— 我们实现的框架还为用户配备了更细粒度的访问控制,使她能够在安装后处理访问权限的自定义。

文档的其余部分组织如下:章节2讨论Android的背景及其安全策略实施机制;第3和4节,我们分别讨论提出的框架和目标架构; 第5节讨论实施,第6节是相关工作,最后是章节 7总结本文。

2.背景

2.1 Android分层架构

Android是第一个全面的开源移动平台。 其结构包括四层。 Android应用程序放置在Android层栈的顶部,它由三层支持,包括应用程序框架,Android运行时和Linux内核。

Linux内核用作硬件和Android的剩余软件堆栈之间的抽象。 Android依靠内核来管理低级系统资源,如内存管理,安全模型,网络堆栈和进程管理。 Android运行时的核心组件是Dalvik虚拟机,专为Android平台而设计,并针对移动设备进行了优化。 每个Android进程运行自己的Dalvik vm的独立实例[4]。 应用程序框架是Android中的一个内置工具包,为其应用程序提供不同的服务集。 应用程序间通信(通常称为ipc-Inter进程间通信)由应用程序框架调解。

2.2 Android应用程序结构

Android的应用程序是用java编写的,但是java字节码的执行不是由Android直接支持的。 Android系统使用一个dx工具,将java代码转换为Dalvik可理解的字节码。 Android中的所有应用程序都使用唯一的Linux用户标识(uid),这允许Dalvik运行多个应用程序,每个应用程序在一个单独的进程中。然而,多个应用程序可以共享单个uid(通过SharedUserId属性),因此可以同时运行到Dalvik vm的单个进程[5]。共享相同uid的应用程序必须使用类似的签名进行签名(开发者使用签名来证明应用程序,这标识了应用程序的开发人员)。 uid机制还提供沙盒并限制潜在的编程损伤[6]。 Android应用可以包括作为活动,服务,广播接收机和内容提供商的四个组件。活动是用户与应用程序交互的可视屏幕。它可以是对象列表,例如,标签到加满菜单或多个图像显示到移动屏幕上的对话框等。应用程序可能包括一个或多个活动,取决于其架构和设计。服务没有可视化界面。它运行到后台,例如播放音乐,通过网络获取数据,计算表达式(其返回结果将通过活动显示,因为服务与可视内容无关)等。广播接收器接收广播公告并根据出现的情况进行反应。 Android系统进行广播公告,如时区已经改变,图片已经被捕获,语言偏好已经改变,或者电池电量低。最后,内容提供商通常是基于SQLite的数据库,支持在应用程序之间共享和访问数据。 Android开发人员还可以使用Android文件存储方法或xml构建内容提供程序。每个Android应用程序都有自己的AndroidManifest.xml文件,其中一些其他信息应用程序声明其组件[7]

2.3 Android安全策略实施机制

参考监视器是Android强制访问控制-mac的核心组件,它负责调节组件间通信(icc)[8]。 icc中介的基本机制是标签制度。应用程序自己的资源(组件)通过分配访问权限标签来保护,而应用程序还保存用于指定在执行期间访问的其他应用程序组件的标签集合。每当组件想要启动icc时,引用监视器检查应用程序的访问许可标签集合。如果目标组件的标签在该集合中,则允许icc建立,否则拒绝[6]

在Android中,组件可以与同一应用程序中的其他组件以及与其他应用程序的组件交互,以及使用基于意图的专用icc机制。 Intent是一个包含要执行的操作的描述的消息传递机制。 Intent可以发送到特定的组件(称为显式意图)或广播到Android框架,然后将其传递到适当的组件(称为隐式意图)。动作字符串用于隐式指定意图;实际上,动作字符串表示要执行的动作的类型,然后Android系统决定哪个组件适合执行这样的动作[6]

除了声明组件,AndroidManifest.xml文件还包含一些与Android的安全策略实施相关的元信息。清单文件的lt;Uses-Permissiongt;标签提及应用程序在执行期间需要访问的组件或其他资源。 lt;Permissiongt;标签表示应用程序自己的组件,其他应用程序或组件可以访问。 lt;Intent-Filtersgt;表示应用程序可以解析的那些意图。除此之外,对于声明到清单文件中的权限标签有四个保护级别。 (1)正常 - 权限由系统授予,未经用户明确批准。 (2)危险 - 这些权限在用户批准后在安装时授予。如果保护等级是“危险的”,则用户有两个选项;接受所有请求的权限或拒绝全部并退出安装过程。 (3)如果请求和授予应用具有相同的证书,签名系统授予这些权限。 (4)SignatureSystem-系统将其授予Android系统映像中的包或使用相同的证书签名。

一些Android系统资源通过组件访问,而一些通过其apis(例如gps,网络,麦克风等)直接访问。 Android系统提供对那些间接访问系统硬件的服务的直接api访问。像应用程序组件一样,apis也通过定义到清单文件中的标签来保护。

2.4 权限

Android当前的访问控制机制强制执行一些原始的mac的功能。 我们已经观察到Android中的几个限制,分别关于其安全策略和访问控制。

1. Android权限模型缺少自定义权限的机制,并遵循全或无策略实施模型。 这意味着用户必须接受所有权限(在安装期间由应用程序提到),以使应用程序的安装成功。 用户没有选项来授予或拒绝应用程序请求的某个权限。

2. Android不会调查应用程序的运行时行为,以防止应用程序出现故障并确保系统完整性。我们建议一个扩展框架到现有的Android架构,以处理任何第三方开发人员应用程序的运行时行为评估,以确保其可信赖性。 我们还为移动用户配置了自定义权限分配,并绕过现有的Android全或无策略模型。

2.5 一个例子

我们选择了一个占星术应用程序,以演示以前解决的现有Android系统的限制。它有助于理解应用程序的动态行为评估和访问权限的自定义的重要性。占星术应用需要三个权限,即INTERNET和READ_CONTACT以及SEND_SMS。它通过RSS提要从互联网收集所选明星的最新描述,然后允许用户与他们的朋友分享她的星信息。显然,这样的任何合法应用程序看起来很好,需要INTERNET,READ_CONTACT和SEND_SMS权限。然而,任何欺骗自己作为有效的占星术应用程序的非法应用程序可以通过行使这些权限来实施信息清除攻击(例如从您的移动电话的通讯录中泄露您的个人联系人信息)。分配给占星术应用程序的访问权限的组合看起来危险,同时它可以是安全的,取决于应用程序的可信赖性。它表明,在安装时不能通过对访问权限组合的静态分析来精确地评估应用程序的可信度[1]。应该有一些运行时评估机制在执行期间精确地观察应用程序的行为。其次,用户可能希望撤销对占星术应用的一些许可而不打扰其核心功能。占星学应用核心功能是提供星象信息而不是将这样的信息发送给朋友。在这种情况下,应允许用户撤销占星应用程序的READ_CONTACT和SEND_SMS权限,以保持她的隐私完好无损。

为了简洁起见,在本文的其余部分,我们使用两个缩写术语。 (1)apr-Access Permission Request是指由应用程序生成的访问资源的请求,(2)aps-Access Permission Sequence是指执行权限的序列,或者换句话说是apr的序列。

3. 建议方案

Android不会调查应用程序运行时行为,以确保其可信度,并防止任何应用程序故障。我们提出安全增强的Android框架(SEAF)来分析其执行过程中的应用程序的动态行为。

所提出的方法告知用户有关应用程序的任何可能有害的活动它发生之前,让用户可以限制在运行的应用程序的访问微妙的资源。此外,还SEAF允许安装后的权限定制丰富的用户控制和绕过现有的Android全有或全无政策执行模式。

3.1 方法

在Android上运行的每个应用程序通过一组权限访问其他应用程序或系统资源。 如前所述,这些权限在应用程序的相应清单文件中定义。 我们定义一个函数,用于将应用程序映射到其所需的一组权限。

定义1:

应用程序访问资源通过一组权限。 我们定义将应用程序A映射到一组请求的权限的函数P。

在当前的Android权限模型中,授予的权限总是等于请求的权限集; 否则,应用程序未安装。 我们提出的模型通过为应用程序请求的权限引入自定义权限,为框架提供了灵活性。 因此,我们将P所授予的权限定义为:

定义2:

应用运行时行为图是有向无环图(S:P),其中S是表示应用的状态的节点的集合,P是表示所行使的不同许可的边的集合。例如,我们写P1→P2→P3来描述已经行使权限p1的应用程序,然后是p2和p3。

考虑几个权限,即READ_CONTACTS和INTERNET,任何第三方应用程序可能需要它的合法功能,同时,这些权限的组合可能是有

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


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

您需要先支付 30元 才能查看全部内容!立即支付

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