【“移动互联网安全”论坛回顾】李蕊:Android自定义权限机制安全性分析

6月4日,由InForSec主办,清华大学(网络研究院)-奇安信联合研究中心、复旦大学系统软件与安全实验室承办,中国科学院计算技术研究所计算机体系结构国家重点实验室、中国科学院软件研究所可信计算与信息保障实验室、百度安全、奇安信集团、蚂蚁集团、阿里安全协办的“网络安全四大顶会研究成果分享”之“移动互联网安全”(二)论坛在线上成功召开。中国科学院大学王基策博士、山东大学李蕊博士、复旦大学廉轲轲博士、中国科学院信息工程研究所向小波博士在会上作了精彩的报告。本次会议由复旦大学副教授张源主持,共77人参加会议。

InForSec将对会议精彩报告进行内容回顾,本文分享的是李蕊博士的报告——《Android自定义权限机制安全性分析》。

首先,李蕊博士介绍了安卓中的两种权限,一种是系统权限,由系统app声明,保护系统资源;另一种是自定义权限,由第三方app声明,保护app资源。以往工作对自定义权限的研究十分欠缺,李博士根据发现的自定义权限的威胁模型,将研究目标总结为:分析安卓系统中自定义权限机制的设计与实现,自动化检测其安全漏洞和设计缺陷。

图片

李博士随后对爬取的17万多个APK进行了分析,发现其中有超过6万个使用了自定义权限。针对自定义权限的问题,李博士团队设计了自动化黑盒模糊测试工具CuPerFuzzer,用以寻找可以触发特权提升的app执行序列 。

图片

经过超过4000小时的实验,李博士团队发现了8个安全漏洞,并总结为7种设计缺陷。

图片

接着,李博士用一个攻击实例讲解了缺陷2——不一致的权限-组映射关系。所有dangerous权限基于组进行管理,如果应用已经获得了某一组里的某个权限,当它请求该组里的其它权限时会被自动授权。然而,系统权限和自定义权限的权限组信息是根据不同的机制来获取的,这导致dangerous系统权限的权限-组映射关系存在不一致。利用该不一致和放入UNDEFINED组中的dangerous级别的自定义权限,应用能够未经许可得到所有dangerous级别的系统权限。

图片

之后,李博士又介绍了缺陷4——不一致的权限定义。应用在更新保护级别的过程中,会导致权限定义的完整性遭到破坏。因此,在系统重启的过程中,之前授予给应用的权限会被更新,进而导致特权提升。 

图片

针对发现的缺陷,李博士团队提出了3种通用的安全设计准则:准则1,权限定义的任何一个部分都应该始终存在;准则2,系统中权限的定义应与权限所有者的声明保持一致;准则3,如果权限的定义发生改变,则应该撤销已授予app中的该权限。

图片

演讲者简介

李蕊,山东大学网络空间安全学院博士在读,师从刁文瑞教授。主要研究方向为移动安全。目前已在IEEE S&P、IEEE TSE、ICSE和CCS上发表过学术论文。多次向Google报告高危级漏洞并获得公开致谢。

视频回顾: Android自定义权限机制安全性分析

Bookmark the permalink.

Comments are closed.