G.O.S.S.I.P 阅读推荐 2022-04-22 Aper

admin 2022年4月22日23:53:53安全闲碎评论4 views1263字阅读4分12秒阅读模式

今天给大家推荐一篇来自ICSE 2022会议上的论文——Aper: Evolution-Aware Runtime Permission Misuse Detection for Android Apps。论文作者指出,当前安卓系统所使用的运行时权限检查模式仍然存在问题,称为Android Runtime Permission issues(ARP)。然而目前的相关检测工具在这类问题上表现一般,因此论文作者针对ARP漏洞的检测问题设计了新的静态分析工具。论文作者在60个现实app中运用Aper工具进行分析,其结果比ARPDroid、RevDroid和Lint的平均性能提高了46.3%,并找到了34个ARP漏洞。


G.O.S.S.I.P 阅读推荐 2022-04-22 Aper


论文作者指出一些"敏感"接口的使用与权限检查之间存在异步性,并且随着安卓系统的升级,一些敏感接口和权限设置可能随之改变,导致app的一些权限检查机制出现不兼容的情况。


在对13,352个谷歌Play中热门的应用程序的实证研究中发现,其中有86.0%的应用程序在权限管理后异步使用了敏感接口, 61.2%的应用程序使用了更新的敏感接口,说明了ARP漏洞的普遍存在性。


G.O.S.S.I.P 阅读推荐 2022-04-22 Aper


G.O.S.S.I.P 阅读推荐 2022-04-22 Aper


G.O.S.S.I.P 阅读推荐 2022-04-22 Aper


根据上述实证研究和分析的结果,论文中将bug类型分为如下两类:

1. 缺乏权限检查

2. 接口及权限使用兼容性问题


Aper工具的整体框架如下所示。第一部分的Context Extractor会遍历一个app的调用图(CG),并从敏感接口和权限检查接口的调用点开始做后向分析,收集其相应的上下文信息。第二部分的Dataflow Analyzer将会根据过程间调用图进行reaching definition 分析和runtime version(RV) reachable分析,判断敏感接口使用前是否有权限检查以及判断其可以在哪些版本的安卓系统下执行。第三部分的Misuse Detector将会根据前两个阶段分析的结果判断是否存在上述两种ARP漏洞。


G.O.S.S.I.P 阅读推荐 2022-04-22 Aper


为了评估Aper工具的性能,论文作者在开源项目中选取了现存的71个ARP bugs,并据此构造出了60个bug APK(35个第一种类型APR漏洞和25个第二种类型ARP漏洞)作为ground truth,其中每个APK都为只包含1个ARP bug的最小可编译APK。在检测的有效性上,Aper完胜Lint、ARPDroid和RevDroid三个相关的主流检测工具。


G.O.S.S.I.P 阅读推荐 2022-04-22 Aper


其中一些指标的定义如下:


G.O.S.S.I.P 阅读推荐 2022-04-22 Aper


为了进一步评估Aper工具在检测现实app时的有效性,论文作者从F-Droid中选取了214个app。最终的实验结果如下所示,总共检测到84个bug,人为分析过后确认了34个TP,其中有17个已经被项目官方确认。


G.O.S.S.I.P 阅读推荐 2022-04-22 Aper


项目源码和测试集信息已开源:https://aper-project.github.io/


原文pdf链接:

https://click.endnote.com/viewer?doi=10.48550/arxiv.2201.12542&route=7

原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 阅读推荐 2022-04-22 Aper

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月22日23:53:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  G.O.S.S.I.P 阅读推荐 2022-04-22 Aper http://cn-sec.com/archives/936565.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: