Android勒索软件研究报告
Android勒索软件研究报告
Author:360移动安全团队
0x00 摘要
- 手机勒索软件是一种通过锁住用户移动设备,使用户无法正常使用设备,并以此胁迫用户支付解锁费用的恶意软件。其表现为手机触摸区域不响应触摸事件,频繁地强制置顶页面无法切换程序和设置手机PIN码。
- 手机勒索软件的危害除了勒索用户钱财,还会破坏用户数据和手机系统。
- 手机勒索软件最早从仿冒杀毒软件发展演变而来,2014年5月Android平台首个真正意义上的勒索样本被发现。
- 截至2016年第一季度,勒索类恶意软件历史累计感染手机接近90万部,从新增感染手机数据看,2015年第三季度新增感染手机接近35万部。
- 截至2016年第一季度,共捕获手机勒索类恶意样本7.6万余个。其中国外增长迅速,在2015年第三季度爆发式增长,季度捕获量接近2.5万个;国内则稳步上升。
- 国外最常伪装成色情视频、Adobe Flash Player和系统软件更新;国内则最常伪装成神器、外挂及各种刷钻、刷赞、刷人气的软件。
- 从手机勒索软件的技术原理看,锁屏主要利用构造特殊的悬浮窗、Activity劫持、屏蔽虚拟按键、设置手机PIN码和修改系统文件。解锁码生成方式主要是通过硬编码、序列号计算、序列号对应。解锁方法除了直接填写解锁码,还能够通过短信、联网和解锁工具远程控制解锁。
- 制作方面,主要使用合法的开发工具AIDE,通过QQ交流群、教学资料、收徒传授的方式进行指导。
- 传播方面,主要通过QQ群、受害者、贴吧、网盘等方式传播。
- 制马人通过解锁费、进群费、收徒费等方式获取非法所得,日收益在100到300元不等,整个产业链收益可达千万元。
- 从制马人人群特点看,年龄分布呈现年轻化,集中在90后和00后。一方面自己制作勒索软件;另一方面又通过收徒的方式像传销一样不断发展下线。
- 从被敲诈者人人群特点看,主要是一些经常光顾贴吧,以及希望得到各种“利器”、“外挂”的游戏QQ群成员。
- 从预防的角度,可以通过软件大小、名称、权限等方式进行甄别,同时需要提高个人安全意识,养成良好的使用手机习惯。
- 在清除方法上,可以通过重启、360手机急救箱、安全模式、ADB命令、刷机等多种方案解决。
0x01 Android平台勒索软件介绍
一、勒索软件定义
手机勒索软件是一种通过锁住用户移动设备,使用户无法正常使用设备,并以此胁迫用户支付解锁费用的恶意软件【1】。
[7] [8] [9] [10] [11] [12] [13] [14] [15]
1)主要通过将手机触摸屏部分或虚拟按键的触摸反馈设置为无效,使触摸区域不响应触摸事件。
2)频繁地强制置顶页面,造成手机无法正常切换应用程序。
3)设置手机锁定PIN码,无法解锁进入手机系统。
[7] [8] [9] [10] [11] [12] [13] [14] [15]
三、勒索软件的危害
1)敲诈勒索用户钱财
2)加密手机文件,破坏用户数据
3)清除手机应用,破坏手机系统
四、勒索软件历史演变
- 2013年06月Android.Fakedefender【2】,仿冒杀毒软件恐吓用户手机存在恶意软件要求付费并且顶置付费提示框导致无法清除。
- 2014年05月Android.Koler【3】,Android平台首个真正意义上的勒索样本。
- 2014年06月Android.Simplocker【4】,首个文件加密并且利用洋葱网络的勒索样本。
- 2014年06月Android.TkLocker【5】,360发现首个国内恶作剧锁屏样本。
- 2014年07月Android.Cokri【6】,破坏手机通讯录信息及来电功能的勒索样本。
- 2014年09月Android.Elite【7】,清除手机数据并且群发短信的锁屏样本。
- 2015年05月Android.DevLocker【8】,360发现国内出现首个设置PIN码的勒索样本。
- 2015年09月Android.Lockerpin【9】,国外出现首个设置PIN码的勒索样本。
[7] [8] [9] [10] [11] [12] [13] [14] [15]
0x02 Android平台勒索软件现状
一、勒索类恶意样本感染量
截至2016年第一季度,勒索类恶意软件历史累计感染手机接近90万部,通过对比2015到2016年季度感染变化趋势,可以看出2015年第三季度新增感染手机接近35万部。
二、勒索类恶意样本数量
截至2016年第一季度,共捕获勒索类恶意样本7.6万余个,通过对比2015到2016年季度变化情况,可以看出国外勒索类恶意软件增长迅速,并且在2015年第三季度爆发式增长,季度捕获量接近2.5万个;反观国内勒索类恶意软件增长趋势,虽然没有爆发式增长,但是却呈现出稳步上升的趋势。
三、常见伪装对象
对比国内外勒索类恶意软件最常伪装的软件名称可以看出,国外勒索类恶意软件最常伪装成色情视频、Adobe Flash Player和系统软件更新这类软件。而国内勒索类恶意软件最常伪装成神器、外挂及各种刷钻、刷赞、刷人气的软件,这类软件往往利用了人与人之间互相攀比的虚荣心和侥幸心理。
四、用户损失估算
2015年全年国内超过11.5万部用户手机被感染,2016年第一季度国内接近3万部用户手机被感染。每个勒索软件的解锁费用通常为20、30、50元不等,按照每位用户向敲诈者支付30元解锁费用计算,2015年国内用户因此遭受的损失达到345万元,2016年第一季度国内用户因此遭受的损失接近90万。
0x03 Android平台勒索软件技术原理
[7] [8] [9] [10] [11] [12] [13] [14] [15]
一、锁屏技术原理
1)利用WindowManager.LayoutParams的flags属性
通过addView方法实现一个悬浮窗,设置WindowManager.LayoutParams的flags属性,例如,“FLAG_FULLSCREEN
”、“FLAG_LAYOUT_IN_SCREEN
”配合“SYSTEM_ALERT_WINDOW
”的权限,使这个悬浮窗全屏置顶且无法清除,造成手机屏幕锁屏无法正常使用。
2)利用Activity劫持
通过TimerTask定时监控顶层Activity,如果检测到不是自身程序,便会重新启动并且设置addFlags值为“FLAG_ACTIVITY_NEW_TASK
”覆盖原来程序的Activity,从而利用Activity劫持手段,达到勒索软件页面置顶的效果,同时结束掉原来后台进程。目前Android5.0以上的版本已经采取了保护机制来阻止这种攻击方式,但是5.0以下的系统仍然占据绝大部分。
3)屏蔽虚拟按键
通过改写onKeyDown方法,屏蔽返回键、音量键、菜单键等虚拟按键,造成不响应按键动作的效果,来达到锁屏的目的。
4)利用设备管理器设置解锁PIN码
[7] [8] [9] [10] [11] [12] [13] [14] [15]
5)利用Root权限篡改系统文件
如果手机之前设置了解锁PIN码,勒索软件通过诱导用户授予Root权限,篡改/data/system/password.key文件,在用户不知情的情况下设置新的解锁PIN码替换旧的解锁PIN码,达到锁屏目的。
二、解锁码生成方式
1)解锁码硬编码在代码里
有些勒索软件将解锁码硬编码在代码里,这类勒索软件解锁码唯一,且没有复杂的加密或计算逻辑,很容易找到解锁码,比较简单。
2)解锁码通过序列号计算
与硬编码的方式相比,大部分勒索软件在页面上都显示了序列号,它是恶意软件作者用来标识被锁住的移动设备编号。一部分勒索软件解锁码是通过序列号计算得出,例如下图中的fkey代表序列号,是一个随机生成的数;key代表解锁码,解锁码是序列号*3-98232计算得出。这仅是一个简单的计算例子,这种方式解锁码随序列号变化而变化,解锁码不唯一并且可以使用复杂的计算逻辑。
3)解锁码与序列号键值对关系
还有一部分勒索软件,解锁码与序列号都是随机生成,使用键值对的方式保留了序列号和解锁码的对应关系。这种方式序列号与解锁码没有计算关系,解锁码会经过各种加密变换,通过邮件等方式回传解锁码与序列号的对应关系。
[7] [8] [9] [10] [11] [12] [13] [14] [15]
三、常见解锁方法
1)直接输入解锁码解锁
用户通过付给敲诈者钱来换取设备的解锁码。将解锁码直接输入在勒索页面里来解锁屏幕,这是最常见的勒索软件的解锁方式之一。
2)利用短信控制解锁
短信控制解锁方式,就是通过接收指定的短信号码或短信内容远程解锁,这种解锁方式会暴露敲诈者使用的手机号码。
3)利用联网控制解锁
敲诈者为了隐藏自身信息,会使用如洋葱网络等匿名通信技术远程控制解锁。这种技术最初是为了保护消息发送者和接受者的通信隐私,但是被大量的恶意软件滥用。
4)利用解锁工具解锁
敲诈者为了方便进行勒索,甚至制作了勒索软件配套的解锁控制端。
0x04 Android平台勒索软件黑色产业链
本章主要从Android平台勒索软件的制作、传播、收益角度及制马人和被敲诈的人群特点,重点揭露其在国内的黑色产业链。
[7] [8] [9] [10] [11] [12] [13] [14] [15]
一、制作
(一)制作工具
国内大量的锁屏软件都使用合法的开发工具AIDE,AIDE是Android环境下的开发工具,这种开发工具不需要借助电脑,只需要在手机上操作,便可以完成Android样本的代码编写、编译、打包及签名全套开发流程。制马人使用开发工具AIDE只需要对源码中代表QQ号码的字符串进行修改,便可以制作成一个新的勒索软件。
因为这种工具操作简单方便,开发门槛低,变化速度快,使得其成为制马人开发勒索软件的首选。
(二)交流群
通过我们的调查发现,制马人大多使用QQ群进行沟通交流,在QQ群查找里输入“Android锁机”等关键字后,就能够找到很多相关的交流群。
图是某群的群主在向群成员炫耀自己手机中保存的锁机源码
(三)教学资料
制作时不仅有文字资料可以阅读,同时在某些群里还提供了视频教程,可谓是“图文并茂”
锁机教程在线视频
锁机软件教程
[7] [8] [9] [10] [11] [12] [13] [14] [15]
(四)收徒传授
在群里,群主还会以“收徒”的方式教授其他人制作勒索软件,在扩大自己影响力的同时,也能够通过这种方式获取利益。
二、传播
通过我们的调查研究,总结出了国内勒索软件传播示意图
制马人通过QQ群、受害者、贴吧、网盘等方式,来传播勒索软件。
(一)QQ群
制马人通过不断加入各种QQ群,在群共享中上传勒索软件,以“外挂”、“破解”、“刷钻”等各种名义诱骗群成员下载,以达到传播的目的。
(二)借助受害者
当有受害者中招时,制马人会要求受害者将勒索软件传播到更多的QQ群中,以作为换取解锁的条件。
(三)贴吧
制马人在贴吧中以链接的方式传播。
[7] [8] [9] [10] [11] [12] [13] [14] [15]
(四)网盘
制马人将勒索软件上传到网盘中,再将网盘链接分享到各处,以达到传播的目的。
三、收益
通过我们的调查研究,总结出了国内勒索软件产业链的资金流向示意图
制马人主要通过解锁费、进群费、收徒费等方式获取非法所得,日收益在100到300元不等。
(一)收益来源
解锁费
进群费
收徒费
(二)日均收益
制马人通过勒索软件的日收益在100到300元不等
[7] [8] [9] [10] [11] [12] [13] [14] [15]
(三)产业链收益
2015年全年国内超过11.5万部用户手机被感染,2016年第一季度国内接近3万部用户手机被感染。每个勒索软件的解锁费用通常为20、30、50元不等,按照每个勒索软件解锁费用30元计算,2015年国内Android平台勒索类恶意软件产业链年收益达到345万元,2016年第一季度接近90万。国内Android平台勒索类恶意软件历史累计感染手机34万部,整个产业链收益超过了千万元,这其中还不包括进群和收徒费用的收益。
四、制马人人群特点
(一)制马人年龄分布
从抽取的几个传播群中的人员信息可以看出,制马人的年龄分布呈现年轻化,集中在90后和00后。
(二)制马人人员架构
绝大多数制马人既扮演着制作者,又扮演着传播者的角色。他们一方面自己制作勒索软件,再以各种方式进行传播;另一方面又通过收徒的方式像传销一样不断发展下线,使制马人和传播者的人数不断增加,勒索软件的传播范围更广。
这群人之所以肆无忌惮制作、传播勒索软件进行勒索敲诈,并且大胆留下自己的QQ、微信以及支付宝账号等个人联系方式,主要是因为他们年龄小,法律意识淡薄,认为涉案金额少,并没有意识到触犯法律。甚至以此作为赚钱手段,并作为向他人进行炫耀的资本。
五、被敲诈人人群特点
通过一些被敲诈的用户反馈,国内敲诈勒索软件感染目标人群,主要是针对一些经常光顾贴吧的人,以及希望得到各种“利器”、“外挂”的游戏QQ群成员。这类人绝大多数是90后或00后用户,抱有不花钱使用破解软件或外挂的侥幸心理,或者为了满足互相攀比的虚荣心,容易被一些带有“利器”、“神器”、“刷钻”、“刷赞”、“外挂”等名称的软件吸引,从而中招。
[7] [8] [9] [10] [11] [12] [13] [14] [15]
0x05 Android平台勒索软件的预防
一、勒索软件识别方法
1)软件大小
安装软件时观察软件包的大小,这类勒索软件都不会太大,通常不会超过1M。
2)软件名称
多数勒索软件都会伪装成神器、外挂及各种刷钻、刷赞、刷人气的软件。
3)软件权限
多数勒索软件会申请“SYSTEM_ALERT_WINDOW”权限或者诱导激活设备管理器,需要在安装和使用时留意。
二、提高个人安全意识
1)可信软件源
建议用户在选择应用下载途径时,应该尽量选择大型可信站点,如360手机助手、各软件官网等。
2)安装安全软件
建议用户手机中安装安全软件,实时监控手机安装的软件,如360手机卫士。
3)数据备份
建议用户日常定期备份手机中的重要数据,比如通讯录、照片、视频等,避免手机一旦中招,给用户带来的巨大损失。
4)拒绝诱惑
建议用户不要心存侥幸,被那些所谓的能够“外挂”、“刷钻”、“破解”软件诱惑,这类软件绝大部分都是假的,没有任何功能,只是为了吸引用户中招。
5)正确的解决途径
[7] [8] [9] [10] [11] [12] [13] [14] [15]
0x06 Android平台勒索软件清除方案
一、手机重启
手机重启后快速对勒索软件进行卸载删除是一种简单便捷的清除方法,但这种方法取决于手机运行环境和勒索软件的实现方法,仅可以对少部分勒索软件起作用。
二、360手机急救箱
360手机急救箱独有三大功能:“安装拦截”、“超强防护”、“摇一摇杀毒”,可以有效的查杀勒索软件。
安装拦截功能,可以让勒索软件无法进入用户手机;
超强防护功能,能够清除勒索软件未经用户允许设置的锁屏PIN码,还能自动卸载木马;
摇一摇杀毒可以在用户中了勒索软件,无法操作手机的情况下,直接杀掉木马,有效保护用户安全。
三、安全模式
安全模式也是一种有效的清除方案,不同的机型进入安全模式的方法可能不同,建议用户查找相应机型进入安全模式的具体操作方法。
我们以Nexus 5为例介绍如何进入安全模式清除勒索软件,供用户参考。步骤如下:
- 步骤一:当手机被锁后长按手机电源键强制关机,然后重启手机。
- 步骤二:当出现Google标志时,长按音量“-”键直至进入安全模式。
- 步骤三:进入“设置”页面,找到并点击“应用”。
- 步骤四:找到对应的恶意应用,点击卸载,重启手机,清除成功。
四、ADB命令
对有一定技术基础的用户,在手机有Root权限并且已经开启USB调试(设置->开发者选项->USB调试)的情况下,可以将手机连接到电脑上,通过ADB命令清除勒索软件。
[7] [8] [9] [10] [11] [12] [13] [14] [15]
1
2
3
|
> adb shell > su > rm /data/system/password .key |
[7] [8] [9] [10] [11] [12] [13] [14] [15]
针对其他类型的勒索软件,同样需要在命令行下执行rm命令,删除勒索软件安装的路径。
五、刷机
如以上方法都无法解决,用户参考手机厂商的刷机指导或者到手机售后服务,在专业指导下进行刷机操作。
0x07 附录:参考资料
- 【1】:Mobile security
- 【2】:FakeAV holds Android Phones for Ransom
- 【3】:Police Locker land on Android Devices
- 【4】:ESET Analyzes Simplocker – First Android File-Encrypting, TOR-enabled Ransomware
- 【5】:TkLocker分析报告
- 【6】:病毒播报之流氓勒索
- 【7】:Vandal Trojan for Android wipes memory cards and blocks communication
- 【8】:手机锁屏勒索国内首现身
- 【9】:Aggressive Android ransomware spreading in the USA
[7] [8] [9] [10] [11] [12] [13] [14] [15]
Android勒索软件研究报告的更多相关文章
- android86 监听SD卡状态,勒索软件,监听应用的安装、卸载、更新,无序广播有序广播
* 添加权限 <uses-permission android:name="android.permission.RECEIVE_SMS"/> * 4.0以后广播接收者 ...
- 发送垃圾邮件的僵尸网络——药物(多)、赌博、股票债券等广告+钓鱼邮件、恶意下载链接、勒索软件+推广加密货币、垃圾股票、色情网站(带宏的office文件、pdf等附件)
卡巴斯基实验室<2017年Q2垃圾邮件与网络钓鱼分析报告> 米雪儿 2017-09-07 from:http://www.freebuf.com/articles/network/1465 ...
- 1千万英国用户被Cryptolocker勒索软件瞄准
英国国家打击犯罪调查局(NCA)发布国家紧急警报,警报一场大规模的垃圾邮件,这些邮件中包含了一款名为CryptoLocker的勒索程序,把目标瞄准了1千万英国的email用户,该程序会加密用户的文档, ...
- android 打开软件出现红框
android打开软件的时候会出现红框,剑锋之前解了这个问题.fork过来,方便以后查看. 参考链接: http://www.cnblogs.com/zengjfgit/p/5377744.html ...
- android开发软件
android开发软件: http://developer.android.com/sdk/index.html#download
- Android网络电话软件Sipdroid试用
Android网络电话软件Sipdroid试用 SipDroid v3.4beta 简介:sipdroid是一款基于网络的语音及视频通话客户端软件,sipdroid本身不经营网络语音服务,仅仅是一款开 ...
- 【翻译】旧技术成就新勒索软件,Petya添加蠕虫特性
原文链接:https://blogs.technet.microsoft.com/mmpc/2017/06/27/new-ransomware-old-techniques-petya-adds-wo ...
- 新型勒索软件Magniber正瞄准韩国、亚太地区开展攻击
近期,有国外研究人员发现了一种新型的勒索软件,并将其命名为Magniber,值得注意的是,这款勒索软只针对韩国及亚太地区的用户开展攻击.该勒索软件是基于Magnitude exploit kit(简称 ...
- 一个简单的windows勒索软件分析
根据分析,此病毒是一个勒索软件,通过修改登录用户密码,留下勒索QQ号码向用户索要金钱. 它调用了Kernel32.dll里的WinExec来执行更改用户密码的cmd命令,密码为107289,更改完密码 ...
随机推荐
- day14 闭包
闭包的概念 必须要有函数嵌套,内部函数调用外部函数的变量 简单的例子 此种方法会导致每次使用内部函数inner的时候需要不断的调用外部函数. 结果导致外部函数的变量不断的被调用被释放,比较低效,相当于 ...
- 自学Linux Shell11.2-echo命令
点击返回 自学Linux命令行与Shell脚本之路 11.2-echo命令 echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用. 语 法:echo [-n][字符串]或 echo [- ...
- 自学Aruba5.3.1-Aruba安全认证-有PEFNG 许可证环境的认证配置OPEN、PSK
点击返回:自学Aruba之路 自学Aruba5.3.1-Aruba安全认证-有PEFNG 许可证环境的认证配置OPEN.PSK OPEN.PSK都需要设置Initial Role角色, 但是角色派生完 ...
- jieba分词器
始终觉得官方文档是最好的学习途径.嗯,我只是一个大自然的搬运工.传送门https://github.com/fxsjy/jieba 1.分词 jieba.cut 方法接受三个输入参数: 需要分词的字符 ...
- intent 几种用法
Intent 应该算是Android中特有的东西.你可以在Intent中指定程序 要执行的动作(比如:view,edit,dial),以及程序执行到该动作时所需要的资料.都指定好后,只要调用start ...
- intent-filter 之 data 「scheme, host, port, mimeType, path, pathPrefix, pathPattern」
之前一直搞不很明白 AndroidManifest.xml 中 activity 标签下的 intent-filter 中 data 标签的属性含义,今天认真看了 Dev Guide,又在网上查询了大 ...
- c输出格式
#include <stdio.h> #include <stdlib.h> #include <math.h> int main() { //取整 printf( ...
- Visio画UML类图、序列图 for Java
参考文档: 1.百度搜索: 怎样用Visio 2007画C++类图 连接 https://jingyan.baidu.com/article/9f7e7ec07286e16f281554f7.html ...
- hdu 1114Piggy-Bank(完全背包)
传送门 https://www.cnblogs.com/violet-acmer/p/9852294.html 参考资料: [1]:https://www.cnblogs.com/jbelial/ar ...
- Nginx的特性与核心类别及配置文件和模块详解
1.root path 设置web资源路径,用于指定请求的根文档目录,从根开始匹配 root:root/URI 2.alias path 指定路径别名,只能用于location中,从最后一个/开始匹配 ...