小心!Google Play 中出现首个使用代码注入Android恶意软件——Dvmap

本文讲的是小心!Google Play 中出现首个使用代码注入Android恶意软件——Dvmap

前言

 从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商店进行下载。

原文发布时间为:2017年6月9日

本文作者:xiaohui

本文来自合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。

原文链接

时间: 2024-10-03 01:16:37

小心!Google Play 中出现首个使用代码注入Android恶意软件——Dvmap的相关文章

【IOS-COCOS2D-X 游戏开发之七】整合COCOS2DX的ANDROID项目到XCODE项目中,XCODE编写&编译代码,ANDROID导入打包运行即可!

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/667.html 此篇针对较早的-x引擎讲解的,最新的可以参考: [Cocos2d-X(2.x) 游戏开发系列之二]cocos2dx最新2.0.1版本跨平台整合NDK+Xcode,Xcode编写&编译代码,Android导入打包运行即可!   之前有两节介绍了mac下配置Android NDK并搭建Cocos2dX以

android-Android中为activity统一添加代码

问题描述 Android中为activity统一添加代码 在android应用程序中,4个不同的活动有一个相同的菜单.要在一个活动中显示这个菜单,每次都需要在这个活动中添加关于这个菜单的代码. @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu menu); return true;} 有什

从google搜索引擎中取分析潜在的竞争对手(完结)

  从google搜索引擎中取分析潜在的竞争对手(完结) google搜索引擎中,分析竞争对手是非常的明确的.也是最精准的.因为google的信息庞大.给出的信息也非常准确.所以在分析竞争对手的时候我们通常都喜欢用google去分析. 简单来了解一下"分析竞争对手的方法". 在我们做任何行业的任何关键词的时候,我们首先要做的就是确定好词之后去分析竞争对手,并且分析竞争对手是必不可少的,对判断关键词的竞争程度以及了解行业是非常有作用的. 竞争对手分析或者有人说只要直接在搜索引擎中搜索核心

Google Earth 中如何对我的照片进行位置标记

Picasa 现在可让您使用 Google Earth 将照片指定到特定的位置."位置标记"功能允许您在照片文件内部嵌入位置信息,并且在 Google Earth 提供的卫星地图上显示照片.要对照片进行位置标记,请执行以下步骤: 1. 在 Picasa 中选择照片 2. 从"工具">"位置标记"菜单中选择"使用 Google Earth 进行位置标记"来启动 Google Earth.在 Earth 的右下角会显示一个小

Word文档中设置首字下沉效果的方法

  Word文档中设置首字下沉效果的方法           首字下沉用途非常广,或许你在报纸上.书籍.杂志上也会经常看到首字下沉的效果. 今天就让Office办公助手的小编讲述如何在Word文档中的设置首字下沉效果. Word2003怎样设置首字下沉 首先,选种要设置首字下沉的那个段落,然后单击菜单栏的"格式"中的"首字下沉",在弹出的窗口中可以清楚的看见有三种效果,无.下沉.悬挂,选种某种效果后单击确定按钮就可以了.当然,也可以设置它的"字体"

如何在wps文字中设置首行缩进

  在wps文字中设置首行缩进的方法: 首先,选中你所要缩进的对象 其次,点击开始下面的一个选项"行距",如下图 选择"行距"旁边的倒三角,下拉,选择"其他",这时会弹出有关"段落"的一个对话框,如下图 找到"特殊格式",如下图,下拉倒三角,会出现"首行缩进"等两个选项,这时候你点击"首行缩进",后面软件默认的是"2个字符",你可以根据自己的实际情

如何在word2013中设置首字下沉

  word2013中设置首字下沉的步骤如下: 步骤一:鼠标左键双击计算机桌面Word2013程序图标,将其打开运行.在打开的Word2013程序窗口,点击"打开其他文档",在文件存放的路径将Word文件打开.如图所示; 步骤二:在打开的Word文档窗口中,打开插入菜单选项卡,而后点击"文本"选项,在弹出的的选项框中选择"首字下沉选项"并点击它.如图所示; 步骤三:点击首字下沉选项后,这个时候在Word文档窗口会打开"首字下沉"

web开发在调试js时 google 浏览器中一直使用缓存文件

问题描述 web开发在调试js时 google 浏览器中一直使用缓存文件 web开发在调试js时 google 浏览器中 一直使用的是缓存文件,一定要清一下缓存更新最新的文件.但是如果开发及时更改js文件,及时刷新界面的话,google浏览器又可以去重新加载最新的文件.如果js在google浏览器中停留时间长,那么会刷新界面时一直使用缓存js ,而不是去后台重新加载最新的js.这是什么机制,什么原理.网上搜一直都搜不到.大神门回答一下吧 解决方案 缓存js不是很正常,,每次重新加载,,浪费时间和

sencha touch在google浏览器中出现的问题?

问题描述 sencha touch在google浏览器中出现的问题? 使用的google chrome 22 滚动条滚动时,文字下方会出现部分文章一直卡在那里.但是google chrome 30就不会出现,怎么在不换浏览器的情况下.解决这个问题.