导语:上个月初,趋势科技检测到移动勒索软件SLocker再次出现变异,并将其命名为ANDROIDOS_SLOCKER.OPST,该变种已经会伪装成WannaCry的攻击界面,让受害人误以为他们是遭受了WannaCry的攻击。
上个月初,趋势科技检测到移动勒索软件SLocker再次出现变异,并将其命名为ANDROIDOS_SLOCKER.OPST,该变种已经会伪装成WannaCry的攻击界面,让受害人误以为他们是遭受了WannaCry的攻击。
SLocker恶意软件家族是现存使用时间最长的移动锁屏和文件加密勒索软件之一,使用AES加密算法,然后要求受害者支付赎金才提供解密密钥。SLocker大约有400个变种,其中大多数变种会进行伪装,包含改变图标、应用程序名称、执行程序等,隐藏恶意程序的签名,避免被杀毒软件检测到。SLocker会隐藏在第三方来源的Android应用商店里,用户手机一旦被感染,屏幕就会立刻被锁住,并在勒索信中恐吓受害者,若不支付赎金,他们就威胁受害者将他们的个人资料泄露出去。
SLocker在经过了几年的沉寂之后,于去年5月又重新出现了,当时新发现的SLocker已经可以对Android文件进行加密了。虽然当时它已经能够在移动设备上加密文件了,但造成的危害却特别小,因为该变体被发现后不久,解密工具就被开发出来了。五天后,负责赎金的嫌疑人就被中国警方逮捕了。幸运的是,由于传播渠道有限(主要通过QQ群和公告板系统等论坛传播),受害人人数很少,下图就是SLocker变体的感染时间段:
趋势科技获得的ANDROIDOS_SLOCKER.OPST原始样本就是从王者荣耀的一键秒杀辅助脚本中发现的,ANDROIDOS_SLOCKER.OPST原始样本伪装成辅助脚本,当游戏玩家安装次功能时,就会中招,并出现与WannaCry相似的勒索界面:
另外,该样本会伪装成游戏指南,视频播放器等,以引诱用户进行安装。首次安装时,其图标看起来像一个普通的游戏指南或作弊工具。一旦样本开始运行,恶意应用程序将更改图标和名称,并对受感染的手机进行锁屏。
SLocker还发布了“com.android.tencent.zdevs.bah.MainActivity”的禁用活动别名。然后,通过禁用原始活动并启用别名来更改其图标,下图就是运行后,SLocker的图标和名称发生变化:
SLocker如何加密文件
当游戏玩家安装了SLocker后,它会开始检查其运行的环境,如果不利于恶意程序的运行,它会生成一个随机数,并将其存储在SharedPreferences中,这是保存持久性应用程序数据的位置,然后它将找到设备的外部存储目录并启动一个新线程。
该线程将首先通过外部存储目录来查找符合特定要求的文件:
1.目标文件的小写路径不能包含“/”,“android”,“com”和“miad”
2.使用外部存储作为根目录,目标文件应位于目录级别小于3的目录中,或者小写文件路径包含“baidunetdisk”,“download”或“dcim”
3.文件名必须包含 “.”,加密文件名的字节长度应小于251
4.该文件必须大于10 KB且小于50 MB
SLocker不会加密系统文件,而是对下载的文件和图片进行加密,并且只会加密具有后缀(文本文件,图片,视频)的文件。当找到满足所有要求的文件时,线程将使用ExecutorService(一种Java运行异步任务的方法)来运行新任务,下图就是新任务开始的部分代码:
新任务将使用名为“getsss”的方法来将先前生成的随机数转换成密码,该方法会计算随机数的MD5,并从MD5的十六进制表示中选择16个字符作为字符串。生成字符串后,在使用AES加密文件之前,SLocker将它提供给SecretKeySpec来构建AES的最终密钥,下图就是“getsss”方法的部分代码:
一旦文件被加密,后缀将被添加到文件名。如下图所示,后缀包含一个QQ号和用于生成密码的随机数。
SLocker会向受害者提供三种支付赎金的选择,不过在趋势科技人员分析的样本中,这三种方式最后都会生成相同的QR码,要求受害者通过QQ付款。如果三天后受害人拒绝支付,那么赎金将会提高,要是还不行则攻击者可能会在一周后删除所有文件。
攻击者会告诉受害者,只要支付赎金就会发送解密密钥。通过专家们的分析,他们发现如果受害者输入密钥并点击解密按钮,那么SLocker就会将把输入的密钥与MainActivity.m中的值进行比较。但是跟踪MainActivity.m后,专家们发现该值实际上是前面提到的随机数再加上520。
以本文提到这个样本为例,随机数为10049252.所以解密密钥应为10049772(10049252 + 520)。使用它作为密钥并单击解密按钮将解密文件。
众多新变种已出现
SLocker最初被发现之后,就出现了很多的变种。虽然有一些变体更改了生成解密密钥的方法,但是还是有相应的公式可寻,只要能发现,用户就可以自行解密文件。如下图所示,最开始使用的公式是随机数+ 520,往后虽然出现了变化,但都非常相似。
有些变异版本可以做到避免被静态检测到:
SLocker的预防
相比其他的勒索软件,SLocker算是功能比较简单的了。所以安全管理人员实际上很容易发现它并找到解密文件的方式。然而,从王者荣耀的事件可以看出,SLocker正在以各种方式来扩大自己的影响力。
下面专家们就提了几点建议,以避免我们的手机被锁屏:
1.只能安装从Google Play等合法应用商店下载的应用
2.请注意应用程序要求的权限,特别是注意应用程序在外部存储上读取或写入的权限
3.在另一个安全设备或云存储上定期备份数据
IOCS