前言
从2017年4月开始,研究人员就开始在Google Play商店发现了一个新出现的安卓root恶意软件。与其他root恶意软件不同,该木马不仅能将其模块安装到系统中,还会将恶意代码注入到系统运行的时间库来获取root权限并保持持续访问。目前,卡巴斯基实验室目前已经将其命名为Trojan.AndroidOS.Dvmap.a。
通过Google Play传播root恶意软件并没有什么惊奇的,自从2016年9月以来,已经有100多种的Ztorg木马变种上传到了Google Play。但Dvmap是非常特别的root恶意软件,它使用各种最新的攻击技术,但最有趣的是它将恶意代码注入到系统库libdmv.so或libandroid_runtime.so中。
这使得Dvmap成为第一个在运行时将恶意代码注入系统库的Android恶意软件,根据统计,它已从Google Play商店下载超过50000次。目前,卡巴斯基实验室已向Google报告了该木马,随后Google就将其从商店中删除。
在Google Play上的Trojan.AndroidOS.Dvmap.a
为了绕过Google Play商店的安全检查,恶意软件创建者使用了一个非常有趣的方法,他们首先在2017年3月底之前将一个合法的应用程序上传到商店,随后在更新该合法程序时,注入恶意程序,通常他们会在更新的当天再向Google Play上传一个合法的应用程序。在4月18日至5月15日期间他们至少进行了5次这样的操作。
所有Dvmap恶意应用程序都具有相同的功能,它们会从安装包的assets文件夹解密多个档案文件,并从利用“start”启动可执行文件。
有趣的是,Dvmap木马甚至在64位的安卓版本中都起作用这是非常罕见的。
在32位和64位安卓版本中的一部分Dvmap代码
所有加密的档案文件可以分为两组:第一组包括Game321.res,Game322.res,Game323.res和Game642.res,这些都是在感染的初始阶段使用的,而第二组则是Game324.res和Game644 .res,用于攻击的主要阶段。
初始阶段
在此阶段,Dvmap木马会尝试获取根权限并试图在系统上安装多个模块,除了一个名为“common”的档案外,此阶段的所有档案都会包含相同的文件。如下图所示,这是一个本地根漏洞包,Dvmap木马使用了4个不同的exploit pack文件,3个32位系统和1个64位系统。如果这些文件成功获得root权限,该木马将在系统中安装多个工具多个模块包括用中文写的几个模块,以及名为”com.qualcmm.timeservices”的恶意app。这些档案包含文件“.root.sh”,其中还包含一些中文说明:
.root.sh文件的一部分
攻击的主要阶段
在这个阶段,Dvmap木马会从Game324.res或Game644.res启动“start”文件。该文件将检查安装的Android版本,并决定使用哪个库进行攻击。对于Android 4.4.4及更高版本来说,Dvmap木马将从libdvm.so库中使用_Z30dvmHeapSourceStartupBeforeForkv,对于Android 5和更新版本,它将从libandroid_runtime.so库中使用nativeForkAndSpecialize。这两个库都是与Dalvik和ART运行系统相关的运行时间库。在使用之前,Dvmap木马将以bak_ {original name}备份原始库。
使用libdvm.so库
在攻击期间,Dvmap木马将使用恶意代码覆盖现有的代码,以便所有可以执行的操作都会执行/ system / bin / ip,这可能非常危险,会导致一些设备在覆盖之后立即崩溃。然后Dvmap会将攻击过的库放回系统目录。之后,木马将从存档(Game324.res或Game644.res)中使用恶意代码代替原始的/ system / bin / ip。此时,Dvmap就可以确保其恶意模块会执行系统权限了。但恶意ip文件不包含原始ip文件中的任何方法,这意味着所有正在使用此文件的应用程序将失去某些功能,甚至会开始崩溃。
恶意模块“ip”
该文件将由被攻击的系统库执行,它可以关闭“VerifyApps”,并通过更改系统设置启用来自第三方app商店的应用程序。此外,它可以授权“com.qualcmm.timeservices”应用程序设备管理员权限,而无需与用户进行任何交互,只需运行命令即可。对于获取设备管理员权限来说,这种做法是非常罕见的。
恶意应用程序com.qualcmm.timeservices
如前所述,在初始攻击阶段中,Dvmap将安装“com.qualcmm.timeservices”应用程序。其主要目的是下载档案并从中执行“start”二进制文件。在监测过程中,com.qualcmm.timeservices能够在没有收到命令的情况下,成功连接到命令和控制服务器。虽然目前,研究人员还没有搞清楚哪种文件会被执行,但它们很可能是恶意或广告文件。
总结
由于Dvmap木马通过Google Play商店发布,并使用了一些非常危险的技术,包括攻击系统库,从而将具有不同功能的恶意模块安装到系统中。 它的主要目的是进入系统并执行具有root权限的下载文件,但目前研究人员并没有从它们的命令和控制服务器收到这样的文件。
另外,这些恶意模块会向攻击者反馈它们将要做的每一步, 所以研究人员认为这个恶意软件仍在测试研发阶段。
MD5
43680D1914F28E14C90436E1D42984E2
20D4B9EB9377C499917C4D69BF4CCEBE
如何预防被Dvmap攻击
我们建议安装了“颜色拼块”游戏的用户对手机的数据进行备份并恢复出厂设置。由于该木马目前仍在测试阶段,所以重新恢复后,它的攻击力就会消除。其次,要从正规的APP商店进行下载。