导语:整个移动应用开发者所面临的安全问题主要涉及面有终端漏洞威胁,应用重打包威胁,应用仿冒威胁。
移动 APP 已逐步渗透入我们的生活,据统计,2016年,APP 发行数量仅电商、金融、游戏这三大类共计高达2万左右,国内移动互联网活跃用户数已经突破10亿,移动互联网这样快速的推移,移动互联网的安全问题更为严峻,基于腾讯云乐固和腾讯平台的大数据分析, 整个移动应用开发者所面临的安全问题主要涉及面有终端漏洞威胁,应用重打包威胁,应用仿冒威胁。
本移动 APP 安全行业报告将对金融、电商、游戏三大重灾区行业进行举例分析并配以图表说明,还原移动 APP 安全行业本貌。本期来看金融篇。
金融行业移动 APP安全
现状概述
据统计,2015年金融行业移动 APP 用户约为8亿,2016年用户约增长至10亿。
金融行业移动 APP 受漏洞影响如图所示
高危占比23%:数据传输不安全导致盗取用户钱财损害平台利益。
中危占比40%:用户敏感信息泄露,应用被重打包后加入恶意代码和广告。
低危占比37%:应用崩溃,APP主要逻辑被逆向。
支付安全问题位列金融行业移动 APP 安全问题之首。
安全问题种类繁多,但其究竟是如何给广大 APP 用户造成危害的,我们选取一枚案例共同深入分析。
金融行业移动 APP 所遇到的安全问题
案例说话
1客户端与服务器传输安全
中间人攻击原理:中间人攻击主要发生在客户端与服务器通信过程中,黑客利用网络协议的漏洞,进行数据监听数据窃取以及数据篡改等违法行为。
正常通信过程如下所示 :
在android的https协议中,若自定义的X509TrustManager不校验证书或实现的自定义HostnameVerifier不校验域名接受任意域名,就会触发中间人攻击漏洞。
非正常通信过程如下图所示:
乐固团队分析发现大部分银行和理财类APP,都存在此漏洞。
某银行 APP 反编译代码截图
2用户输入数据传输安全
用户手机如果 root过,病毒软件就可以通过监听系统键盘或第三方输入法等方式来获取用户输入的信息,并转发到不法分子手中。
著名漏洞平台上曾经曝光过著名输入法的输入漏洞。
某电商 APP 键盘记录漏洞
3本地数据安全
安卓 Shared Preferences 本地存储方式是开发者常用的存储本地信息的方式,但在 root 过的手机上,黑客可以轻松查阅这些明文保存的信息。
而 android 自带的 SQLite 数据库,也是以明文的形式存储在本地文件中的。黑客同样可以在 root 过的手机中查看这些信息。
手机里存储的明文文件
金融行业移动 APP 安全问题
解决方案
1安全支付解决方案
采用高强度的加密键盘,严格的双认证传输通道,从输入层到传输层保护了每一笔交易每一次数据传输的安全。
2本地安全存储方案
对本地文件进行加密保护。防止本地文件被窃取盗用的风险。
3高级 APP 安全防护方案
能在 APP 代码层面进行加密加花,可防破解,防盗版,防注入,防调试等。
4安全身份认证体系
专为金融客户量身打造,包括人脸核身,短信认证等多重方案。可帮助金融客户在身份认证这一层打击不法分子。
电商行业移动 APP安全
现状概述
2016年移动电商APP总用户数量约6.3亿,其中约2.7亿用户遭受过不同程度安全问题,占比约43%。
电商行业移动 APP 受漏洞影响如图所示
高危占比14%:数据传输不安全导致用户订单泄露、篡改。
中危占比55%:本地数据存储不安全、用户隐私泄露。
低危占比29%:APP 业务逻辑被破解、算法剽窃。
支付安全问题依旧位列电商行业移动 APP 安全问题之首,而被“薅羊毛”问题当属电商行业移动 APP 安全问题的代表。
本篇报告我们针对电商行业移动 APP 代表性安全问题——被“薅羊毛”共同深入分析。
电商行业移动 APP 所遇安全问题
图示说话
与传统零售相比,用户网购体验流程区别较大,基本遵循下图所示的网购流程。
网购流程图
每一个环节都可能引致重大的安全问题,电商 APP 也不例外。下面谈谈网购流程中较容易出现安全问题的三个环节:
1账号注册-登录
电商 APP 的使用流程中,注册-登录过程都可以通过一些自动化工具来完成——批量注册账号、扫号。“羊毛党”们则利用了这一点, 刷取了大量的活动资源。因此,电商APP账号注册-登录系统则是电商平台打击黑产以及薅羊毛的第一道防线。
“羊毛党”们批量注册、扫号流程图
PS:扫号是指使用扫号器对账号、密码进行批量验证。
2商品浏览
移动电商行业中,商家通过“平台活动”吸引用户、促进销量。而“羊毛党”则是通过“强占”商家的这种优质资源并转手真正的用户来谋利。损害了商家与用户的双向权益。
薅羊毛关系链
3订单支付
支付系统是电商 APP 必不可少的一个模块,涉及到用户的账户密码、资金安全。用户在 APP 上支付时,数据如果不做有效保护,随时会被不法分子利用。
电商行业移动 APP 所遇安全问题
案例说话
国内著名移动运营商遭黑卡薅羊毛,流量平台一月被抢8.2万G
2016年12月10日至2017年1月6日期间,某运营商的“有奖答题”营销活动被羊毛党疯狂利用,导致活动开始时网页崩溃,活动福利一抢而空。
参考链接:
http://tech.qq.com/a/20161214/003524.htm
上述案例全过程分析
1薄弱环节:无法鉴别真实用户
爆发这场“薅羊毛”大战的技术原因在于运营商(客户端APP、APP后台)无法有效识别出哪些是真实用户、哪些是羊毛党,也就是缺少图中所示的强大、高效的用户身份鉴别模块。
身份鉴别模块作用示意图
2突破关键:手机号验证已经不是门槛
为提高注册用户身份的真实性、过滤出高价值用户以及防止恶意注册、扫号,案例中的运营商使用了短信验证码。为此,如何突破短信验证码就成为薅羊毛的关键一步。如下图手机打码关系链图。
手机打码关系链
3“薅羊毛”的产业链:分工有序
整个“薅羊毛”有着完备、成熟的产业体系。羊毛党们经过精心的准备,接下来的攻击和套现就变得简单化、便捷化。羊毛党们利用打码平台和卡商提供的海量手机号以及提供的打码服务在运营商的流量平台上批量注册账号,并用注册到的账号采用自动化的软件参与运行商的“有奖答题”活动。整个薅羊毛关系链暴露出这样的核心问题:单纯依据手机号码来鉴别用户已不足以满足电商 APP 被“薅羊毛”的安全需求。看看黑产在这个方向的专业分工:
“薅羊毛”过程图示
电商行业 APP 安全问题
解决方案
随着互联网的蓬勃发展,网购已经成为居民生活消费不可获取的重要部分。除了移动应用通用安全问题外,电商 APP 在业务安全方面存在的问题较大,腾讯云乐固针对电商 APP 提供了定制的安全解决方案。
1支付安全解决方案
采用高度定制的安全键盘,严格的双认证传输通道,确保输入数据安全以及输入层到传输层的数据安全,有效防止截屏、输入信息窃取等威胁。
2应用安全解决方案
乐固安全产品在源码、资源文件、运行时内存、逆向破解等方面对电商 APP 进行全方位保护。
3业务安全解决方案
在 APP 集成短信验证码安全 SDK,与腾讯云乐固&天御防刷后台配合,有效防止批量注册、扫号以及“薅羊毛”等恶意行为,避免企业被刷带来的巨大经济损失。
多维度联合防刷-防薅
小结
对抗“羊毛党”,根源上是识别用户是否真实,是否可靠。电商平台需从多维度去鉴别、过滤。
游戏行业移动 APP安全
现状图示
据统计,2016年游戏类移动 APP 款数约2.6万,2015年游戏类移动 APP 款数约1.5万,2016年相比2015年增长约73%。
游戏行业移动 APP 受漏洞影响如图所示:
高危占比29.9%:游戏客户端与服务器数据传输不安全导致游戏数据可篡改、可泄露等;
中危占比29.2%:游戏客户端本地存档数据未加密,导致存档可篡改、隐私泄露;
低危占比40.9%:应用内存在部分逻辑不严谨,导致在某些情况下应用崩溃;
APP 破解问题位列游戏行业移动 APP 安全问题之首。
游戏行业移动 APP 安全问题
案例说话——重打包
如同传统的互联网黑产一样,手机游戏黑产主要目的是获取非法收益,其手法多种多样,主要包括插入恶意代码、插入广告、破解等。
首先,插入恶意代码主要的方法是黑客对下载的游戏安装包进行反编译,在其中加入恶意代码,再将游戏重新打包为安装包,进行二次发布。相对于原始游戏应用,插入恶意代码的游戏应用可以进行恶意扣费、读取用户的隐私数据、破坏用户的设备,极大损害游戏厂商与游戏玩家的利益;
其次,插入广告作为获取收入的最直接方式,经常出现在手机游戏应用中。普通用户可能不知道这些广告中大部分来自于“打包党”的二次插入,“打包党”们通过反编译工具向应用中插入广告代码与相关配置,再在第三方应用市场、论坛发布;
最后,破解作为直接破坏游戏平衡性的最佳方法一直是游戏开发者深恶痛绝的一种安全问题。众所周知,很大一部分游戏的收入来自于游戏中出售的虚拟物品,而黑客可以使用反编译的手段修改游戏逻辑代码绕过付费验证逻辑,达到不付费即可体验游戏收费功能的目的。这不仅损害了游戏厂商的利益,更破坏了整个游戏体系的平衡,对整个游戏运营系统是暴击。
与此同时,部分渠道被重打包的盗版游戏代码内除了游戏本身的逻辑代码外还包含了一些发送短信的恶意代码,相关的模块在原始的正版应用中并不存在,如下图:
游戏行业移动 APP 所遇安全问题
案例说话——外挂
外挂作为破坏游戏平衡性的常规手段对单机游戏与网络游戏均具备较大的破坏力,对于单机游戏来说,外挂可以协助玩家以较低成本完成游戏,破坏游戏本身的平衡性与可玩性;对于网络游戏来说,外挂在破坏游戏平衡性的同时也会增加服务器端的计算压力。也正因为外挂对于游戏的破坏力惊人,外挂通常被游戏开发者、运营商认定为主要安全问题。
腾讯云乐固团队对市场上比较流行的一款消除类游戏进行调查发现,该游戏外挂以辅助工具的名义存在于各大游戏论坛中,其使用方法简单粗暴,并且配以图文教程。其主要手段是提示消除路径、增加道具使用次数、篡改消除单元排列,通过这些“辅助”方法,游戏难度大大降低,游戏平衡性荡然无存。
下图是篡改消除单元排列的效果图:
游戏行业移动 APP 安全问题
解决方案
通过上文的分析可以看出,手游行业所存在的安全问题主要包括重打包与外挂两大类,腾讯云乐固推出一套完善的移动游戏安全解决方案。
1游戏反重打包解决方案
针对手机游戏行业中存在的插入恶意代码、插入广告、破解等问题,乐固制定了高强度的反重打包方案。在游戏开发者完成开发后,乐固对游戏安装包进行反重打包处理,处理后的游戏安装包内的任何代码、资源文件发生改动均无法正常运行游戏。
2游戏反外挂解决方案
针对市场上出现的外挂进行分类对抗,提高游戏对外挂的免疫力,保护游戏平衡性。
移动 APP 安全行业现状总结
移动 APP 在安全方面存在较多的问题,并且问题分布与应用所在的行业具有密切的关系。比如金融行业的 APP 主要存在的安全问题大都跟数据相关,包括通讯数据安全、本地数据存储安全、运行时数据安全等;电商行业的APP对注册、登录、账户密码安全相关的方面需求更为强烈,包括密码撞库、业务防刷、密码泄漏等;游戏类APP所存在的安全问题根据游戏类型的不同而千差万别,但究其本质主要包括重打包、外挂两大类。
对于APP开发团队来说,在复杂的外部环境中保护团队的开发成果是必要的,应尽可能采取针对行业的专业安全解决方案防范安全问题的出现。
对于APP用户来说,使用盗版应用存在的风险较大,建议从正规的应用市场下载应用。
移动 APP 安全行业报告暂告一段落。在移动 APP 安全方向我们将继续推出技术揭秘系列文章。