曝光:Android 恶意应用巧妙伪装,谷歌紧急出手修复漏洞

研究人员表示,移动恶意软件传播者一直在利用谷歌 Android 平台上的一个漏洞。该漏洞允许攻击者将恶意代码隐藏在移动应用之内,并可逃避安全扫描工具的检测。谷歌称为响应这项研究发现,已经对其应用程序恶意软件检测机制做出更新。

来自阿姆斯特丹的安全厂商 ThreatFabric 的研究人员发现一种在移动应用中混淆恶意软件的方法。该公司高级恶意软件分析师 Aleksandr Eremin 在采访中解释道,他们近期发现一些移动银行木马,利用的正是全体 Android 系统版本中均存在的 bug。该 bug 会损坏应用程序组件,导致将恶意代码被目前流行的移动安全扫描工具视为无效并忽略,因此整个应用仍可通过 Android 操作系统验证并成功安装。

Eremin 进一步指出,“有恶意软件将自身添加至.apk 文件当中(Android 应用安装文件),使其得以通过平台验证并成功执行所有恶意操作。目前许多用于解压和反编译移动应用的工具都无法正常处理这部分恶意代码。”

Eremin 表示,ThreatFabric 过去曾多次发现过这种恶意软件混淆方法。但从 2023 年 4 月起,该公司发现其他已知恶意软件家族出现了更多此类变体,采取同样的方式悄然作恶。此后,该公司将这种趋势归因于地下网络犯罪中的半自动化恶意软件即服务产品,即通过混淆或“加密”恶意移动应用的方式赚取利益。

Eremin 还提到,谷歌已经在 2023 年 5 月 9 日将这份早期报告标记为“高”严重等级。近期,谷歌向他们支付了 5000 美元的 bug 上报奖金。不过从技术层面来讲,谷歌并没有将此次发现归类为安全漏洞。

谷歌在书面声明中表示,“这是一种特殊情况,上报的问题并未被归类为安全漏洞,也不会影响到 Android 开源项目(AOSP)。但问题确实存在,我们也针对潜在的 bug 滥用情况对 Android 应用的恶意软件检测机制进行了更新。”

谷歌也承认,他们向开发人员提供的一些工具(包括 APK 分析器)目前无法正确解析此类恶意应用并将其视为无效,它们仍被允许安装在用户设备上。

谷歌在声明中补充称,“我们正在研究开发者工具的可行修复方案,并计划就此对文档内容做相应更新。”


根据 ThreatFabric 的介绍,常见的应用分析器能够发现一些明显的恶意迹象,表明恶意应用正滥用该 bug 以伪装成良性应用软件。在研究中,他们发现被这种方式篡改过的应用中的 Android Manifest 文件,将包含比软件包中其他文件都要早的更新时间戳。

更重要的是,Manifest 文件本身也会被篡改,以便应用所指定的“字符串”数量(即代码中的纯文本,例如注释)与软件内的实际字符串数量相符。

目前已知利用这种混淆方法的移动恶意软件家族之一为 Anatsa,这是一种基于 Android 系统的复杂银行木马,经常伪装成用于管理文件的无害应用。上个月,ThreatFabric 详尽介绍了 Anatsa 背后黑客团伙如何购买陈旧废弃的文件管理应用,或者开发自己的原创应用,在先积累起一定规模的用户群体之后再向其中注入恶意软件更新。

ThreatFabric 表示,Anatsa 会冒充成 PDF 阅读器及其他文件管理应用,因为这类应用往往拥有删除或修改设备上其他文件的高级权限。该公司估计,Anatsa 背后的黑客团伙已经在 Google Play 应用商店上持续开展恶意软件活动,并借此安装了超 30000 个银行木马。

最近几个月来,谷歌因未能主动监管其 Play 应用商店中的恶意软件应用、或者曾经合法但后来沦为流氓软件的问题而受到批评。技术外媒 Ars Technica 曾于 2023 年 5 月发表一篇报道,称一款原本良性的屏幕录制应用在积累了 5 万名用户之后转为恶意软件。文件指出,谷歌在其平台上发现恶意软件时不会对外公布,仅在收到上报时对发现问题的外部研究人员表示感谢并删除相关恶意软件。

Ars Technica 的文章写道,“谷歌公司从未解释过自己的研究人员和自动扫描流程为什么会漏掉外部人员发现的这些恶意应用。即使谷歌明智 Play 用户被其第一方服务推广和提供的应用感染,也不愿主动发出安全通报。”

报道还提到谷歌最近正做出一项积极的潜在转变:Android 11 及更高版本将迎来一项预防措施。该措施可实现“应用休眠”,即让挂起的应用进入休眠状态,从而消除之前正常运行时被授予的运行时权限。

原文链接:

https://krebsonsecurity.com/2023/08/how-malicious-android-apps-slip-into-disguise/

本文文字及图片出自 InfoQ

余下全文(1/3)
分享这篇文章:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注