Android introduces a new permission model that allows apps to request permissions at runtime rather than at the installation time since 6.0 (Marshmallow, API level 23). While this runtime permission model provides users with greater flexibility in controlling an app's access to sensitive data and system features, it brings new challenges to app development. First, as users may grant or revoke permissions at any time while they are using an app, developers need to ensure that the app properly checks and requests required permissions before invoking any permission-protected APIs. Second, Android's permission mechanism keeps evolving and getting customized by device manufacturers. Developers are expected to comprehensively test their apps on different Android versions and device models to make sure permissions are properly requested in all situations. Unfortunately, these requirements are often impractical for developers. In practice, many Android apps suffer from various runtime permission issues (ARP issues). While existing studies have explored ARP issues, the understanding of such issues is still preliminary. To better characterize ARP issues, we performed an empirical study using 135 Stack Overflow posts that discuss ARP issues and 199 real ARP issues archived in popular open-source Android projects on GitHub. Via analyzing the data, we observed 11 types of ARP issues that commonly occur in Android apps. Furthermore, we conducted a field survey and in-depth interviews among practitioners, to gain insights from industrial practices and learn practitioners' requirements of tools that can help combat ARP issues. We hope that our findings can shed light on future research and provide useful guidance to practitioners.


翻译:Android引入了新的许可模式,允许应用程序在运行时而不是自6.0以来的安装时间( Marshmallow, API 23级)申请许可,允许应用程序在运行时间而不是安装时间( Marshmallow, API 23级)。虽然这一运行时间许可模式为用户控制一个应用程序访问敏感数据和系统特性提供了更大的灵活性,但它给应用程序开发带来了新的挑战。首先,用户在使用应用程序时可随时给予或撤销许可,开发商需要确保应用程序在启动受许可保护的API之前得到适当的检查和请求所需的许可。第二,机器人的许可机制不断演变,并由设备制造商定制。预计开发商将全面测试其不同版本和装置模型的简易应用程序,以确保在各种情况下适当请求访问敏感数据和系统特性,但对于开发者来说,这些要求往往不切实际。在使用应用程序时出现各种运行时间许可问题(ARP问题),尽管现有研究探索ARP问题,但对这些问题的理解仍然是初步的。为了更好地描述ARP问题,我们利用135 Stack 过度流动的输出文章进行一项实验研究,讨论ARB问题和199个实际的ARP问题,我们所观察了公开的ARP 。

0
下载
关闭预览

相关内容

ARP协议(Address Resolution Protocol),或称地址解析协议。
专知会员服务
52+阅读 · 2021年6月30日
专知会员服务
18+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
79+阅读 · 2020年7月26日
开源书:PyTorch深度学习起步
专知会员服务
51+阅读 · 2019年10月11日
2019年机器学习框架回顾
专知会员服务
36+阅读 · 2019年10月11日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
104+阅读 · 2019年10月9日
CCF C类 | DSAA 2019 诚邀稿件
Call4Papers
6+阅读 · 2019年5月13日
计算机 | USENIX Security 2020等国际会议信息5条
Call4Papers
7+阅读 · 2019年4月25日
CCF A类 | 顶级会议RTSS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年4月17日
计算机 | CCF推荐期刊专刊信息5条
Call4Papers
3+阅读 · 2019年4月10日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
已删除
将门创投
7+阅读 · 2018年8月28日
机器人开发库软件大列表
专知
10+阅读 · 2018年3月18日
【推荐】GAN架构入门综述(资源汇总)
机器学习研究会
10+阅读 · 2017年9月3日
【推荐】Python机器学习生态圈(Scikit-Learn相关项目)
机器学习研究会
6+阅读 · 2017年8月23日
Arxiv
49+阅读 · 2020年12月16日
Arxiv
6+阅读 · 2018年2月7日
VIP会员
相关VIP内容
专知会员服务
52+阅读 · 2021年6月30日
专知会员服务
18+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
79+阅读 · 2020年7月26日
开源书:PyTorch深度学习起步
专知会员服务
51+阅读 · 2019年10月11日
2019年机器学习框架回顾
专知会员服务
36+阅读 · 2019年10月11日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
104+阅读 · 2019年10月9日
相关资讯
CCF C类 | DSAA 2019 诚邀稿件
Call4Papers
6+阅读 · 2019年5月13日
计算机 | USENIX Security 2020等国际会议信息5条
Call4Papers
7+阅读 · 2019年4月25日
CCF A类 | 顶级会议RTSS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年4月17日
计算机 | CCF推荐期刊专刊信息5条
Call4Papers
3+阅读 · 2019年4月10日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
已删除
将门创投
7+阅读 · 2018年8月28日
机器人开发库软件大列表
专知
10+阅读 · 2018年3月18日
【推荐】GAN架构入门综述(资源汇总)
机器学习研究会
10+阅读 · 2017年9月3日
【推荐】Python机器学习生态圈(Scikit-Learn相关项目)
机器学习研究会
6+阅读 · 2017年8月23日
Top
微信扫码咨询专知VIP会员