Google 旗下官方 Android 应用程序库 Google Play 再次被发现代管许多诈骗与潜在性恶意 App,经调查发现超过 56 款 App(有许多 App 适用儿童)安装在近 170 万台装置。
Tekya 是有一系列家族的恶意软件,会在 Google AdMob、AppLovin、Facebook和 Unity 等机构发出的广告及横幅式广告产生诈骗式点击(Fraudulent Click)。为了使这些点击给人真实合法的感受,经最佳模糊化的程式码会促使感染的装置透过 Android“MotionEvent”事件处理机制,模拟合法的使用者行为。
安全公司 Check Point 研究人员发现这些恶意 App 时,VirusTotal 和 Google Play Protect 并未侦测到。其中 24 款专门给儿童用的 App 发现内含 Tekya 病毒。Google 接获 Check Point 通报后删除了所有 56 款 App。
这发现“再次突显 Google Play 商店仍不时上架许多恶意 App”。Check Point 研究人员 Israel Wernik、Danil Golubenko 和 Aviran Hazum 在 24 日发表的贴文写道:“Google Play 提供近 300 万款 App,光每天就有数百款全新 App 上架,这使检查每款 App 是否安全的例行性工作更困难。因此,使用者绝对不能只靠 Google Play 的安全措施确定装置受保护。”
透过原生码编写规避侦测
为了让恶意行为更难侦测,这些恶意 App 会使用原生 Android 码编写(通常使用 C 和 C ++ 程式语言编写)。Android App 通常使用 Java 执行逻辑。语言界面提供开发人员存取多层抽象化的便利性,相反的,原生码会在更低阶层执行。尽管 Java 很容易反编译(将二进制码转换回人类可读之源代码的程序),但透过原生码很难做到这点。
一旦安装 Tekya App,App 会注册广播接收器(Broadcast Receiver),并执行以下多种操作:
- BOOT_COMPLETED:允许程式码在装置启动(“冷”启动)时运行。
- USER_PRESENT:侦测使用者何时重度使用装置。
- QUICKBOOT_POWERON:允许装置重启后运行程式码。
此广播接收器的唯一目的是为了将原生函式库“libtekya.so”载入每款 App .apk 档内的“libraries”档案夹。Check Point 贴文提供有关此程式码运作方式的更多技术细节。Google 官方代表确认此 App 已从 Play 商店移除。
恶意软件的 App 下载 70 多万次
再者,防毒方案供应商 Dr.Web 于 24 日安全报告指出,发现数量不详的 Google Play App 潜藏名为 Android.Circle.1 的恶意软件,这些 App 下载超过 70 万次。此恶意软件使用基于 BeanShell 脚本语言的程式码,并结合广告软件和点击诈骗(Click-Fraud)功能。这款经过 18 次变种修改的恶意软件可用来发动网络钓鱼攻击(Phishing Attack)。
Dr.Web 贴文并未列出所有内含 Android.Circle.1 病毒的 App 名称。少数确认的 App 包括 Wallpaper Black(Dark Background)、Horoscope 2020(Zodiac Horoscope)、Sweet Meet、Cartoon Camera 与 Bubble Shooter。Google 已将 Dr.Web 通报的所有 App 删除。同时 Check Point 发现的 56 款 App 也清楚详列于 Check Point 贴文。
Android 装置通常会在发现 App 感染恶意软件后解除安装,但机制并非始终按预期运行。读者可能需要检查自己的装置,以查看是否感染病毒。一如既往,读者应该能对安装的 App 拥有高度选择性。虽然毫无疑问,Google 扫描机制可侦测到大量已提交 Play 商店的恶意 App,但仍有大量用户持续遭避开这些检查机制的恶意软件感染。
- Google Play’s malicious app problem infects 1.7 million more devices
(首图来源:Google Play)