近日,网络安全公司Check Point旗下的研究人员Aviran Hazum、Feixiang He、Inbal Marom、Bogdan Melnykov和Andrey Polkovnichenko发现了一种全新的手机病毒——Agent Smith。截止到目前,该病毒已在全球范围内感染了大约2500万台安卓设备。
初步分析显示,Agent Smith主要通过虚假的图片处理、游戏或“成人”APP进行传播,且能够利用多个已知的安卓系统漏洞(如Janus漏洞),以及隐藏APP的图标。
在无需任何用户交互的情况下,Agent Smith能够使用受感染设备上已安装APP的恶意版本替换原来的合法版本,进而通过展示大量的恶意广告来给攻击者带来相当可观的收益。
感染过程
经过深入分析,研究人员最终确认Agent Smith的感染过程大致可以分为三个阶段:
1.利用虚假图片处理、游戏或“成人”APP引诱受害者下载及安装;
2.虚假APP安装完成后,会自动解密并安装伪装成谷歌更新程序((如Google Updater、Google Update for U或“com.google.vending”)的apk文件(内含Agent Smith);
3. 接下来,Agent Smith便会提取受感染设备中已安装APP的列表。如果发现目标APP,则会以目标APP更新的形式安装恶意广告模块。
AgentSmith分析
研究人员表示,Agent Smith具有模块化的结构,主要由如下模块构成:
- Loader
- Core
- Boot
- Patch
- AdSDK
- Updater
Loader模块
Loader模块的作用只有一个,那就是提取并运行AgentSmith的Core模块。
提取成功之后,Loader模块会通过安卓处理大型DEX文件的合法机制将如下所示恶意代码注入到目标APP中。
一旦注入成功,Loader模块就会使用反射技术来初始化并启动Core模块。
Core模块
Core模块位于伪装成谷歌更新程序的apk文件中,且经过加密并伪装成JPG文件的。如下图所示,前2个字节是JPG文件的header,而剩余部分则是使用XOR编码的Agent Smith 的payload。
Core模块负责与C&C服务器进行通信,以接收目标APP列表,具体如下:
- lenovo.anyshare.gps
- mxtech.videoplayer.ad
- jio.jioplay.tv
- jio.media.jiobeats
- jiochat.jiochatapp
- jio.join
- good.gamecollection
- opera.mini.native
- startv.hotstar
- meitu.beautyplusme
- domobile.applock
- touchtype.swiftkey
- flipkart.android
- cn.xender
- eterno
- truecaller
如果在受感染设备上安装有任意一款目标APP,就会利用Bundle系列漏洞或Janus漏洞将Boot模块注入到目标APP中。
Boot模块
从功能上讲,Boot模块相当于另一个Loader模块,主要负责提取并运行Agent Smith的payload——Patch模块。
具体来讲,在Patch模块成功提取之后,Boot模块就会在受感染设备每一次重启时使用与Loader模块所使用的相同的技术来执行它。
Patch模块
Patch模块主要负责挂钩恶意广告SDK,且能够禁用目标APP的自动更新功能,以确保它不会因为更新而被覆盖。
为此,Agent Smith使用了这样一种方法——设置update的timeout时间,使得目标APP进入无限循环的更新检查中
感染状况
研究人员表示,Agent Smith的危害性非常大,因为只要受感染设备已安装的APP在Agent Smith的目标APP列表之内就会遭到感染,且随着Patch模块的更新,目标APP列表也在更新。
换句话来说,Agent Smith会重复不断地感染同一台设备,进而感染任何一款有可能存在的目标APP,以寻求利益最大化。
到目前为止,Agent Smith的全球感染次数总量已经超过28亿次,约有2500万台不同的设备遭到感染,即平均每台设备的感染次数为112次。
如上所述,Agent Smith主要通过虚假的图片处理、游戏或“成人”APP进行传播。除此之外,还包括一些媒体播放器、系统工具等APP。
其中,下载量排名靠前的5款APP已经被下载了超过780万次。
从地理位置来看,Agent Smith的主要感染目标似乎是印度用户,占感染总量的59%。另外,与此前类似的病毒不同,Agent Smith不仅对发展中国家造成了影响,一些发达国家也未能幸免遇难。比如,美国的感染量为30.3万、沙特阿拉伯 24.5万、澳大利亚 14.1万、英国13.7万。
至于受感染设备的品牌,则包含了三星、小米、Vivo、Oppo、联想等等,具体如下图所示。
结论
从目前来看,尽管隐藏在Agent Smith背后的攻击者似乎主要是想通过展示恶意广告来获取非法收益,但AgentSmith所具备的功能使得它能够被用来进行更广泛的恶意操作,如信息窃取、加密勒索等。
AgentSmith的出现提醒我们,单靠系统开发人员的努力并不足以构建一个安全的安卓生态系统。它还需要设备制造商、APP开发人员以及用户的关注和行动,以便及时发现、修补可能存在的安全漏洞。