转自: http://blogs.360.cn/360mobile/2015/05/19/analysis_of_ransomware/
近期,360互联网安全中心截获到了一批伪装成游戏外挂、QQ刷赞、付费破解等类型的恶意软件。一旦用户点击运行,用户手机就会被锁住,即使强制重启也没有用,造成用户手机无法进行任何操作。如果用户想要解锁手机只能联系恶意软件界面上留下的QQ号码并向其进行付费,从而达到勒索用户资金的目的。目前,360手机卫士已经可以全面查杀该类型恶意软件。
一、锁屏原理
近期我们捕获到的恶意锁屏勒索类软件主要是利用了两种实现方法,一种是利用WindowManager.LayoutParams通过控制flags属性制作一个特殊的全屏View并置顶;另一种是通过激活设备管理器的方式,设置系统的锁屏密码,导致无法进入系统操作界面。
(一) 利用LayoutParams的flags属性
利用此方法的恶意软件除了需要声明“SYSTEM_ALERT_WINDOW”外,一般不需要声明敏感权限,从一定程度上降低了用户安装过程中的警惕性。
一旦用户点击运行,该软件会初始化恶意服务。初始化会完成以下几项功能。
初始化后恶意服务开始运行,通过addView方法展现一个全屏置顶悬浮窗,根据设置WindowManager.LayoutParams的flags属性,这个悬浮窗无法取消掉,导致手机无法正常使用。
这里的flags为FLAG_FULLSCREEN|FLAG_LAYOUT_IN_SCREEN达到全屏置顶无法取消的目的,另外根据较早前我们分析过的AdDevice[1]木马家族利用的手法,它使用过其他的flages的属性,例如:
该类型恶意软件对开机广播进行了监控,重启后恶意服务自动启动,导致重启手机依然无法解锁手机。
我们列举了部分利用此方法,进行锁屏勒索的恶意软件运行截图,如下:
(二) 利用设备管理器设置锁屏密码
这种类型的恶意软件主要是以各种理由诱导用户激活设备管理器,例如“请激活服务/取消则无法使用”。
用户一旦选择激活,恶意软件会在用户未知情的情况下强制给手机设置一个解锁密码,导致用户无法解锁手机。
用户解锁需要联系恶意软件作者留下的QQ,恶意作者收到勒索的钱财后,会使用指定的手机号码向中招的手机发送短信可以将解锁密码清空,从而实现远程解锁。
这种类型的恶意软件较前一种破坏性更大,不但重启手机无效,即使用户通过一些方法清除了该恶意软件,但仍然无法取消掉解锁密码,也无法修改手机系统的解锁方式。
二、传播方式
根据360互联网安全中心数据显示,最新截获的这批锁屏勒索类的恶意软件,从4月中旬开始爆发在近一个月的传播后,已经有上千人感染中招被恶意软件作者勒索,造成用户不小的经济损失,我们通过分析一步一步揭开了其传播方式。
首先,我们从这批恶意软件中发现了其解锁控制端软件,其功能就是向被锁手机发送短信进行远程解锁。这个软件的页面上写了这个解锁控制端的作者昵称、用于咨询/购买联系恶意软件作者的QQ以及锁屏勒索的恶意软件下载地址。
下载链接指向百度云盘分享,从分享页面上可以看到这个恶意软件自从4月21日开始分享至今已经有50多人次下载。
随后,我们通过这个云盘账号昵称进行搜索,发现了其百度贴吧账号,该账号关注了一些Android相关的贴吧,例如“安卓神器”、“安卓应用”、“android开发”等,从它下面发的帖子及回复的帖子内容,我们发现恶意软件作者通常在一些以求某功能软件的帖子中留言并传播恶意软件链接,因此这个恶意软件的传播方式是通过贴吧进行传播。
三、解决方案
目前,360系统急救箱已经支持对该类恶意软件进行查杀,下载地址是:http://www.360.cn/jijiuxiang/index.html
如果用户已经中招,请用数据线将手机与电脑连接起来,使用360手机急救箱的深度查杀功能。在部分手机上清除恶意软件作者设置的密码后,进入手机时仍需要输入密码,这时只需要输入任何密码就可以进入手机,清除后建议用户重新设置密码。
360手机急救箱扫描结果
360手机急救箱清除结果
同时建议用户,安装360手机卫士和360手机急救箱预防此类恶意软件保护手机安全。如清除中遇到问题,及时向我们反馈。
四、总结
继去年国外最先出现手机锁屏勒索类恶意软件后,国内也很快出现了诸如TkLocker[2]的恶作剧软件。而今国内也出现了利用锁屏进行勒索的恶意软件,并且有愈演愈烈地趋势。这种类型的恶意软件如果进一步演变,对用户手机及手机上的数据资料都会带来巨大的安全风险和威胁。我们将密切关注此类恶意软件的演变趋势并提供有效的解决方案。
五、扩展阅读
http://blogs.360.cn/360mobile/2014/09/07/analysis_of_addevice/
http://blogs.360.cn/360mobile/2014/06/18/analysis_of_tklocker/