虽然Google采取了许多措施来确保Google Play应用商店的安全,以防恶意活动,但黑客仍然有许多方式来入侵应用商店,并访问用户设备。截止目前,有数百万移动用户下载了恶意app,恶意app可以窃取数据、凭证、邮件、文本信息和地理位置信息。比如,2月,Haken恶意软件家族的8款恶意应用就被安装了超过5万次,这些应用看起来都是安全的。
近期,Check Point安全研究人员发现了一款新的恶意软件家族,该恶意软件中有56个应用,下载了超过100万次。恶意软件名为Tekya,目标是进行移动广告欺诈,可以模拟用户的动作来点击来自代理商的广告,比如Google AdMob, AppLovin , Facebook和Unity。这56个应用中有24款目标是儿童,其他的是小工具app。
概述
Tekya恶意软件可以混淆原生代码来避免被Google Play Protect检测,使用安卓中的‘MotionEvent’机制来模拟用户的动作,并生成点击。
通过分析,研究人员发现Tekya恶意软件可以绕过VirusTotal和Google Play Protect的检测。最后,研究人员在Google play中发现了56个可下载的应用程序。
该攻击活动克隆了合法的主流应用来获取受众,因为大多数包含Tekya的恶意应用是儿童游戏,因此攻击活动的主要攻击目标是儿童。截止目前,所有受感染的应用都已从Google Play中移除了。
这又一次证明了Google Play应用商店中会有恶意应用。目前应用商店中有将近300万app,每天有上百个新的app上传,因此检查单个app是不是安全的非常难。因此,用户不能单单地依靠Google Play的安全措施来确保设备的安全性。
受感染的app完整列表如下所示:
图 1 – Tekya应用的Google Play页面
技术分析
从Google Play中安装应用后,接收器(receiver)会注册多个动作:
· ‘BOOT_COMPLETED’,允许代码在设备启动时运行
· ‘USER_PRESENT’,检测用户活跃使用设备
· ‘QUICKBOOT_POWERON’,允许代码在设备重启后运行
图 2 – Tekya Receiver注册
接收器有一个目的,那就是在.apk文件的libraries文件夹来加载本地库libtekya.so’。
图 3 – Tekya Receiver代码
在Tekya库的constructor中,会创建一个“Validator”对象列表,但并不会验证任何东西。
图 4 – ‘Tekya’ constructor部分
在每个Validator中,另一个调用的方法会从本地库libtekya.so运行内部函数。
对AdmobValidator来说,函数会调用c函数,然后运行z函数,最后调用本地库中的zzdtxq函数。
图 5 – AdmobValidator的覆盖函数,调用内部本地函数
在本地库libtekya.so中,Validator调用的函数负责多个动作:
· 调用ffnrsv 函数,负责分析配置文件;
· 调用getWindow 和 getDecorView 来获取所需的handle;
· 调用子函数sub_AB2C 和上面函数的结果。
图 6 – Tekya的‘zzdtxq’的本地代码
最后,子函数sub_AB2C 会创建和处理touch事件,通过MotionEvent 机制来模拟点击。
图 7 – VirusTotal 对Tekya 应用的测试结果
安全建议
如果有用户安装了受感染的app,用户应当:
· 从设备中卸载受感染的应用;
· 安装安全软件来预防未来的感染;
· 更新设备操作系统和应用到最新版本。
本文翻译自:https://research.checkpoint.com/2020/google-play-store-played-again-tekya-clicker-hides-in-24-childrens-games-and-32-utility-apps/如若转载,请注明原文地址: