50 Ways to Leak Your Data: An Exploration of Apps' Circumvention of the Android Permissions System

50 Ways to Leak Your Data: An Exploration of Apps' Circumvention of the Android Permissions System
复制标题

DOI:
--
复制
发表时间:
2019-08
期刊:
--
影响因子:
--
通讯作者:
Joel Reardon;Álvaro Feal;Primal Wijesekera;Amit Elazari Bar On;Narseo Vallina-Rodriguez;Serge Egelman
Joel Reardon;Álvaro Feal;Primal Wijesekera;Amit Elazari Bar On;Narseo Vallina-Rodriguez;Serge Egelman
中科院分区:
其他
文献类型:
--
作者:
Joel Reardon;Álvaro Feal;Primal Wijesekera;Amit Elazari Bar On;Narseo Vallina-Rodriguez;Serge Egelman

文献摘要

被引文献

相似文献

现代智能手机平台实施基于权限的模型,以保护对敏感数据和系统资源的访问。然而,应用程序可以绕过权限模式,通过使用秘密通道和旁路通道,在未经用户同意的情况下访问受保护的数据。在权限系统的实现中,侧通道允许应用程序在未经许可的情况下访问受保护的数据和系统资源;而隐藏通道允许两个串通应用程序之间的通信,以便一个应用程序可以与另一个没有权限的应用程序共享其受权限保护的数据。两者都对用户隐私构成了威胁。在这项工作中,我们利用我们的基础设施,在仪表化环境中运行数十万个应用程序。该测试环境包括监控应用程序运行时行为和网络流量的机制。我们通过搜索在发送应用程序无权访问的网络上发送的敏感数据,来寻找在实践中使用旁路和隐蔽通道的证据。然后,我们对对此行为负责的应用程序和第三方库进行反向工程,以确定未经授权的访问是如何发生的。我们还使用软件指纹方法来衡量我们在语料库中发现的其他应用程序中的技术的静态流行度。使用这种测试环境和方法,我们发现了数百个流行应用程序和第三方SDK正在积极使用的一些旁路和秘密通道,以获得对唯一标识符和地理位置数据的未经授权的访问。我们负责任地向谷歌披露了我们的发现,并因我们的工作而收到了错误赏金。
Modern smartphone platforms implement permission-based models to protect access to sensitive data and system resources. However, apps can circumvent the permission model and gain access to protected data without user consent by using both covert and side channels. Side channels present in the implementation of the permission system allow apps to access protected data and system resources without permission; whereas covert channels enable communication between two colluding apps so that one app can share its permission-protected data with another app lacking those permissions. Both pose threats to user privacy. In this work, we make use of our infrastructure that runs hundreds of thousands of apps in an instrumented environment. This testing environment includes mechanisms to monitor apps' runtime behaviour and network traffic. We look for evidence of side and covert channels being used in practice by searching for sensitive data being sent over the network for which the sending app did not have permissions to access it. We then reverse engineer the apps and third-party libraries responsible for this behaviour to determine how the unauthorized access occurred. We also use software fingerprinting methods to measure the static prevalence of the technique that we discover among other apps in our corpus. Using this testing environment and method, we uncovered a number of side and covert channels in active use by hundreds of popular apps and third-party SDKs to obtain unauthorized access to both unique identifiers as well as geolocation data. We have responsibly disclosed our findings to Google and have received a bug bounty for our work.