首页
社区
课程
招聘
[原创]阿里巴巴发布2015移动安全漏洞年报
发表于: 2016-3-7 15:25 2503

[原创]阿里巴巴发布2015移动安全漏洞年报

2016-3-7 15:25
2503
2015移动安全漏洞年报

第一章 2015年应用漏洞

1.1 业界公开的应用漏洞类型和分布

2015是不平凡的一年,各界媒体对移动应用的漏洞关注度也越来越高,漏洞的产生不仅带来用户设备与信息的安全影响,也给企业带来业务或声誉上的损失。

阿里聚安全每周对国内外50家著名安全公司、媒体、漏洞平台的态势进行分析,国内外移动安全事件和资讯的关注依然是围绕操作系统和移动应用的技术风险展开,其中国内更加关注移动应用的漏洞风险。以下数据结论来自于阿里聚安全对业界风险态势的统计。

1. 行业分布

根据公开的漏洞数据统计,产生漏洞的应用所占行业比例与用户设备中安装的比例相似,应用工具类APP所产生的漏洞占比最高,达54%;游戏类应用漏洞占比最低,为2%,原因是大部分用户手机中安装的游戏应用较少,且游戏类应用更新迭代速度快、漏洞不易被深入挖掘。

图1 2015年公开应用漏洞的行业分布

2. 漏洞类型

移动应用是连接用户与业务的桥梁,在智能设备中与用户直接交互,并通过通信链路传输业务请求到后端服务器。安全研究者从移动应用为入口,对应用进行漏洞挖掘及业务安全分析,数据显示大部分高风险漏洞爆发在服务端环节。

在2015年公开的漏洞数据中,71%的漏洞集中在移动业务网关、服务器端,攻击者把移动应用作为入口进行分析,而漏洞产生及修复需要在服务器端完成。现阶段大量业务从传统的PC端扩展到移动端,在服务器上运行业务逻辑也是较为安全和低成本的实现方式,也印证了以上数据。但正因为业务逻辑是在服务端处理,如果不对作为入口的客户端进行强有效的安全校验,客户端很容易被黑客作为突破口,用于挖掘服务端的业务风险漏洞。阿里聚安全的安全组件提供移动应用访问网络的加签、加密功能,可以从攻击行为上避免被黑客篡改数据包、挖掘服务端的漏洞。

移动应用本身引起的漏洞占总比25%,其中应用的拒绝服务漏洞占客户端漏洞的四分之一。从漏洞详情来看,代码执行漏洞相比去年单一的Webview远程命令执行有了更多的诠释,如代码中预留的指令被执行。诸如以上的逻辑类漏洞,往往需要在特定的业务场景中考虑被绕过及攻击的风险。在软件开发生命周期中融入安全流程,是规避此类漏洞的最佳方式。在代码实现功能前,通过安全评审确保业务逻辑不会被绕过、确保用户数据流向的准确性和安全性。

图2 2015年应用漏洞类型分布

1.2 移动应用漏洞分析

为分析移动应用各行业的漏洞情况,我们在第三方应用市场分别下载了18个行业 的Top10应用共计180个,使用阿里聚安全漏洞扫描引擎对这批样本进行漏洞扫描。18个行业的Top10应用中,97%的应用都有漏洞,总漏洞量15159个,平均每个应用有87个漏洞,且23%的Top10应用都有高风险漏洞。

1. 18个行业Top10应用的漏洞

Webview远程代码执行漏洞量占比最高,达21%,Webview远程代码执行漏洞引起的主要原因是调用了Webview的addJavaScriptInterface方法,该方法的安全风险只在安卓API 17及更高版本中才被Google修复。由于API 17以下的机型在市场上仍占20%,故很多开发者为了兼容性还将Android应用支持的最小版本设置在API 17以下,导致该漏洞量一直不降反升。

图3行业Top10应用的漏洞数量

行业Top10 Android应用的15159个风险漏洞中,23%属于高危漏洞、64%属于中危漏洞,低危漏洞仅占13%。

图4 Top10 Android应用漏洞的风险分布

在所有漏洞中26%是触及了安全红线,触及红线的漏洞 容易被攻击者利用,阿里聚安全建议开发者尽快修复以免影响移动业务的安全。

高危漏洞、中危漏洞、低危漏洞中,触及红线漏洞的占比依次为17%、16%、88%。低危漏洞中触及红线的漏洞占比最大,如拒绝服务漏洞,被利用后会造成应用拒绝服务,但其修复成本低,建议开发者尽快扫描验证并修复。

图5 Top10触及安全红线的漏洞情况

2. 重点行业漏洞分析

18个行业中,旅游类应用的漏洞量最多,占所有行业总漏洞量的13%,电商、游戏、金融等与用户财产息息相关的行业,漏洞数量相对少一些,分别占所有行业总漏洞量的6%、5%、和4%。

金融类Top10 Android应用虽然漏洞总量排名靠后,但其高危漏洞量占比高达34%,位居行业内第一,值得重视。

图6  18个行业Top10 Android应用的漏洞量

1)电商行业Top10 Android应用漏洞

电商类Top10应用共有851个漏洞,平均每个应用含85个漏洞,其中约27%是Webview远程代码执行高危漏洞,可导致恶意应用被植入、通讯录和短信被窃取、手机被远程控制等严重后果。

电商类Top10Android应用的851个漏洞中,约27%是高危漏洞,比18个行业的高危漏洞均值高17%,且电商类应用与用户资金密切相关,开发者可参考阿里聚安全提供的多种方案进行修复,确保用户利益和企业信誉不受影响。

图7 电商类Top10应用的漏洞类别分布

2)游戏行业Top10 Android应用漏洞

游戏类Top10 Android应用有788个漏洞,平均每个应用含79个漏洞。其中29%是Webview远程代码执行高危漏洞。

游戏类Top10 Android应用的788个漏洞中,约19%是高危漏洞,比18个行业的高危漏洞均值低17%,在18个APP行业中高危漏洞相对较少。游戏类应用更新迭代频率高,资金,用户下载量大,存在的漏洞风险亦不容忽视。

图8 游戏类Top10应用的漏洞类别分布

3)金融行业Top10 Android 应用漏洞

金融类Top10 Android 应用有669个漏洞,平均每个含67个漏洞,其中22%是Webview远程代码执行高危漏洞。

金融类Top10 Android 应用的669个漏洞中,约34%是高危漏洞,比18个行业的高危漏洞均值高48%,在18个APP行业中高危漏洞占比最高。由于金融类应用与用户财产息息相关,存在的漏洞隐患给用户财产带来巨大风险。

图9 金融类Top10 Android 应用的漏洞类别分布

1.3 典型应用漏洞

由于Android系统本身的开放性,相较2014年的Webview远程命令执行漏洞,2015年研究者通过研究移动应用在系统中的运行机制,发现了更多新的Android 应用通用漏洞类型,这些漏洞可以通过代码规则进行发现匹配、在开发阶段进行漏洞规避。

1. Android通用拒绝服务漏洞

2015年1月,国内安全厂商的研究人员发现一个Android通用型的拒绝服务漏洞,恶意攻击者可以利用该漏洞使应用崩溃无法正常运行。在漏洞公布时几乎影响市场上所有的Android应用,在漏洞公布初期,每个应用平均有10个以上的漏洞点。

漏洞产生原因是Android API的getStringExtra等getXXXExtra类函数在获取值时,如果获取到自定义的序列化类,就会抛出类未定义的异常,导致应用崩溃。而对于该漏洞的修复也比较简单、几乎不影响业务代码逻辑,只需要加入try catch捕获异常即可。

阿里聚安全漏洞扫描引擎具备动态fuzz功能,能够精准发现该漏洞。

2. 端口开放引起的远程控制风险

如今市场上越来越多的移动应用为了满足业务需求,如进行位置信息交换、或接收其它应用及服务器传输的业务指令,因此在应用运行时开启了可被访问的端口,通过该端口接收数据到本地。一旦端口访问控制不严谨、被攻击者恶意利用,应用可能接收被伪造的协议指令,预留的业务功能被进一步恶意利用。如2015年爆发的各种SDK后门事件中,开放端口是远程控制的重要途径。

2015年10月国内安全研究者发现的WormHole漏洞,指出百度的MoPlus SDK存在采集用户及设备信息,以及添加联系人、拨打电话和发送短信等敏感功能代码,由于应用运行时开启了本地的TCP端口(40310),使得攻击者可以通过向该端口发送请求来获取敏感信息、执行代码中预留的敏感功能。

3. 寄生兽漏洞

“寄生兽”漏洞是一种代码劫持漏洞,但由于该漏洞的利用条件较苛刻,因此影响面也非常有限。在满足可劫持的网络下载环境、可篡改的应用公共存储区、或文件解压不进行合法校验等条件下,可以达到劫持代码、执行恶意程序的目的,一旦利用成功则是高风险的漏洞。

 漏洞原理是Android应用在运行时使用DexClassLoader动态加载和反射调用具有某些特定功能的单独apk或jar文件,以实现插件机制做到无缝升级和功能扩展,函数DexClassLoader第二个参数为目标odex路径,若应用未对odex路径下的缓存文件做保护,则可能在中间人攻击、文件替代等环境下被执行代码。

通过分析恶意代码的执行环境和条件,阿里聚安全的漏洞扫描引擎从攻击路径的角度来发现应用是否存在该漏洞。根据扫描结果,目前市场上受该漏洞影响的应用较少。

1.4 应用安全事件

1. XcodeGhost——编译器后门

2015年9月14日,国内安全研究者发现大量知名的iOS应用同时向某第三方服务器发送大量请求,数亿级的用户信息存在泄漏风险。阿里移动安全通过分析这类iOS应用的样本,于9月17日紧急向开发者发布了安全公告,将该病毒命名为XcodeGhost,公告包含样本细节、检查和修复措施。由于使用了非官方下载、被恶意篡改的iOS应用编译软件Xcode导致。安全公告发布后该接收敏感信息的第三方服务器已紧急关闭,但随后阿里移动安全研究者发现仍有攻击者通过网络劫持的方式、“截胡”用户的敏感信息,影响并未停止。

据统计,使用该恶意Xcode开发的iOS应用达4300+,甚至包含了市场中下载量排名前十的应用,包括但不仅限于微信、网易云音乐、铁路12306等日常工具类软件、甚至银行应用。随后苹果官方发布公告确认了XcodeGhost的不良影响,并且在官方应用商城AppStore中下架了所有受影响的应用。该事件堪称已知影响用户数规模最大,载入移动安全史册。

事件根源是由于开发者为了更便利快速地下载到iOS应用的开发工具Xcode,通过非官方渠道、或p2p下载工具进行下载,这种行为使得恶意攻击者有机可乘:往Xcode中的编译库中插入恶意代码,导致通过其编译的iOS应用被种植了后门程序(XcodeGhost)。后门程序具备向攻击者服务端上传敏感信息、接收控制指令、执行打开网页、发送短信、拨打电话等功能。

图10 XcodeGhost的危害

2. SDK安全事件风波--SDK后门

2015年由第三方SDK引起的安全事件层出不穷,引起了业界震荡及对移动端应用安全的关注。

9月22日,安全研究者发现手游中常用的游戏图形渲染组件Unity3D、Cocos2d-x,也被发现非官方下载渠道的版本包含与XcodeGhost的相类似的功能。此外,有米、多盟、艾德思奇、万普等SDK也被指出可采集用户隐私信息,并遭到苹果商城AppStore的下架,影响应用数上千。其中部分SDK甚至同时影响Android和iOS端,具备全平台兼容能力。有的SDK在发布到苹果商城前,关闭了采集数据的功能 “开关”,因此审核时躲过了苹果商城审核员的检查,在AppStore上架成功、用户安装运行后再远程打开“开关”,实时采集用户隐私数据或执行其它业务指令——“开关”行为也因此被苹果商城审核员列入黑名单。

3. WormHole漏洞——“百度全家桶”

2015年11月,百度系列应用被爆存在“WormHole”漏洞,可被利用远程执行敏感操作:打电话、发短信、获取用户隐私信息等。而产生源头是在于百度的Moplus SDK,百度及旗下大部分产品中均集成,因此被网友称为“百度全家桶”。WormHole 漏洞其实是基于百度的广告端口存在身份验证和权限控制缺陷而产生的,而此端口本来是用于广告网页、升级下载、推广应用的用途。但Moplus代码中预留的各类敏感代码(操作通讯录、电话、短信等)使得WormHole一旦被利用则影响巨大,因为这些APP的用户数量覆盖上亿。

1.5 应用漏洞的发展趋势

1. 漏洞的关注逐渐从应用漏洞转向业务逻辑漏洞

Android市场各行业Top10应用平均每个应用有87个漏洞。大量应用仍包含多种类型的漏洞,居高不下,是由于开发者的安全意识不足:如认为移动端漏洞较难影响正常业务运营,或认为漏洞利用成本较高、需要劫持或具备一定的触发条件。

但从业界采集的漏洞信息来看,大部分的高危漏洞却集中在需人力研究分析的设计缺陷、认证授权等逻辑漏洞类型上。这类漏洞一旦触发能够直接影响用户数据和业务服务器的正常运行流程,导致大量的资损、信息泄漏事件发生。虽然漏洞的分析成本较高,但利用效果更好,平衡攻击成本与收益来看,未来会有更多的业务逻辑漏洞被挖掘发现甚至产生安全事件。

2. 用户隐私信息泄漏将是业务移动化的最大风险

阿里聚安全对国内外市场中的应用进行漏洞扫描,发现国外市场的漏洞同样不计其数,但国外的移动应用业务更关注信息泄漏。从2015年国外媒体的报道中,不论是苹果AppStore还是Google Play,都会非常在意用户隐私数据的存储传输问题,但市场不会因为应用存在漏洞而直接惩罚下架,但一旦触碰到隐私数据则难辞其咎。

国外媒体也甚为关注信息的明文存储及传输问题,如AFNetWorking网络库SDK,曾因未强校验服务端HTTPS证书问题而被媒体指责。如今用户的使用习惯已经移动化,信息泄漏将是移动化的最大风险,是未来长久的话题。

3. 开发者需兼顾开发环境的潜在风险

2015年的应用安全大事件中,开发软件、第三方SDK等开发环境引起的问题已经使大量用户深受其害,并引发了业界舆论。移动应用开发者在关注自身应用是否具有安全风险漏洞的同时,还需要更多兼顾开发环境的潜在风险。由于移动应用存在发版速度慢、修复周期长的问题,各厂商如何快刀切除和修复、动态更新自身的安全性将是未来需要持续关注的难题。开发者可使用阿里聚安全的加固服务,来提升恶意攻击者的分析成本、保护应用安全。


点击查看完整版《2015移动安全漏洞年报》

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//