近日,一个名为Xavier的安卓系统广告库木马被发现,它会在用户不知情的情况下窃取和泄露用户的信息,同时还可以在root过的安卓设备上静默安装任何APK。
据统计,目前已有超过800个嵌入该广告库的应用程序,这些应用程序已经被用户下载数百次。下载量最大的是越南、菲律宾、印度尼西亚这些东南亚国家,美国和欧洲的下载量则相对较小。
与其他广告库木马不同的是,它将从远程服务器下载代码并加载执行的恶意行为嵌入到自身,同时使用数据加密和仿真程序检测等方法来保护自己不被查杀。
由于该木马具备一种能逃避静态和动态分析的自我保护机制,所以它的窃密行为很难被监测到。此外,Xavier还可以下载并执行其它恶意代码,这一点意味着它具有更大的风险。Xavier的具体行为取决于下载的代码和代码中的网址,可被指定服务器远程设置。
木马发展过程
该木马的发展变化过程如下图:
Xavier是AdDown木马家族的一员,该系列木马已经在互联网中存在超过两年。其第一个版本称为joymobile,于2015年年初被发现。此变体已经可以执行远程代码。
除了收集和泄露用户信息之外,这一木马还能悄无声息地在已经root过的安卓设备中安装其他APK。
该木马会以明文形式与命令和控制(C&C)服务器进行通信,但所有的常量字符串都在代码中被加密过。
AdDown家族出现的第二个变种叫nativemob。与joymobile相比,我们可以发现nativemob的代码结构进行了调整和优化。同时,nativemob还增加了一些新的功能,主要是行为控制和实用工具。虽然这一变种没有使用静默方式安装应用,但提示用户确认的应用安装行为仍然存在。
在将数据发送到C&C服务器之前,它收集了比joymobile更多的用户信息,并使用base64的方式对这些信息进行了编码。
接下来的一个变种版本出现在2016年1月,这一变种调整了字符串加密算法,对从远程服务器下载的代码进行加密,同时还添加了一些反射调用。
16年2月,它对设置模块做了若干更新,由于某种原因又移除了数据加密的部分。
在接下来的几个月中进行了进一步更新,然而这些更新都没有太大的变动。
Xavier的技术分析
2016年9月,被称为Xavier的新变种被发现。该变种与此前版本相比,具有更精简的代码。Xavier删除了apk安装和root检查,同时增加了数据加密的茶叶算法(TEA algorithm)。
很快,Xavier的更新版本增加了一种可以逃脱动态检测的机制。
Xavier的结构如下:
一旦它被加载,Xavier将从C&C服务器https[:]//api-restlet[.]com/services/v5/中获取经加密后的初始配置。
服务器同样会对响应数据进行加密:
在解密后,我们可以发现其实是一个Json文件:
[1] [2] 下一页V代表SDK版本;
L代表SDK地址;
G代表SDK标识号;
S代表SDK设置;
Au与其配置有关。
Xavier随后会根据其配置文件,从http[:]//cloud[.]api-restlet[.]com/modules/lib[.]zip下载所谓的SDK文件。然而我们发现,lib.zip并非一个完整的zip文件。
在获取到lib.zip后,Xavier将“0x50 0x4B”添加在lib.zip的最前,并将其改名为xavier.zip。此时的文件就变成了完整的zip文件。
修改前的lib.zip
修改后的xavier.zip
Xavier.zip包含一个可供Xavier加载和调用的classes.dex文件。
这一dex文件会从用户的设备中收集一些信息, 并加密并传输到远程服务器 https[:]//api-restlet[.]com/services/v5/rD中,收集信息内容如下:
制造商,来源,SIM卡所属国家,产品名称,生产商ID,SIM卡运营商,服务ID,系统语言,分辨率,型号,操作系统版本,设备名称,设备ID,已安装的APP,安卓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这样的恶意软件,最简单的方法是:不下载任何来源不明的APP,包括在诸如Google Play这样正规的应用商城中的APP。
此外,还应该留意应用商城中其他用户对于某个APP的评论,如果有人提及某个APP表现出了可疑行为,那就应该特别注意。
此外,需要及时更新移动设备的系统,及时修复已知漏洞。假如自己的手机出现了异常状况,需要及时寻求手机售后服务人员或安全人士进行处理。
|