2012年7月26日,谷歌将Android Market重新命名,变为如今大家耳熟能详的Google Play。作为整个安卓系统最重要、最为官方的应用下载市场,10年来,Google Play已经服务了来自全球190多个国家地区的25亿用户。但正所谓树大招风,Google Play也早已被众多恶意软件盯上,成为它们的集散中心。
近两年,Google Play恶意软件泛滥的问题已经引起了越来越多安全机构的注意,根据2020年的一项调查研究,Google Play直接被确认为是安卓设备上安装恶意软件的主要来源。研究人员通过对790万款独立应用所涉及的3400万个APK分析,发现有10%到24%可以被描述为恶意或不需要的应用软件。研究人员还特别研究了这些软件的来源路径,结果显示,大约67%的恶意应用软件安装来自Google Play。
由于Google Play恶意软件问题越发严峻,安全事件频出,FreeBuf曾在近期做过多次专门报道:
Facestealer
今年5月,趋势科技揭露了一款名为Facestealer的间谍软件,该软件自去年7月被俄罗斯安全厂商Doctor Web发现以来,通过变换马甲,伪装成超200款应用渗透进Google Play,其中VPN类应用占比最高,达42款,其次是拍照类应用(20款)及照片编辑类应用(13款)。
Facestealer的目的是窃取用户 Facebook账户的敏感信息 ,当用户登录 Facebook账户后,恶意软件会搜集Cookie,并加密发送至攻击者所在的远程服务器。
【图:Facestealer请求用户登录 Facebook】
Autolycos
同样是去年,网络安全公司Evina的研究人员注意到一款名为Autolycos的恶意软件,根据批露,有8款软件内含Autolycos,累计下载次数超过了300万次。作为一种新型的恶意软件,Autolycos能够执行隐蔽的恶意行为,如在远程浏览器上执行 URL,然后将结果纳入到 HTTP 请求中,而不是使用 Webview。这种方式旨在使其行为变得更加隐蔽,也不会被受感染设备的防护措施检测到。
Joker
Joker与Google Play的羁绊可谓最久,这是一款向用户恶意订阅由攻击者控制的高级付费服务的恶意软件,自2017年问世以来现身频繁。去年底,Joker被曝附身于一款名为Color Message的短信App内,下载次数达到了50万次,并在用户神不知鬼不觉的情况下订阅了昂贵的云计算服务。此外,它还会访问用户联系人信息,并将信息发送至由攻击者控制的境外服务器。
最近,网络安全公司Zscaler又在Google Play发现了53款含有Joker的应用软件,累计下载次数超过了33万次。这些应用一般通过冒充短信、照片编辑器、血压计、表情符号键盘和翻译应用程序的形式出现,一旦用户安装后,应用程序又要求提升设备的权限来进行其它操作。
道高一尺魔高一丈
其实官方应用市场时不时冒出恶意软件并不是什么新鲜事,哪怕是相对封闭的苹果macOS与iOS系统有时也会为之困扰,据 Apple Insider 的统计,2022 年迄今已发现超过 3400 万个新的恶意软件样本,其中macOS为 2000 个,而安卓系统则达到了53.6万个,可见基于安卓系统自身的开放性,恶意软件的防范难度远非macOS与iOS能够比拟。
在上传至Google Play时,这些恶意软件可通过轻量化的代码,伪装、克隆成合法正常的应用程序,以欺骗Google Play的安全防御检测,即使当受害首次下载安装时也看不出任何端倪,而一旦获取了用户设备相应的权限,这些恶意软件才逐渐浮现出庐山真面目——比如通过Dropper(滴管)技术,在受害者设备上逐步部署带有恶意功能的有效载荷。
为了尽可能多地持续性绕过检测,这些恶意软件也会不断升级优化,也会善于利用通用工具进行混淆,比如Joker曾利用由谷歌设计的开源应用开发工具包Flutter来逃避基于设备和应用商店的安全检测,它能允许开发者从一个代码库中为移动端、网络端和桌面端制作本地应用。由于Flutter的通用性,恶意软件代码也可以轻松绕过检查。
面对恶意软件泛滥,谷歌表示,仅在2021年就封禁了 190000 个恶意和垃圾邮件开发者账户,120 万款违反 Google Play 政策的应用被删除,但这并不表示这些删除都是及时的。如前文所述,去年6月,网络安全公司Evina发现了8款内含Autolycos的恶意软件,并随即向谷歌做了汇报,但谷歌花了长达约半年的时间才删除了其中的 6 款软件,另外两款直到今年7月初才被删除。正是由于许多恶意软件仍需要安全公司甚至用户主动发现并上报,再经过谷歌一定时间的审核确认,导致不少恶意软件在被删除前已被下载了数万次,在这期间,攻击者可能已或多或少达成了他们的目的。
对于主要依靠事后删除这种治标不治本的做法,谷歌也尝试过扩大其检测和防御手段,但这些恶意软件的更新迭代也在不断加快,总能找到空子趁机溜入。今年4月,谷歌通过了一系列新的开发策略,要求自 2022 年 11 月 1 日起,所有新发布的应用程序必须对标最新Android系统版本发布后一年之内与之相匹配的API 级别,否则将不得上架Google Play;而现有应用若两年内未对标相应API级别,则会被Google Play移除。
这一变化旨在要求应用程序开发人员采用更严格的 API 策略来支持较新的 Android 版本,以针对目前的安全威胁,获得更好的权限管理和撤销、通知反劫持、数据隐私增强、网络钓鱼检测、屏幕启动限制等功能。
另外一项政策便是收紧了“REQUEST_INSTALL_PACKAGES”权限,以针对一些应用在上架Google Play时通过提交看似正常的代码骗过审核,并在被下载后部署恶意模块。该政策已于7 月 正式生效,适用于所有使用 API 级别为 25 (Android 7.1) 及更高版本的应用,使用此权限的应用程序在安装或更新时仅能获取经过数字签名的数据包,且不得执行自我更新、修改或在文件中捆绑其他 APK的操作。
这些政策能给谷歌防范恶意软件带来多大帮助目前还不得而知,但有一点可以肯定,恶意软件如同经久不衰的DDoS以及APT攻击,攻击者总能找到突破口实施入侵。对于Google Play,谷歌所要做的就是尽可能地快人一步,不断升级安全措施,及时发现并阻止恶意软件,尽量减小它们对用户构成的威胁。
精彩推荐