研究人员发现了一种名为 Hirudo 的新型 Android 恶意软件,它通过在设备内替换原生银行应用的方式,攻击银行服务用户。据移动设备安全公司 ThreatFabric 的报告,该恶意软件使用代码注入引擎,旨在绕过应用签名检查、无障碍服务和 Play Integrity。
研究人员发现了八款银行应用的恶意版本,其中至少包括属于七家印度尼西亚银行的应用。该活动还针对中国、印度、墨西哥、摩洛哥和泰国的金融机构,而受害者人数仍然未知。
Hirudo 如何进入设备?
该恶意软件通常通过看似正常、提供购物或娱乐内容功能的应用传播,例如 Shopora、1V1 X、ZoyaTV 和 KoiShort。这些应用充当恶意软件的下载器,随后显示虚假的更新通知,引导用户授予其额外权限,其中包括无障碍服务权限。
权限启用后,恶意应用会开始移除真正的银行应用,然后下载并尝试安装其修改版。ThreatFabric 形容这一过程对攻击者而言风险较高,因为用户可以在两个阶段中断该过程。
将保护机制转化为绕过工具
修改版保留了银行应用的大部分原始代码,但加入了一个基于开源 YAHFA 和 Dobby 框架构建的引擎。该引擎运行在银行应用自身的进程内,因此能够操纵检查结果,而不是从应用外部发起攻击。
- 在查询签名证书时替换原始签名证书。
- 隐藏已启用的无障碍服务。
- 禁用屏幕截图保护,从而允许远程查看和录制。
- 修改与密钥关联的认证证书,并通过由运营者控制的服务器转发 Play Integrity 请求。
攻击者可以窃取什么?
Hirudo 能够窃取银行账户密码、支付密码、设备解锁机密信息和短信,还能传输手机屏幕画面并控制两部摄像头。它还会使用虚假的支付页面收集支付密码,然后显示虚假的成功结果,以掩盖数据窃取过程。
ThreatFabric 在一个未受保护的后台面板中发现了数千条记录,其中包含应用凭据,以及设备数据、锁屏画面和财务文件。报告并未说明这些数据属于所有受害者还是其中一部分受害者。
有哪些限制,应该怎么做?
这些绕过方法并非没有限制。嵌入式认证密钥可能会被公开泄露,Google 还将其中两个证书列入遭到破解的证书名单,这使服务器能够在执行服务器端证书撤销检查时发现伪造操作。
ThreatFabric 认为,Hirudo 代表了 Android 银行账户窃取恶意软件手段的一次升级,因为它针对的是应用内部的保护机制。该公司建议银行在服务器端进行完整性验证和认证,将检查与会话及敏感操作关联起来,并继续保留行为控制和交易风险控制措施。
对于用户,建议及时更新设备,避免从非官方商店获取 APK,并定期使用 Play Protect 进行检查。