导语:我们最近发现了一个名为Xavier(由Trend Micro检测为ANDROIDOS_XAVIER.AXM)的Android木马广告库,其会以静默方式窃取和泄露用户的信息,Xavier的影响目前已经很广泛了。根据趋势科技移动应用程序信誉服务的数据,我们检测到超过800个在G
我们最近发现了一个名为Xavier(由Trend Micro检测为ANDROIDOS_XAVIER.AXM)的Android木马广告库,其会以静默方式窃取和泄露用户的信息,Xavier的影响目前已经很广泛了。根据趋势科技移动应用程序信誉服务的数据,我们检测到超过800个在Google Play上下载了数百万次的应用程序都已经被嵌入了广告库的SDK。这些应用程序的范围也很广,比如照片美化软件、壁纸和铃声更换的软件都包含在其中。
目前已知的数据显示来自越南,菲律宾,印度尼西亚等东南亚国家的下载次数最多,美国和欧洲的下载次数较少。
其实我们之前已经介绍了恶意广告库,并且与MDash SDK进行了一些对比 ,其具有一些显着的功能,也区别于早期的广告库。首先,它带有一个嵌入式恶意行为,从远程服务器下载代码,然后加载并执行它。第二,他会通过使用String来进行加密,特别是利用Internet数据加密和仿真器检测等方法,保护自身免受检测。
Xavier的窃取和泄露的能力很难被检测出来,因为它有一个自我保护机制,可以让它逃避静态和动态分析。此外,Xavier还具有下载和执行其他恶意代码的功能,这可能是恶意软件更危险的一个方面。Xavier的行为取决于下载的代码和由远程服务器配置的代码的URL。
在深入了解Xavier的实际分析之前,首先要先看看广告库随着时间的推移发展的历程。
Xavier的演变
Xavier是AdDown家族的成员,已有两年多的时间。第一个版本,称为joymobile,出现在2015年初。当时该变体就已经能够远程执行代码。
除了收集和泄露用户信息之外,此广告库还可以安装其他APK,如果已经在设备中扎根,则可以静默地执行此操作。
它与Command&Control(C&C)服务器进行通信而无需加密。但是,所有常量字符串都在代码中加密。
从AdDown家族出现的第二个变种叫做nativemob。比较nativemob和joymobile,我们可以看到前者已经重新排列了代码结构。它还添加了一些新功能,主要是广告行为和实用程序。虽然没有安静的应用程序安装,但涉及用户确认的应用程序安装仍然存在。
在发送信息到C&C服务器之前,它还收集了比joymobile更多的用户信息,并在base64中编码它们。
接下来的变体出现在2016年1月左右。它对字符串加密算法进行了修改,加密了从远程服务器下载的代码,并添加了一些反射调用。
在之后的一个月,由于某些原因,它更新了广告模块设置的各个方面,并删除了数据加密:
在接下来的几个月其进行了进一步的更新。但是,这些更新都不会对广告库造成重大更改。
Xavier技术分析
被称为Xavier的变体在2016年9月的某个时候以更加简洁的代码出现了。Xavier的第一个版本删除了APK安装和根检查,但是使用TEA算法添加了数据加密。
不久之后,它增加了一种机制来转义动态检测,如前所述。
Xavier具有以下结构:
一旦加载,Xavier将从C&C服务器hxxps:// api-restlet [。] com / services / v5 / /获得其初始配置,并在Xavier中加密。
服务器还对响应数据进行加密:
解密之后,我们可以看到它实际上是一个Json文件:
V表示SDK版本;
L表示SDK URL;
G表示SDK Sid
S表示SDK设置。
Au关注广告配置。
然后,Xavier将从配置中读取的hxxp:// cloud [。] api-restlet [。] com / modules / lib [。] zip下载所谓的SDK 。但是,lib.zip不是一个完整的zip文件。
获取lib.zip之后,Xavier会将0x50 0x4B提前到lib.zip并将其命名为xavier.zip。这是有效的zip文件。
之前:
之后:
Xavier.zip包含一个Xavier加载和调用的classes.dex文件。
此dex文件将从用户设备收集以下信息,然后将其加密并传输到远程服务器:hxxps:// api-restlet [。] com / services / v5 / rD。
生产厂家 资源 simcard国家 产品 PUBLISHER_ID SIM卡操作员 服务ID 语言 解析度 模型 os版本 设备名称 设备ID 安装的应用程序 Android ID 电子邮件地址
Xavier还通过检测系统是否在仿真器中运行以避免动态检测,从而隐藏其侵略性的广告行为。
它还会检查设备的产品名称,制造商,设备品牌,设备名称,设备模块,硬件名称或指纹是否包含以下字符串:
vbox86p Genymotion generic/google_sdk/generic generic_x86/sdk_x86/generic_x86 com.google.market Droid4X generic_x86 ttVM_Hdragon generic/sdk/generic google_sdk generic vbox86 ttVM_x86 MIT Andy window unknown goldfish sdk_x86 generic_x86_64 phone TTVM sdk_google Android SDK built for x86 sdk Android SDK built for x86_64 direct com.google XavierMobile TiantianVM android_id generic/vbox86p/vbox86p com.google.vending Nox
Xavier还会通过扫描用户的电子邮件地址来检查其是否包含以下字符串从而来隐藏其行为:
pltest @facebook.com tester @google.com review playlead agotschin gptest rxwave 15 rxplay admob gplay adsense gtwave rxtest wear.review qaplay test rxtester Playtestwave
Xavier主要执行以下行为以避免检测
1)加密所有常量字符串,使得静态检测和手动分析更加困难。
2)通过HTTPS执行净传输,以防止其流量被捕获。数据也被加密:
3)使用各种反射调用方法,类名和方法名称被加密
4)基于运行环境隐藏其行为。
以下是Google Play上包含嵌入式Xavier广告库的应用示例:
建议和最佳做法
事实上,避免像Xavier这样的狡猾恶意软件的最简单方法是不要从未知来源下载和安装应用程序,即使它们来自Google Play等合法应用商店。此外,它可以帮助读取已下载该应用程序的其他用户的评论。其他用户可以是一个很好的见解来源,特别是如果他们可以指出具体应用是否存在可疑行为。更新和修补移动设备也将有助于防止目标漏洞的恶意软件。
此外,终端用户和企业还可以查看多层移动安全解决方案,例如Google Play上提供的 Trend Micro™ Mobile Security for Android™。 Trend Micro™ Mobile Security for Enterprise 可以为设备提供合规性和应用程序管理,数据保护以及其他相关配置,以及保护设备免受利用漏洞的攻击,防止未经授权的访问应用程序,以及检测和阻止恶意软件和欺诈性网站。