网络安全新常态下Android应用供应链安全探秘(上)

2018-09-30 16:05:03

前言

时至2018年,移动互联网的发展已走过十年历程,智能设备已深入人们生活的方方面面,其安全问题也时刻牵动着人们的神经。自2014年移动端恶意软件爆发时增长以来,Google、手机厂商和移动安全厂商都投入了巨大的精力,与恶意开发者进行了激烈的对抗。过去几年,经过各方的共同努力,普通Android恶意软件的迅猛增长趋势已经得到遏制,据腾讯手机管家数据显示,2018年上半年Android平台新增恶意样本数468.70万,较去年同期下降47.8%。但与此同时,腾讯大数据监测到基于Android应用供应链的其他环节的安全问题逐渐增多,显示出恶意开发者已经将更多的目光投向Android应用供应链的薄弱环节。鉴于供应链安全问题较强的隐蔽性和影响的广泛性,希望相关各方关注供应链攻击的新形式,做好有效的安全防御措施。


一、新常态下Android应用安全威胁朝供应链环节转移

2017年永恒之蓝勒索蠕虫事件和《网络安全法》的正式实施是网络安全行业的一个分水岭,广大的政企机构的攻防态势和网络安全的监管形势都发生了根本变化,我们称之为网络安全的新常态。2018年,网络安全将全面进入这种新常态,安全威胁也越来越凸显出攻击复杂化、漏洞产业化、网络军火民用化等日益升级的特点。作为网络安全行业重要领域的移动安全,随着攻防对抗进入深水区,面临的安全威胁也呈现出新的特点:

1. Android恶意样本总体增长趋势得到遏制

过去几年,在Google、手机厂商和安全厂商的共同努力下,移动端恶意软件的迅猛增长趋势得到了遏制。根据Google《2017年度Android安全报告》显示,2017年,有超过70万款应用因违反相关规定从Google Play上下架,Android用户在Google Play 上下载到潜在恶意应用的几率是0.02%,该比率较2016年下降0.02%。而根据腾讯手机管家数据显示,2018年上半年Android平台新增恶意样本468.70万,相比2017年上半年(899万)下降47.8%,扭转了2015年以来的迅猛增长势头。

图片关键词

2. 更多的高端的移动端恶意软件

相较与Android恶意应用总体数量呈下降趋势,高端的、复杂移动恶意软件的攻击却有上升趋势。近年来,安全研究人员和分析团队跟踪了100多个APT组织及其活动,这些组织发起的攻击活动异常复杂,而且拥有丰富的武器资源,包括0day漏洞,fileless攻击工具等,攻击者还会结合传统的黑客攻击动用更复杂的人力资源来完成数据的窃取任务。2016年8月Lookout发表了他们对一个复杂的移动间谍软件Pegasus的研究报告,这款间谍软件与以色列的安全公司NSO Group有关,结合了多个0day漏洞,能够远程绕过现代移动操作系统的安全防御,甚至能够攻破一向以安全著称的iOS系统。2017年4月,谷歌公布了其对Pegasus间谍软件的安卓版Chrysaor的分析报告。除了上述两款移动端间谍软件之外,还有许多其他的APT组织都开发了自定义的移动端植入恶意软件。评估认为,在野的移动端恶意软件的总数可能高于目前公布的数量,可以预见的是,在2018年,攻击量会继续增加,将有更多的高级移动端恶意软件被发现。

3. 更多的供应链薄弱环节被利用

在APT攻击活动的研究过程中,经常可以看到,恶意攻击者为了尝试突破某一目标可以花费很长一段时间,即使屡屡失败也会继续变换方式或途径继续尝试突破,直至找到合适的入侵方式或途径。同时,恶意攻击者也更多地将目光投向供应链中最薄弱的一环,如手机OTA升级服务预装后门程序,第三方广告SDK窃取用户隐私等,这类攻击借助“合法软件”的保护,很容易绕开安全产品的检测,进行大范围的传播和攻击。经过腾讯大数据监测发现,近年来,与Android应用供应链相关的安全事件越来越多,恶意软件作者正越来越多地利用用户与软件供应商间的固有信任,通过层出不穷的攻击手法投递恶意载体,造成难以估量的损失。

综上所述,在Android安全领域,过去几年经Google、手机厂商和安全厂商的共同努力,普通的Android恶意软件的迅猛增长趋势得到了遏制,而恶意开发者则将更多的目光转向了Android应用供应链的薄弱环节,以期增强攻击的隐蔽性和绕过安全厂商的围追堵截,扩大攻击的传播范围。本文将列举近年来与Android应用供应链安全的相关事件,分析Android应用供应链面临的安全挑战,并提出相应的防护对策和建议。


二、Android应用供应链相关概念和环节划分

目前关于Android应用供应链还没有明确的概念,我们根据传统的供应链概念将其简单抽象成如下几个环节:

1.开发环节

应用开发涉及到开发环境、开发工具、第三方库等,并且开发实施的具体过程还包括需求分析、设计、实现和测试等。在这一环节中形成最终用户可用的应用产品。

2.分发环节

用户通过应用商店、网络下载、厂商预装、Rom内置等渠道获取到应用的过程。

3.使用环节

用户使用应用的整个生命周期,包括升级、维护等过程。


三、Android应用供应链生态重要安全事件

从最终用户安全感知角度而言,Android端主要的安全威胁仍然是信息泄露、扣费短信、恶意广告、挖矿木马、勒索软件等常见形态。透过现象看本质,正是因为移动生态环节中的一些安全脆弱点,导致了这些威胁的频发和泛滥。前面定义了应用供应链的概念并抽象出了几大相关环节,攻击者针对上述各环节进行攻击,都有可能影响到最终的应用产品和整个使用场景的安全。

下面,本文将通过相关的安全事件来分析从开发工具、第三方库、分发渠道、应用使用过程等应用供应链相关环节引入的安全风险。

图片关键词

3.1 开发工具相关安全调研

针对开发工具进行攻击、影响最为广泛的莫过于2015年的XcodeGhost(Xcode非官方版本恶意代码污染事件),Xcode 是由苹果公司发布的运行在操作系统Mac OS X上的集成开发工具(IDE),是开发OS X 和 iOS 应用程序的最主流工具。攻击者通过向非官方版本的Xcode注入病毒Xcode Ghost,它的初始传播途径主要是通过非官方下载的 Xcode 传播,通过 CoreService 库文件进行感染。当应用开发者使用带毒的Xcode工作时,编译出的App都将被注入病毒代码,从而产生众多携带病毒的APP。

在Android应用开发方面,由于Android系统的开放性和官方开发工具获取的便捷性,Android平台上尚未发生影响重大的开发工具污染事件。但是当前一些厂商为了进一步简化应用开发者的工作,对Android开发环境进行了进一步的封装,比如App Inventor支持拖拽式开发,PhoneGap等平台支持直接使用html开发应用等,这些开发平台通常为了保证功能的实现,申请大量与用户隐私相关的权限,导致应用存在隐私泄漏的安全风险。另一方面,手机编程工具AIDE和国内支持中文开发的易语言开发工具也进一步降低了恶意开发者的准入门槛,大量使用此类工具开发的恶意应用流入市场,对用户造成安全风险。

3.2 第三方sdk安全事件

    Android应用的开发涉及到许多第三方SDK,包括支付、统计、广告、社交、推送、地图类等多种类型。根据对应用市场上各类型应用TOP 100使用的第三方SDK情况进行分析,发现各类SDK在应用中的集成比例从高到低依次为统计分析类、广告类、社交类、支付类、位置类、推送类。

图片关键词

 

而各种类型的APP在第三方SDK使用数量方面,金融借贷类平均使用的SDK数量最多,达到21.5,紧随其后是新闻类APP,平均数量为21.2;往后是购物类、社交类、银行类和游戏类,平均数量都超过15个;再后面的则是出行类、办公类和安全工具类,平均使用的SDK数量相对较少,分别为11.4、9.7和6.7。

图片关键词

从统计得到的数据可以看到,Android应用在开发时都集成使用了数目众多的第三方SDK,尤其是金融借贷类、购物类、银行类等涉及用户身份信息和财产安全的应用,使用的第三方SDK数量普遍在15个以上,最多的甚至达到30多个。而这些应用集成的第三方SDK中,不仅包含大厂商提供的SDK,而且还包含很多开源社区提供的SDK,这些SDK的安全性都没有得到很好的验证,一旦发生安全问题,将直接危害用户的隐私和财产安全,造成严重的后果。

Android平台数目庞大第三方SDK在加速APP应用产品成型、节省开发成本的同时,其相关安全问题也不容小视。总结近几年Android平台发生第三方SDK安全事件,其安全问题主要发生在以下几个方面:

首先,第三方SDK的开发者的安全能力水平参差不齐,且众多第三方SDK的开发者侧重于功能的实现,在安全方面的投入不足,导致第三方SDK中可能存在着这样或那样的安全漏洞。近两年被爆出的有安全漏洞的第三方SDK主要有FFmpeg漏洞、友盟SDK、zipxx等,由于其被广泛集成到大量的APP中,漏洞的影响范围非常大。

FFmpeg漏洞

安全事件

FFmpeg漏洞

披露时间

2017年6月

事件描述

FFmpeg的是一款全球领先的多媒体框架,支持解码、编码、转码、复用、解复用、流媒体、过滤器和播放几乎任何格式的多媒体文件。

2017年6月,neex向Hackerone平台提交了俄罗斯最大社交网站VK.com的ffmpeg的远程任意文件读取漏洞。该漏洞利用了FFmpeg可以处理HLS播放列表的特性,而播放列表(Playlist)中可以引用外部文件。通过在播放列表中添加本地任意文件的引用,并将该文件上传到视频网站,可以触发本地文件读取从来获得服务器文件内容。同时,该漏洞亦可触发SSRF漏洞,造成非常大的危害。

影响范围

主流的视频应用几乎都采用了该开源框架,一旦被爆出安全漏洞,影响无法估量

参考链接

https://hackerone.com/reports/226756

http://www.freebuf.com/column/142775.html


友盟SDK未导出组件暴露漏洞

安全事件

友盟SDK未导出组件暴露漏洞

披露时间

2017年12月

事件描述

2017年12月,国内消息推送厂商友盟的SDK被爆出存在可越权调用未导出组件的漏洞,利用该漏洞可以实现对使用了友盟SDK的应用进行多种恶意攻击,包括:任意组件的恶意调用、虚假消息的通知、远程代码执行等。

影响范围

7千多款APP应用受影响,涉及多种类型的应用

参考链接

http://www.freebuf.com/articles/system/156332.html


ZipperDown漏洞

安全事件

ZipperDown漏洞

披露时间

2018年5月

事件描述

2018年5月,盘古实验室爆出SSZipArchive和ZipArchive两个开源库解压缩过程中没有考虑到文件名中包含“../”的情况,造成了文件释放过程中路径穿越,导致恶意Zip文件可以在App沙盒范围内,覆盖任意可写文件。

影响范围

影响多款流行应用

参考链接

https://zipperdown.org/

 

其次,部分SDK开发者出于某种目的,在其开发的SDK中预留了后门用于收集用户信息和执行越权操作。相关安全事件:

百度SDK Wormhole事件

安全事件

百度moplus SDK被爆出存在(Wormhole)漏洞

披露时间

2015年11月

事件描述

2015年11月,百度moplus SDK被爆出存在(Wormhole)漏洞,影响多款用户量过亿的应用。通过对Wormhole这个安全漏洞的研究,发现Moplus SDK具有后门功能,攻击者可以利用此后门对受害用户手机进行远程静默安装应用、启动任意应用、打开任意网页、静默添加联系人、获取用用户隐私信息等。

影响范围

14000款app遭植入,安卓设备感染量未知 

参考链接

http://www.freebuf.com/vuls/83789.htmlhttps://www.secpulse.com/archives/40062.html


Igexin SDK窃取用户隐私

安全事件

Igexin SDK窃取用户隐私

披露时间

2017年8月

事件描述

2017年8月,国内一家名为Igexin的广告SDK被移动安全厂商Lookout报出存在秘密窃取用户数据的行为。Igexin SDK借着合法应用的掩护上架应用市场,在应用运行过程中会连接Igexin的服务器,下载并动态加载执行恶意代码,收集上报用户设备上的各种隐私数据,包括设备信息、通话日志记录等。

影响范围

报告指出Google Play上超过500款应用使用了Igexin 的广告SDK,这些应用的总下载次数超过1亿次。

参考链接

https://blog.lookout.com/igexin-malicious-sdk

 


互联网大数据首选

专业个性化信息服务