论文部分内容阅读
根据IDC的统计数据,在2017年第一季度,Google旗下的Android系统占有移动操作系统85.0%的市场份额。Android系统庞大的用户群体导致巨大应用市场。每天都有大量的应用被投入到市场中如Google Play,豌豆荚等。为了提高开发效率,应用中的部分服务是由第三方服务提供商提供的服务,例如广告,数据,社交网络,地图和推送平台。第三方服务提供商将服务封装为工具包(即SDK)供开发者使用。这些第三方SDK中封装了复杂的逻辑实现以及请求响应的过程,只提供接口给开发者使用。例如,在摩拜单车应用中,开发者就使用了 BaiduMap,Bugly,qiniu,sina,wechat,Alipay 等第三方服务。另外,很多流行的第三方服务被大量的应用使用,而这些应用的用户数量都在百万级以上。令人担心的是,一个第三方SDK有安全漏洞,会导致所有包含该SDK的应用程序易受攻击,这严重影响了 Android生态系统的安全性。因此,我们在市场上选取了 129个流行的第三方SDK并对其安全性进行了全面分析。然而,由于第三方SDK不是应用程序无法独立运行。因此,我们将第三方SDK的demo应用作为分析对象进行分析。为了提高分析的准确性,我们使用了在分析Android应用中有效的分析方法包括静态污点追踪、动态污点追踪和动态二进制插桩,并且构建了面向第三方SDK安全的静态和动态分析框架。结果显示,在选取的这些SDK中,超过60%含有各种漏洞(例如:HTTP的误用,SSL/TLS的不正确配置,敏感权限滥用,身份识别,本地服务,通过日志造成信息泄露,开发人员的失误)。这对于相关应用程序的使用者构成了严重的安全威胁。