Android预装应用的分析

admin 2021年8月5日08:17:57评论50 views字数 2785阅读9分17秒阅读模式

Android预装应用的分析

原文作者:Julien Gamba, Mohammed Rashed, Juan Tapiador, Narseo Vallina-Rodriguez
原文标题:An Analysis of Pre-installed Android Software
原文链接:https://ieeexplore.ieee.org/abstract/document/9152633
原文来源:IEEE Symposium on Security and Privacy 2020
笔记作者:2rrrr@SecQuan
文章小编:cherry@SecQuan

介绍

Android 预装应用被打包进固件的过程对于消费者来说并不透明,并且缺乏端到端的控制机制,无法保证其中不会存在漏洞和恶意程序。由于大规模地对不同供应商的预装软件进行访问存在一定的困难,到目前为止,还没有研究者系统地研究过预装的 Android 软件庞大的生态系统以及与之相关的隐私和安全问题。本篇论文中作者对 Android 预装软件的存在现状和行为进行了研究,在会议上获得了“最佳实用论文”奖项。

数据收集

显然,购买市场上所有型号的手机是不可行的。为了解决应用收集的难题,作者使用众包的方法,通过将专门设计的应用程序Firmware Scanner安装在志愿者的设备上收集应用;同时通过流量分析应用Lumen来收集应用的流量数据。

Android预装应用的分析

预装软件的生态系统

Android 系统的开放性造就了一个由不同利益相关者组成的复杂供应链生态系统,包括制造商、MNOs、附属的开发商和经销商。其中任何成员都可以向设备添加专有的应用程序和功能,目的可能是为了寻求更好的用户体验,也可能是为了共同的经济利益。

作者发现,许多预装应用的证书和第三方库都与广告公司有所联系,并且部分预装应用使用的第三方库涉及收集用户屏幕触摸事件等个人数据。此外,应用数据集中仅有 9%在 Play Store 中被索引,74%的非公开应用基本上没有进行过更新,41%的应用在 5 年或更长时间内都没有任何补丁,因此如果这些应用存在漏洞,则用户就可能一直处于风险之中。

权限分析

Android 实现了一个权限模型,以控制应用程序对敏感数据和系统资源的访问。默认情况下,应用程序不允许执行任何受保护的操作。作者利用Androguard提取和研究预装应用中所声明和请求的权限。

声明的自定义权限

通过对自定义权限的案例分析,发现手机供应商、MNOs、分析服务(如百度、ironSourceDigital Turbine)和在线服务(如SkypeLinkedlnSpotifyCleanMasterDropbox)之间存在服务整合和商业伙伴关系,还发现了易受攻击的模块(如联发科)和潜在的有害服务(如Adups)相关的自定义权限。

请求的权限

预装应用普遍需要很多权限来提供服务,虽然并不一定意味着侵犯用户隐私,但是作者研究发现确实有许多预装应用过度请求了权限。例如,Android 核心模块所要求的权限数量在谷歌设备中是 9 个,但在大多数三星设备中则是 100 多个;com.android.contacts平均请求 35 个权限,而在三星、华为、AdvanLG的设备中超过 100 个。

第三方库使用的权限

预装应用如果存在请求访问签名或某些危险权限的 TPL,就可能在用户不知情的情况下访问敏感资源。下图显示了预装软件中 TPLs 请求的系统权限分布,使用最多的前 3 个权限分别是读取系统日志、挂载和卸载文件系统以及安装软件包。

Android预装应用的分析

组件暴露

Android 应用可以使用intent来相互交互,通过声明android:exported=true来将该应用的组件暴露给其他应用使用,但同时也可能导致一些安全问题:几个供应商定制系统中的短信应用com.android.mms向其他应用程序暴露了读取 WAP 信息的服务;两家大厂的手机中发现了几种为客户提供远程技术支持的服务,它们具有录制音视频、浏览文件、访问系统设置和传输文件的能力,然而关键在于这一服务是公开的,意味着有可能被其他应用程序滥用。

行为分析

静态分析

作者使用AndrowarnFlowDroidAmandroid等静态分析工具以及一些基于ApktoolAndroguard框架的自定义脚本,来对应用程序中的行为进行分析。相当一部分应用可以访问用户的设备标识符、地理位置和设备配置,并存在传播联系人和短信内容、发送短信、拨打电话等行为。这一结果也意味着个人数据的收集和传播(无论用户是否知情)不仅普遍存在,而且被预装在了设备中。

流量分析

作者对流量中的域名使用爬虫和文本挖掘技术来确定拥有这些域名的组织。域名数量最多的Alphabet维护着 Android 平台和移动设备中大多数的广告和跟踪服务,FacebookTwitter的服务也被证实整合到了许多预装应用中,AccuWeather等天气应用在以往的报告中也曾被发现收集有关设备及用户的信息。Android预装应用的分析

人工分析

经过静态分析和动态分析管道的筛选,作者选择了 158 个应用程序进行人工逆向分析,分析的结果归为以下三类:

  • 已知的恶意软件:在许多低端设备和少数高端手机中发现了过去几年流行的 Android 恶意软件家族变种,如TriadaRootnikSnowFoxXinyinZtorg以及GMobi开发的可疑软件。这类样本表现出的行为包括银行诈骗、向高级号码发送短信或订阅服务、后台安装额外的应用程序、访问链接和显示广告等。
  • 潜在的个人数据收集和传播行为:作者发现几乎所有能够访问 PII 的应用都会将信息发送给第三方服务器,如许多新闻类的应用以“设备能力”的名义收集硬件信息,对应用程序安装和删除进行跟踪。
  • 潜在的有害程序:部分应用被发现能够实现工厂模式的功能,其中既包括硬件测试等无害功能,也可能存在 root 设备等潜在的危险功能。关键在于这些功能没有受到保护,也就是说可以被其他应用所使用。

提出的建议

  • 归属和问责:为了解决预装应用归属上的困难和由此造成的责任缺失,作者建议引入并使用全球信任的证书机构签署的证书,还可以建立证书透明库,提供签署各种应用的自签名证书的细节和归属。
  • 应用程序说明文档或用户知情同意书:从透明度的角度看,用户几乎不被明确告知设备上安装的第三方软件存在哪些服务,会收集哪些类型数据。因此预装应用可以被要求附带相应的说明文档,便于用户和监管机构进行参考,将应用中的行为清晰地告知用户。

当然,这些建议都是在利益相关者愿意自我规制和改善现状的前提下提出的,其中的一些建议不可避免地与供应链中某些企业利益不一致。这就需要一个独立的第三方来审计这一过程,或是政府和监管机构介入,制定相关法规,从供应链的参与者手中夺回一定的控制权。


安全学术圈招募队友-ing, 有兴趣加入学术圈的请联系secdr#qq.com

Android预装应用的分析



本文始发于微信公众号(安全学术圈):Android预装应用的分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年8月5日08:17:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Android预装应用的分析http://cn-sec.com/archives/447545.html

发表评论

匿名网友 填写信息