欢迎来到天天文库
浏览记录
ID:31365273
大小:114.00 KB
页数:9页
时间:2019-01-09
《android串谋攻击研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Android串谋攻击研究 摘要:Android串谋攻击是指多个应用通过某种方式进行权限共享或通信,相互配合,协作完成恶意攻击。由于其实现的方式是由多个应用互相配合,组成一个权限整体,因此容易绕过传统的针对单一应用的权限检测,隐蔽性较强。Google应用商店以及其他App发布平台没有对应用权限进行有效的审计,具有串谋攻击的应用可以被随意上传到App市场中,具有很大的潜在危害。该文论述了Android平台上应用程序串谋攻击的原理和实现方法,并提出了有效的检测策略。 关键词:Android;权限;串谋攻击 中图分类号:TP393文献标识码:A文章编
2、号:1009-3044(2016)27-0020-03 1引言 Google公司发行的Android操作系统是目前最为广泛使用的智能设备操作系统,尤其在智能手机市场更是占据了主导地位。Android操作系统的开放性吸引了大批的开发者开发并发布他们的Android应用程序(App)。然而,Google商店及其他主要的App发布平台并没有对开发者上传的App进行有效的权限审计,这造成攻击者能够发行隐藏恶意活动的应用。 目前,Android操作系统将应用权限的批准是由用户决定的,即应用程序在安装时或运行时(Android6.09版本以后)让用户选择接
3、受还是拒绝应用程序所申请的所有权限。然而,大部分用户对应用程序所需要的权限并不了解,盲目的相信并接受权限申请,使得具有恶意目的的应用程序轻易获取了所需的权限。授予应用过多的权限使得它能够进行恶意活动,如泄露敏感信息,发送带有恶意链接的短信,扰乱设备正常功能等等,给用户造成严重的危害。 为了对应用程序的权限是否合理进行检测,Enck[1]等人提出著名的Kirin方法,通过将应用所需的权限与一组预定义的安全策略规则进行比较,从而让用户知道该应用是否请求过多的权限而进行恶意活动。然而,Kirin只能对单一的应用进行检查。如果同一个开发者开发了多个恶意应用
4、,每个应用都能单独通过检测,然后通过权限共享或应用间通信的方式形成一个串谋真题,Kirin方法就不能够有效将它们检测出来。下面本文从Android基本的安全机制、应用程序串谋攻击的原理以及串谋攻击的检测等方面进行论述。 2Android串谋攻击 2.1Android安全机制 Android应用程序主要由四大组件组成:Activities(活动),Services(服务),Contentproviders(内容提供者)和Broadcasterreceivers(广播接受者)。Activities是应用中负责与用户交互的组件,为应用提供可视化的用户
5、界面;Services组件没有图形界面,在后台运行,一般不与用户直接交互,而是为其他组件提供后台服务或监控其他组件的运行状态;Contentproviders是应用间共享数据提供一种标准的机制;Broadcaster9receivers组件接收广播消息,并让应用对外部事件做出响应。当然,并不是所有的Android应用都必须包含这四个组件,可以只包含其中的一个或几个。 Android是一种权限分离的操作系统,每个应用都运行在一个叫Sandbox(沙箱)的独立环境中,Sandbox实现了应用与系统及其他应用间的相互隔离。每个应用拥有唯一的身份ID和Da
6、lvik虚拟机,它只能访问自己或共享的文件,从而实现应用的安全隔离。Android安全机制要求所有的开发者使用所持有的证书和私钥对他们开发的应用进行数字签名。采用相同数字证书的App被Android系统认为是同一个应用。 权限规定了Android系统中应用所能够访问的API及资源,是Android系统安全的核心机制之一。Android定义了135种权限共4个类别:normal,dangerous,signature和signatureorsystem。应用的权限需要在AndroidManifest.xml文件中的Uses-permission标签进
7、行声明。应用在安装时向用户申请权限,一旦授权后,除非将此应用删除,否则权限不会被移除。因此,这种权限机制将安全风险转移给了用户。 2.2串谋攻击分析 2.2.1应用程序间的数据共享 Android操作系统提供了多种应用间通信的方式,进行串谋攻击的应用可以使用这些通信方式进行协调和共享数据,从而进行恶意活动。这里我们介绍最常用的4中应用间的通信方式: ⑴Intents是用来向其他应用组件(Activities,ServicesorBroadcast9Receivers)发出动作请求的消息对象,主要包括目标组件的名称、要执行的动作、数据等内容。I
8、ntents可以分为两种类型:显示Intents和隐式Intents。其中显示Intents通过名称指定目标
此文档下载收益归作者所有