Google Play和APP Store作为我们日常生活中最耳熟能详的两大应用商店,在提供便利的同时,也藏匿着诸多安全风险。Google Play因其宽松的网络环境,成为了恶意软件繁育的温床。而苹果生态虽然是出了名的“干净”,但也难逃恶意软件的伪装。
近年来,两大平台均实施了多项举措,试图通过强力整顿一改此前APP杂乱无序、野蛮生长的局面。虽然这些年确实取得了一些成效,但仍然有不少“漏网之鱼”,给用户造成了严重后果。
2023年1月至今,仅短短9个月时间,这两大应用商店均已曝出多个恶意应用“潜藏”窃取用户信息的新闻。
今年6月20日,苹果App Store上出现一款假冒Trezor的恶意应用程序Trezor Wallet Suite,该应用仅上架几周就窃取了数千人的资金。该恶意程序最初由The Crypto Lawyers的管理合伙人Rafael Yakobi发现,可跟踪用户的投资组合并交易资产。
如果用户忘记了钱包应用的登录细节,钱包供应商会要求他们离线存储种子短语。种子短语是最后一道防线,用户只能用它从钱包应用程序中收回资金。Trezor为用户提供了Shamir备份,以帮助他们生成多个种子短语,这些种子短语可以存储在不同的物理位置。
下载应用程序后,用户可以选择一定数量的短语来解锁资金。例如,他们可以生成三个种子短语,但只需要两个就可以解锁他们的资金。而使用假冒的Trezor Wallet Suite泄露种子短语的用户可能创建了一个种子短语。生成多个种子短语需要用户创建新的钱包。
多个种子短语可以确保即使假冒应用获取了一个短语,它也无法访问用户资金。这款假冒应用曾一度成为英国区App Store搜索量第二高的应用,这实在令人哭笑不得。
虽然苹果声称 App Store“是一个你可以信任的地方”,并且反对侧载(sideloading),但现实生活中却是即使苹果也不能完全保证 App Store 中没有诈骗应用。
相比于macOS与iOS,安卓系统基于其自身的开放性,恶意软件的防范难度比苹果更甚。Google Play恶意软件问题十分严峻,安全事件频出。比如:
今年5月,伪装成营销软件开发工具包(SDK)的间谍软件被发现进入101个安卓应用程序,其中许多以前在Google Play上,下载量超过4亿次。
Doctor Web的研究人员称这种恶意SDK为 "SpinOk",并报告说,它拥有一揽子营销功能,如小游戏和抽奖,以保持访问者长时间使用应用程序。
研究人员进一步解释说:"在初始化时,这个木马SDK通过发送一个包含有关受感染设备的的请求,连接到一个C2服务器。包括来自传感器的数据,如陀螺仪、磁力计等,可用于检测模拟器环境并调整模块的操作程序,以避免被安全研究人员发现"。
今年 7 月,安全人员 Pradeo 发现 Google Play 中存在两款伪装成文件管理器的恶意应用。这两款恶意应用名为“File Recovery & Data Recovery”及“File Manager”,在安装后便会要求用户给予权限,此后便会在系统后台常驻。
图源:Pradeo
这两款恶意软件会搜集受害手机中的通讯录名单、社交网站账号、GPS 地理位置信息、相册及视频文件、手机具体型号、操作系统版本、运营商、手机号码等,并传输至黑客处。据统计,这两款应用截至下架前已经分别被下载 100 万次、50 万次以上。
今年9月,Google Play 中出现了伪装成Telegram修订版的间谍软件,该软件可入侵安卓设备并获取敏感信息。这种恶意软件不仅可以窃取用户的姓名、ID、联系人、电话号码和聊天信息,还能将这些信息传输至恶意行为者的服务器上。
俄罗斯网络安全公司将这种活动命名为 Evil Telegram。这些软件在被谷歌商店下架前,已经被下载了数百万次。
Google Play恶意软件泛滥的问题已经引起了越来越多安全机构的注意,根据此前的一项调查研究结果显示:Google Play直接被确认为是安卓设备上安装恶意软件的主要来源。
这些恶意软件是如何“逃”过安全监测的
在移动应用市场蓬勃发展的今天,恶意软件的威胁也愈加严峻。尽管应用市场开发者采取了一系列安全措施,如代码审查、权限管理和黑名单机制,但恶意软件开发者仍然找到了诸多绕过安全监测的方式,这给用户的设备安全和隐私带来了巨大的风险。
一般来说,恶意软件比较常用的绕过方式有以下几种,我们来逐一看看:
利用版本控制
根据此前谷歌云安全团队的调查研究显示,恶意行为者在躲过Google Play商店的审查流程和安全控制后,会使用一种被称为版本控制的常见策略,在Android设备上植入恶意软件。
该技术通过向已安装的应用程序提供更新来引入恶意有效负载,或者通过所谓的动态代码加载(DCL)从威胁参与者控制的服务器加载恶意代码。
它允许攻击者绕过应用商店的静态分析检查,在Android设备上以原生、Dalvik或JavaScript代码的形式部署有效负载。
谷歌在今年的威胁趋势报告中提到:恶意行为者试图规避 Google Play 安全控制的一种方式是版本控制。
比如,开发者会在Google Play应用商店发布一个看似合法并通过谷歌检查的应用程序初始版本,但随后用户会收到来自第三方服务器的更新提示,这时候终端用户设备上的代码会被改变,这样威胁者就可以实施恶意活动,从而实现版本控制。
所有提交到 Play Store 的应用程序和补丁都要经过严格的 PHA(潜在有害应用程序)筛选,但 "其中一些控制 "被 DCL 绕过。
此类活动的应用程序违反了Google Play欺骗行为政策,可能被谷歌方面贴上后门标签。
根据该公司的 Play Policy Center 指导方针,通过 Google Play 发布的应用程序禁止通过 Google Play 提供的官方更新机制以外的任何方式进行更改、替换或更新。
伪装成合法应用
像上文提到的冒牌Telegram修订版间谍软件就是采用了这个方法,其与 Play Store 版 Telegram 相关的软件包名称是 "org.telegram.messenger",而直接从 Telegram 网站下载的 APK 文件的软件包名称是 "org.telegram.messenger.web"。
恶意软件包名称中使用的"wab"、"wcb "和 "wob "更加表明了威胁行为者是通过这样的错别字抢注技术来冒充真正的Telegram应用程序,以达到掩人耳目的目的。
乍一看,这些应用程序似乎是带有完整的本地化界面的Telegram克隆版。这个克隆版软件从外观界面、甚至操作运行起来都与真品几乎一样。仅有一个非常小的区别,就是受感染的版本包含一个额外的模块,因此没有引起 Google Play 管理员的注意。
斯洛伐克网络安全公司在2023年3月也曾发现过类似的山寨 Telegram 和 WhatsApp 应用程序,这些应用程序带有剪切功能,可以拦截和修改聊天信息中的钱包地址,并将加密货币转账重定向到攻击者的钱包。
利用漏洞躲过安全检测
还有一些恶意软件开发者会利用应用程序中的漏洞或者零日漏洞来绕过应用市场的检测,以执行恶意操作。这些漏洞可能包括操作系统、应用程序或者应用程序库的漏洞。
此前微软的首席安全研究员 Jonathan Bar Or 发现,通过能够绕过Gatekeeper 应用执行限制的不可信应用程序,攻击者利用CVE-2022-42821就能在易受攻击的macOS设备上部署恶意软件。
Gatekeeper 是一个macOS 安全特性,可自动检查从互联网上下载的所有应用(前提是获得公正和开发人员签名),在发出应用不可信的警报之前请求用户进行确认。而这是通过检查一个扩展属性com.apple.quarantine 实现的,该属性由web浏览器分配给所有已下载文件,这一机制类似于Windows 中的Mark of the Web机制。
该漏洞可导致特殊构造的payload滥用一个逻辑问题设立限制性访问控制清单 (ACL) 权限,阻止web浏览器和Internet 下载工具为payload归档为ZIP文件的下载内容设立com.apple.qurantine 属性。结果,所归档的恶意payload 中所包含的恶意app在目标系统上启动,而非被Gatekeeper 拦截,从而导致攻击者下载并部署恶意软件。
这是近年来发现的其中一个Gatekeeper 绕过,其中很多被用于绕过类似于的macOS 安全机制,如Gatekeeper、File Quarantine和SIP等。
动态加载恶意代码
此外,还有某些恶意软件在初次安装时可能并不包含完整的恶意代码,而是在用户使用过程中动态加载。这就使得应用市场可能无法在软件安装阶段检测到恶意代码。恶意软件可通过这样的方式绕过安全监测。
当用户下载这些App时,首次安装时,用户依然可以正常使用,但他们不知道的是,未知的第三方在后台已经悄悄发出了下载远程配置文件的请求。
当恶意组件下载成功后,会开始显示广告,让软件开发者可以通过受感染的Android设备赚钱。该应用软件的配置文件由攻击者远程控制,此外开发者对App源代码中的一些关键字进行编码和加密,使其能够顺利逃避Google Play的严格安全检测。
即便如今的APP Store和Google Play已经对恶意软件采取了反制措施,但道高一尺魔高一丈,“狡猾”的恶意软件总能钻到新“空子”。
两大应用市场均已采取反制措施
事实上从iOS 7开始,苹果公司就引入了“苹果签名机制”的安全特性。这个特性的目的是确保只有经过苹果公司授权的应用程序才能在iOS设备上运行。具体来说,苹果公司会为每个应用程序颁发一个数字签名证书,该证书用于验证该应用程序的身份。当用户尝试安装应用程序时,iOS会检查该应用程序是否经过苹果公司授权。如果没有经过授权,该应用程序将无法安装。
除了数字签名证书外,苹果公司还引入了另一个名为“应用互联”的特性。该特性的目的是确保用户只能安装来自苹果应用商店的应用程序。具体来说,应用互联会验证应用程序的来源,以确保它来自苹果应用商店。如果应用程序没有来自苹果应用商店将无法安装。
另一方面,谷歌也在近日公布了恶意软件反制措施,要求所有以机构名义注册的新开发者账户在提交应用程序之前提供一个有效的D-U-N-S号码。
D-U-N-S(数据通用编号系统)是由商业数据和商业分析公司Dun & Bradstreet分配给各企业的九位标识符,每个号码都是独一无二的。向Dun & Bradstreet申请D-U-N-S号码的组织必须提交几份文件来完成验证信息,这个过程可能需要长达30天的时间才能完成。
D-U-N-S是全球公认的专有标准数据通用编号系统。同时,美国政府、欧盟委员会、联合国和苹果公司等均在使用该系统,其市场认可度极高,被认为是十分值得信赖的。
通过要求软件开发商提供D-U-N-S编号,谷歌还将加大恶意应用发行商在应用商店重新注册的难度,一旦被判定为恶意软件被驳回,再想要入驻该平台需重新成立一家新公司。
这项新措施或许能有效提高平台的安全性和可信度,遏制新账户提交恶意软件的行为。
想避免下载到恶意软件,我们该如何做?
如果想要最大程度的规避恶意软件,除了应用市场开发者应不断改进安全监测机制,提高对恶意软件的检测和防护能力以外,作为用户,我们在日常下载应用的过程中应选择可信的应用来源,及时升级操作系统和应用程序,以及使用安全软件来保护自己的设备。
我们在下载应用之前,也可通过查看其他用户对该应用的评价,这有助于了解其他人的使用体验和是否有关于潜在的恶意行为的警告。如果应用的评价较低或存在大量负面评论,那么这可能是一个下载应用前的警示信号。
同时,避免点击来自陌生或不可信的链接也十分重要。恶意软件开发者经常利用钓鱼和欺骗等社交工程技术来引诱用户点击恶意链接并下载恶意应用。一定要谨慎对待来自未知发送者或怀疑链接真实性的信息。在下载应用之前,也要尽可能细致地阅读并了解应用所要求的权限。如果一个应用的权限请求与其功能不符合,或者权限请求过于冗余,那这也可能是一个潜在的恶意软件指示。使用app时,只授予其必要的权限,也能够有效降低恶意软件对设备和个人隐私的风险。
恶意软件开发者还常常会利用已知的操作系统和应用程序漏洞来入侵设备。为了防止这种情况发生,及时更新操作系统以及最新的安全补丁和修复程序也是十分必要的。
时至今日,“诡计多端”的恶意软件依旧猖獗,一个不留神就可能潜入应用市场中,给我们的设备带来严重的安全风险。虽然应用市场已经筑起了牢固的“防火墙”,但依旧是防不胜防。恶意软件开发者也在与时俱进,不断改变策略,想方设法地绕过应用市场的安全监测机制获取利益。
但于我们用户而言,细心筛选应用下载来源、注意权限请求、读取用户评价、安装安全防护软件以及定期更新操作系统和应用程序,势必可以大大减少下载到恶意软件的风险。
无论是对于App Store还是 Google Play 来说,防范恶意软件必将是一场持久战。“严字当头、长管长严”,无疑是打好护航应用安全这场“持久战”的关键所在。
参考资料:
https://thehackernews.com/2023/09/millions-infected-by-spyware-hidden-in.html
https://www.bleepingcomputer.com/news/security/google-explains-how-android-malware-slips-onto-google-play-store/
https://mp.weixin.qq.com/s/Z8BM81FT-pMclG8Ej2kiKQ