微软警告称,收费欺诈恶意软件是 Android 上最普遍的威胁之一,并且它正在演变为允许自动订阅高级服务的功能。 收费欺诈是计费欺诈的一个子集,威胁者诱骗受害者拨打或发送短信到付费号码。 不同之处在于,收费欺诈无法通过 WiFi 进行,而是强制设备连接到移动运营商的网络。 收费欺诈概述 在今天的一份报告中,微软分享了有关收费欺诈恶意软件如何工作以及如何在 Android 上阻止它的技术细节。 收费欺诈通过无线应用协议 (WAP) 进行,该协议允许消费者订阅付费内容并将费用添加到他们的电话账单中。 这需要通过移动网络进行连接,并且客户需要单击订阅按钮。一些服务会向客户发送一次性密码 (OTP) 以确认他们的选择。 WAP计费流程 WAP 计费的工作原理 来源:Microsoft 启用收费欺诈的恶意软件通过启动欺诈性订阅、拦截 OTP 和抑制可能提醒受害者的通知来自动完成所有这一切。Microsoft 确定了该过程中的几个步骤,这些步骤通常发生在用户完全不知道的情况下:
一个关键步骤是禁用 WiFi 连接并强制设备使用运营商的网络。在 Android 9(API 级别 28)或更低版本上,这可以通过正常的保护权限级别来实现。 对于更高的 API 级别,还有属于 CHANGE_NETWORK_STATE 权限的“requestNetwork”功能,它也带有正常的保护级别。 微软在Joker 恶意软件的示例代码中展示了这一点,该恶意软件在 5 年多的时间里不断进入 Google 的 Play 商店。 Joker 示例滥用 requestNetwork 功能 被 Joker 恶意软件滥用的requestNetwork 函数来源:微软 然后,收费欺诈恶意软件使用“NetworkCallbak”监控网络状态并获取“networktype”变量以将进程绑定到特定网络,从而迫使设备忽略可用的 WiFi 连接并使用移动运营商的。用户避免这种情况的唯一方法是手动禁用移动数据。 如果受害者的移动运营商在目标列表中,恶意软件会继续获取提供优质服务的网站列表并尝试自动订阅它们。 虽然有多种订阅场景,但用户通常单击 HTML 元素,然后向服务器发送验证码。 “为了让恶意软件自动执行此操作,它会观察页面加载进度并注入旨在单击启动订阅的 HTML 元素的 JavaScript 代码。由于用户只能订阅一次服务,该代码还使用 cookie 标记 HTML 页面以避免重复订阅” - Microsoft Microsoft 指出,有时可能需要额外的验证。该公司分析的收费欺诈恶意软件样本也有实现这一目标的方法。 一些运营商只有在检查用户是否通过通过 SMS、HTTP 或 USSD(非结构化补充服务数据)交付的 OTP 代码授权后才完成订阅,前两个更受欢迎。 Android 恶意软件窃取 SMS 数据并没有什么特别之处,它收集通过 HTML 协议接收到的消息,代码需要解析为指示验证令牌的字符串。 一旦威胁参与者获得授权码,他们就可以自由地完成对所选高级服务的订阅。 但是,这还不够,因为受害者可能会收到有关订阅的通知,因此需要禁止这些通知。 “从 API 级别 18 开始,扩展 NotificationListenerService 的应用程序被授权禁止从其他应用程序触发的通知” - Microsoft 恶意软件开发人员拥有三个 API 调用的子集,他们可以滥用这些调用来使来自其他应用程序的 SMS 通知静音:
另一种方法是使用动态代码加载,它仅在满足特定条件时才允许加载某些代码。这使得发现恶意软件变得更加困难,尤其是在静态分析方面。 将收费欺诈恶意软件远离您的设备归结为检查下载您的 Android 源的来源是否值得信赖,例如 Google 的 Play 商店。 此外,查看安装时请求的权限是降低恶意软件在您的设备上猖獗运行的风险以及保护您的隐私的好方法。 Microsoft 还建议用户避免允许应用读取或发送 SMS、访问通知或访问权限,除非这些权限是正常运行所必需的。 |
Powered by Discuz!
© 2003-2024 广州威思信息科技有限公司