针对安卓系统位置信息服务的权限提升攻击资料

上传人:第*** 文档编号:121904172 上传时间:2020-02-27 格式:DOC 页数:15 大小:28.50KB
返回 下载 相关 举报
针对安卓系统位置信息服务的权限提升攻击资料_第1页
第1页 / 共15页
针对安卓系统位置信息服务的权限提升攻击资料_第2页
第2页 / 共15页
针对安卓系统位置信息服务的权限提升攻击资料_第3页
第3页 / 共15页
针对安卓系统位置信息服务的权限提升攻击资料_第4页
第4页 / 共15页
针对安卓系统位置信息服务的权限提升攻击资料_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《针对安卓系统位置信息服务的权限提升攻击资料》由会员分享,可在线阅读,更多相关《针对安卓系统位置信息服务的权限提升攻击资料(15页珍藏版)》请在金锄头文库上搜索。

1、针对安卓系统位置信息服务的权限提升攻击: With the continuous extension of application fields, the security problem of Android platform is more and more obvious. Although adopting the authority mechanism, isolating mechanism and application of signature, there are still lots of drawbacks in Android coarse-grained author

2、ization and access control mechanism, which is developer-oriented and is based on users. This results in greatly lower security and being vulnerable to privilege escalation attack in application layer. For this type of attack, existing solutions are mainly concentrated on strengthening the security

3、protection in the middleware. If the communication can be carried out between application layer and kernel layer directly, then privilege escalation attack can obtain success as bypassing those security mechanisms in the middle layer. In this paper, we proposes a privilege escalation attack scheme a

4、gainst Android Location Information service. we built a Dynamic Link Library, which can be run in common application process, to replace the native library. Through calling the Dynamic Link Library, requests in the application layer can bypass the Android access mechanism to reach the bottom and gai

5、n the location information data. The experimental results show that this scheme can realize elevated privileges, confirmed the shortage of the existing Android platform security mechanism. 1 引言 自2009年谷歌正式发布安卓(Android)系统第一版至今,Android出现已经是第九个年头了,其凭借开放平台的特征带来了大量的市场占有率,根据StatCounter监测机构公布的最新数据,2017年3月,使

6、用Android系统的用户占比达37.93%1,其使用量首次超过Windows系统,成为全球最常使用的操作系统。随着使用量的增加,其安全性也受到了越来越多的关注。腾讯安全实验室发布的2016手机安全报告也指出,手机遭遇安全危害的Android系统用户占比37.2%,位居第一2,CVE Details公布的2016年报告显示,存在安全漏洞最多的软件产品是Android系统,共计为523处3。以上数据表明Android系统安全隐患不容忽视。 Android系统主要存在于移动通信中,目前用户对计算机安全认知程度非常高,而对移动通信的认知很低,甚至不少用户还没有意识到移动通信端存在安全问题。如手机上存

7、储着隐私性的移动通信用户个人信息,恶意操作多以资费消耗、隐私窃取和系统破坏为主,有时还通过自动联网、自动拨号和自动发送短信注册服务,使用户蒙受经济损失。另外,在用户不知情的情况下获取用户通讯录、地理位置及信用卡等敏感数据,会造成不可估量的损失4。所以,对移动通信安全性的有效检测和评估,来提高安全性至关重要。 Android系统存在如此严重安全隐患的主要原因就是,它是一种权限分离的操作系统,即一个应用程序想实现功能,就必须获取相应的系统权限。权限获取后,程序在后台对权限的调用就可能会涉及到通信簿、短信、位置信息等各种隐私5。Android系统同时有多个应用在运行,多个应用也设置了对应的访问权限,

8、应用之间可以互相访问,就出现了权限扩展导致的提权漏洞。正是这个漏洞的存在,有些没有特定API访问权限的应用可以通过对第三方应用的访问,间接实现某些超越自身权限的功能,这就是权限提升攻击,这种攻击具体可以分为混淆代理人攻击(Confused Deputy Attack)和共谋攻击(Collusion Attack)6-8。混淆代理人攻击是指恶意程序利用其它程序的未保护接口来间接获得特权功能,普遍存在于 Android缺省程序(如电话、闹钟、音乐和设置程序)以及第三方程序中。共谋攻击是应用层权限提升攻击的另外一种方式:恶意程序可以通过共谋来合并权限,从而执行超出各自特权的动作。Davi L等人9实

9、现了一个短信劫持的混淆代理人攻击。文献10利用两个分别具有录音和网络权限的应用,实现了应用间权限提升共谋攻击。 针对Android 系统的安全采取的措施层出不穷,根据应用于系统位置的不同划分为三类,分别是内核层保护、中间层保护(系统库和运行环境、应用框架)和应用层保护。Android系统内核是Linux 内核,安全增强工作普遍基于安全模块 LSM( Linux Security Module)实现。SELinux on Android11关注内核层的权限提升攻击,SEAndroid使得 SELinux 在 Android 上的实现成为可能。TrustDroid12提出了Android 软件栈中

10、不同层域孤立问题的解决方法,其依赖 Linux 文件权限机制来执行内核层的孤立。中间层通过应用层权限管理、运行时动态权限检测等机制对抗应用层权限提升攻击。例如IPC Inspection13将被调用者的有效权限减少为调用者与被调用者权限的交集;Quire14跟踪IPC 的调用链来减少权限,并提出一种轻量级的签名方案,通过创造签名语句来抵抗混淆代理人攻击。 Apex15是一个政策执行Framework,运行用户在安装时选择的同意权限并且对APP运行时的行为强加限制。应用层应用程序的静态分析是Android系统应用层的主要权限保护机制,用于识别 Android 应用程序是否申请多余权限或提供未保护

11、的开放特权接口等安全缺陷。 上述安全机制只关注各层对权限的分别保护,忽略了层间的配合,对上下文不敏感。这也为应用层权限提升攻击提供了可乘之机。经过深入调研发现Android系统的安全机制存在几个缺陷:以用户为中心,依托用户完成授权工作,极大地降低了系统的安全性;解决方案过度依赖于中间层,如静态分析很多成果依赖于Android权限机制,该机制是在中间层中实现的。 解决方案的不足导致存在这样一种情况,即如果一种攻击方法可以直接穿透中间层到达底层,则可以绕过安卓中间层的安全方案和所有层的权限管理机制。基于此种假设,为验证Android仍然存在安全漏洞,本文提出了一种针对Android系统位置信息服务

12、的权限提升攻击方案,通过编写可以在普通应用进程中运行的且可替代 Android位置信息服务原生库的动态链接库,使得应用层请求只要调用该动态链接库就可以在没有权限的情况下绕过 Android 权限机制到达底层,并获得位置信息数据。 2 攻击方案 2.1 Android定位服务流程 Android 系统拥有位置信息服务,定位方法包括四种,分别是GPS定位、WiFi定位、基站定位、AGPS定位。Android 位置信息服务的调用流程分析如下。LocationManager为整个定位服务的入口类。在LocationManager.java (位于:frameworks/base/location/ja

13、va/android/ location/)中可以看到,LocationManager类中所有功能的实现都依赖于一个名为mService的字段来实现,这个字段的类型是ILocationManager。ILocationManager由LocationManagerService实现。 定位服务的真正实现类是LocationManager Service,该类位于frameworks/base/services/java/com/android/server/LocationManagerService.java中。LocationManagerService.java的另外一个作用就是对申请使

14、用位置信息的应用进行权限检查。本文提出的攻击所需要绕过的第一个访问控制便在此处。 实际上,在移动设备上可真正用于定位服务的通常只有两种实现方法:一种是通过GPS 模块,一种是通过网络。网络定位是通过代理方式来完成的,但代理在运行时可以进行动态替换,具有一定的不确定性16。相反,GPS模块的定位实现是确定的,是可以参考的17。所以,本文通过GPS模块来完成定位的实现类:GpsLocation-Provider(位于:frameworks/base/services/java/com/android/server/location/GpsLocationProvider.java)。 ?过分析可知

15、,当硬件检测到位置更新后,最初调用的是GPS LocationProvider.cpp中的location_callback函数,消息通知的流程。 (1)location_callback函数中对应的是调用GpsLocationProvider.java中的reportLocation方法。 (2)GPS LocationProvider.java 中的report Location方法会调用ILocation-Manager的report Location方法,然后是调用LocationManagerService的reportLocation方法。 (3)LocationManagerSe

16、rvice的reportLocation方法中会对LocationWorkerHandler发送消息MESSAGE_LOCATION_CHANGED。该消息在LocationWorkerHandler的handleMessage方法中被处理。处理方法中会调用LocationProviderInterface的updateLocation方法和LocationManagerService的handleLocationChangedLocked的方法。前者对于Gps模块来说就是调用GpsLocationProvider的updateLocation方法。 (4)GPS LocationProvider的updateLocation 方法会对ProviderHandler发送消息UPDATE_ LOCATION,该消息在ProviderHandler的handler方

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号