关于木马病毒的安全评估:Cerberus-Android 平台新型木马病毒
关于木马病毒的安全评估:Cerberus-Android 平台新型木马病毒可以肯定的是,在 Anubis 2 和 RedAlert 2 木马的租赁结束之后,Android 平台银行恶意软件业务中的差距仍然存在,这为 Cerberus 背后的参与者提供了一个快速增长业务的良好机会。上述这种行为可以解释为需要被关注和缺乏出租经验。以下截图显示了他们广告活动的推文:其中主要提到了:“我们总是使用加密和混淆过的版本,木马病毒已经过了数年的发展,目前所有代码都是重新编写的。”
摘要: [译] Cerberus - Android 平台新型木马病毒编者按
近日,一款名为“Cerberus”的安卓平台恶意木马对交易所等数字资产相关App构成了直接的威胁,北京链安第一时间跟进了这一事件。在这里,我们首先结合发现和分析该木马的ThreatFabric发布的若干文章进行了编译,以便各位了解该木马的技术原理。后续,我们还将进一步从技术细节和安全防护角度进行专门的分析,让行业对类似木马进行更全面的认识和防范。
介绍2019 年 6 月,ThreatFabric 分析人员发现一种名为 “Cerberus” 的新型 Android 平台恶意软件,它在地下论坛上提供租赁服务。其作者声称,在租赁开始之前,它已经被私人经营了两年。他们还指出,它不像许多其他银行 Trojan(特洛伊木马)病毒一样完全基于另一个木马程序(例如泄露的正在转售的 Anubis 源代码)编写,或至少借用其他木马的一部分程序,其代码完全是重新编写的,没有使用任何其他现有木马程序的代码。经过彻底的分析,可以确认 Cerberus 确实不是基于 Anubis 程序编写的。
有关此银行恶意软件背后的参与者的一件有意思的事情是,他们有一个“官方”的 twitter 账户,专门用来发布有关此恶意软件的促销内容(甚至视频)。他们还用来嘲讽 AV 社区,分享 VirusTotal(病毒分析引擎网站)的检测截图,甚至直接与恶意软件研究人员沟通讨论。
以下截图显示了他们广告活动的推文:
其中主要提到了:
“我们总是使用加密和混淆过的版本,木马病毒已经过了数年的发展,目前所有代码都是重新编写的。”
上述这种行为可以解释为需要被关注和缺乏出租经验。
可以肯定的是,在 Anubis 2 和 RedAlert 2 木马的租赁结束之后,Android 平台银行恶意软件业务中的差距仍然存在,这为 Cerberus 背后的参与者提供了一个快速增长业务的良好机会。
Android 银行木马的租赁业务银行木马的租赁业务并非新鲜事,这是一个已存在的商业模式,当时基于计算机平台的银行恶意软件是银行恶意软件的唯一形式,在几年后以相同形式转移到 Android 平台。
Android 平台银行恶意软件的寿命受限于其作者提供支持的意愿或恶意软件参与者被逮捕,目前已观察到此类型的恶意软件生命周期为每隔几年会出现一次,从而曝光出新型的恶意软件系列。当每次租用的恶意软件达到使用寿命时,其他恶意软件参与者将有机会接管该恶意软件的租赁市场份额。
从下图可以看出,许多知名的 Android 平台银行恶意软件的寿命通常不超过一到两年。当该系列恶意软件不存在时,就已经出现一种新的恶意软件系列来填补空缺,这表明对于此类恶意软件的需求一直存在,因此 Cerberus 有很好的生存发展空间。
在 RedAlert 2 背后的参与者决定退出恶意软件租赁业务之后,我们发现一些市面上的 Anubis 样本数量激增,在听说 Anubis 背后参与者被逮捕和源代码被泄漏之后,发现市面上的 Anubis 样本数量也大大增加,但是使用 Anubis 的新参与者并没有提供支持和更新。
因此,对于希望专注于执行欺诈行为而无需开发和维护僵尸网络和 C2 结构的参与者,Cerberus 将非常有用。
规避技术分析除了标准的动态加载和字符串混淆之外,Cerberus 还用了一种非常有意思的技术来阻止对该木马程序的分析。
它使用设备的加速度计传感器实现了一个简单的计步器,用于测量被攻击者的运动情况,这个想法简洁有效——如果被感染设备属于一个真实用户,那么他迟早会发生走动行为,从而对计步器产生增量。木马病毒使用此计步器程序激活自动化程序——如果上述计步器步数达到预先配置好的阈值数量,则认为当前运行环境是安全的。使用这种简单的措施可有效阻止木马程序在动态分析环境例如沙箱,以及在恶意软件分析人员的测试设备上被运行和分析。
以下代码片段显示展示出了负责计步器程序验证的逻辑:
工作原理
当恶意软件首次在设备上启动运行时,它将首先从应用程序抽屉中隐藏图标。然后它会请求对应的辅助功能权限。
如截图所示:
当用户授予此权限后,Cerberus 通过授予自身其他权限(例如发送短信和拨打电话权限)开始进行权限滥用,无需用户任何交互。同时它还会禁用 Google Play 保护服务(Google 在设备上预装的防病毒解决方案),以防止未来发现或删除木马程序。在方便地授予自己额外的权限并确保木马在设备上的持久性之后,Cerberus 将受感染的设备注册在僵尸网络中,并等待来自 C2 服务器的命令,同时还准备好执行窗口覆盖攻击。
下面列出了受分析的 Cerberus 样本所支持的命令,可以看到其提供的常见自动化行为:
![]()