网络安全新常态下Android应用供应链安全探秘
时间:2018-07-24
前言
时至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.html https://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 |
再次,部分恶意开发者渗入了SDK开发环节,以提供第三方服务的方式吸引其他APP应用开发者来集成他们的SDK。借助这些合法应用,恶意的SDK可以有效地躲避大部分应用市场和安全厂商的检测,影响大量用户的安全。
“Ya Ya Yun”恶意SDK
安全事件 | “Ya Ya Yun”恶意SDK | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
披露时间 | 2018年1月 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
事件描述 | Doctor Web病毒分析师在Google Play上发现了几款游戏在运行时秘密地下载和启动执行各种恶意行为的附加模块。分析发现作恶模块是一个叫做呀呀云(Ya Ya Yun)的框架(SDK)的一部分。该SDK秘密地从远程服务器下载恶意模块,通过后台打开网站并模拟点击来盗刷广告,获取灰色收益。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
影响范围 | Google Play上超27款游戏应用包含此恶意SDK,影响超450万个用户 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
参考链接 | “寄生推”恶意SDK
3.3 应用分发渠道安全事件Android应用分发渠道在供应链中占据着十分重要的位置,也是安全问题频发的环节。Android应用分发渠道众多,应用市场、厂商预装、破解网站、ROM内置等都是用户获取应用的常见方式。不仅第三方站点下载、破解应用等灰色供应链中获取的软件极易被植入恶意代码,就连某些正规的应用市场,由于审核不严等因素也被攻击者植入过含有恶意代码的“正规”软件。 WireX Android Botnet
Pujia8 破解网站携带木马
除了用户直接获取应用的渠道存在的安全威胁外,其他提供第三方服务的厂商如OTA升级、安全加固等也可能在服务中预留后门程序,威胁用于的隐私和设备安全。 广升被爆向Android设备预装后门
OTA厂商锐嘉科在Android设备中植入rootkit
某加固服务被爆出夹带广告
3.4 使用环节的安全问题用户在使用应用的过程中,也可能面临应用升级更新的情况,2017年12月,Android平台爆出“核弹级”Janus漏洞,能在不影响应用签名的情况下,修改应用代码,导致应用的升级安装可能被恶意篡改。同样,随着越来越多的应用采用热补丁的方式更新应用代码,恶意开发者也趁虚而入,在应用更新方式上做手脚,下发恶意代码,威胁用户安全。 Janus签名漏洞
儿童游戏系列应用
四、供应链安全的发展趋势和带来的新挑战Android供应链安全事件时序图 分析我们整理的关于Android应用供应链的重要安全事件的时序图可以发现,针对供应链攻击的安全事件在影响面、严重程度上都绝不低于传统的恶意应用本身和针对操作系统的漏洞攻击,针对Android应用供应链的攻击的呈现出以下趋势:
针对供应链的攻击事件增多,攻击的深度和广度的延伸也给移动安全厂商带来了更大的挑战。无论是基于特征码查杀、启发式杀毒这类以静态特征对抗静态代码的第一代安全技术,还是以云查和机器学习对抗样本变种、使用白名单和“非白即黑”的限制策略等主动防御手段为主的第二代安全技术,在面对更具有针对性、隐蔽性的攻击时,都显得捉襟见肘。在这种新的攻击环境下,我们极需一种新时代的安全体系来保护组织和用户的安全。 五、打造Android供应链安全生态针对软件供应链攻击,无论是免费应用还是付费应用,在供应链的各个环节都可能被攻击者利用,因此,需要对供应链全面设防,打造Android应用供应链的安全生态。在应对应用供应链攻击的整个场景中,需要手机厂商、应用开发者、应用市场、安全厂商、最终用户等各主体积极参与、通力合作。 手机厂商受到Android系统的诸多特性的影响,系统版本的碎片化问题十分严重。各大手机厂商对现存设备安全漏洞的修复和更新安全补丁的响应时间有很大的区别。
应用开发商/者培养开发人员的安全意识,在开发过程的各个环节建立检查点,把安全性的评估作为一个必要评审项。开发环节严格遵守开发规范,防止类似调试后门等安全威胁的产生。开发完成的应用发布前交给独立的内部或外部测评组织进行安全性评估,及时解决所发现的问题。 通过正规渠道发布应用,对应用签名证书做好保密措施,规范应用发布流程,防止应用签名证书泄露导致应用被篡改。软件升级更新时,要校验下载回来的升级包,保证不运行被劫持的升级包。 应用市场由于Android系统的开发性和一些特殊的原因,各大手机厂商的应用市场、应用宝和众多第三方应用市场是国内应用分发的主要渠道。应用市场在Android应用供应链生态在处于十分关键的位置,也是安全问题频发的环节。针对应用市场,我们给出了以下建议:
安全厂商长期以来安全厂商大多以应用安全和操作系统本身的漏洞为中心提供产品和服务,针对供应链环节的安全问题似乎并没有投入足够的关注。通过上述对应用供应链各环节的重大安全事件分析可以看到,应用开发、交付、使用等环节都存在巨大的安全威胁,其导致的危害并不低于安全漏洞所导致的情况,因此仅关注软件及操作系统本身的安全威胁是远远不够的。所以,安全厂商需要从完整的软件供应链角度形成全景的安全视野,才能解决更多纵深的安全风险。安全厂商可以加强如下几点:
为应对未来严峻的安全挑战,腾讯安全立足终端安全,推出自研AI反病毒引擎——腾讯TRP引擎,TRP引擎通过对系统层的敏感行为进行监控,配合能力成熟的AI技术对设备上各类应用的行为进行深度学习,能有效识别恶意应用的风险行为,并实时阻断恶意行为,为用户提供更高智能的实时终端安全防护。 同时针对恶意软件开发者和黑产从业人员,腾讯反诈骗实验室基于海量的样本APK数据、URL数据和手机号码黑库建立了神羊情报系统,可以根据恶意软件的恶意行为、传播URL和样本信息进行聚类分析,溯源追踪恶意攻击的攻击链条、使用的技术手段、背后的开发团队/者,提供详细的威胁情报,予以精确打击,保护厂商和广大用户免受恶意软件侵害。 最终用户最终用户身处供应链的最末端,作为应用的使用者,也是恶意应用的直接危害对象,我们给出了以下建议:
参考链接:
*本文作者:腾讯手机管家,转载请注明来自FreeBuf.COM 联系老师 15527777548/18696195380 在线咨询 |