最近,央视报道了一批新型骗局典型案例。其中,在一起静默盗刷案件中,受害者因旧手机卡顿,通过浏览器广告下载了一款未上架应用商店的清理类App,安装时轻率地授权了“无障碍服务”权限。随后诈骗分子利用无障碍服务权限植入木马,并在深夜远程操控手机,无需密码和验证码就完成了多笔转账,且全程无弹窗提醒。

那么,无障碍服务是怎么变成Android系统的阿喀琉斯之踵,只是向第三方App授予该权限怎么就能让手机易主呢?
经过手机厂商以及监管部门此前持续多年的宣传,大众对于Android应用索取相册、通讯录、短信、位置等权限,往往已经抱有一定的警惕心理。但无障碍服务这个名字太有欺骗性,对Android系统不了解的用户往往会认为它只是一个无伤大雅的辅助功能。
滥用相册、通讯录、位置等权限的危害性之所以会被反复宣讲,是因它们关联着数字广告行业。互联网厂商通过收集用户数据绘制精准的“用户画像”,来实现广告精准投放,创造出了巨大的商业价值。由于推荐算法的黑箱特性,即便监管机构都很难区分企业利用的数据中哪些是正常采集,哪些来自“数据黑市”。

即使App因未经用户同意收集敏感信息、过度收集信息等目的被工信部点名,后果无非是品牌声誉受损乃至罚款,违法成本相对较低。正因超范围收集用户数据并不会让互联网厂商伤筋动骨,才导致Android应用频繁索取相册、通讯录、短信、位置等权限。
可反观无障碍服务,它实际上是Android系统中权限等级最高的功能之一,旨在帮助残障人士能像正常人一样使用Android设备。那么问题就来了,残障人士往往存在视觉、听觉或触觉障碍,他们要如何像正常人一样使用Android手机呢?
Android系统通过无障碍服务读取用户界面上的一切元素,包括在对话框里输入的文字、正在浏览的页面、通知栏弹出的验证码,还能模拟用户长按某个按钮、滑屏以及语音控制等行为。但想要持续读取屏幕上的这些信息,并模拟用户操作,就意味着无障碍服务必须可以运行在后台,并监听由系统发出的绝大多数事件。
简而言之,开启无障碍服务后,你用眼睛能看到的屏幕,获得了该权限的App也能看到,你能用手指点击屏幕,这些App也能用代码实现同样的操作,使得用户只需动动嘴就能操作手机上的App。既然是将正常情况下仅由人类的操作转移给App,无障碍服务又岂会有不危险的理由?
然而功能健全的人往往用不上无障碍服务,就导致这个集查看屏幕、模拟点击、读取通知、覆盖界面等能力于一身的高危权限不太为人所知。与此同时,手机厂商过去也没有选择向用户普及这一服务。
事实上,专门用于过滤App开屏广告的“李跳跳”,就是利用无障碍服务来检索手机的活动窗口。当检测到符合预设规则的界面元素(如“跳过”按钮或广告弹窗)出现时,App就会自动执行点击操作,从而实现无需人工干预的广告关闭流程。

曾经被微信使用法律武器打击的自动抢红包脚本,其实也是通过无障碍服务监听系统通知,然后模拟用户打开微信以及抢红包。在更久远的早期Android版本中,无障碍服务还曾被Xposed、greenify用来实现批量强停功能。
显而易见,极度依赖软件服务变现的手机厂商,并不希望无障碍服务被滥用,并且考虑到后者的强大能力,厂商选择了默契地淡化它,尽量让其真正服务于有需要的人群。在某种意义上,开启无障碍服务是残障人士用安全换便利的不得已行为。
其实谷歌也曾尝试严控App获取无障碍服务的门槛,他们在向Android开发者发送的邮件中声称,除非开发者能明确描述使用无障碍服务的目的,否则将拒绝使用该服务接口的请求,并将开发者的App从Google Play Store中移除。只可惜由于大量开发者反对,后续谷歌不得不宣布暂停清理Google Play Store中滥用无障碍服务的App。

最终的结果,便是普通用户只知道不能随意向App提供位置、通讯录权限,却不知无障碍服务权限更危险。不过无障碍服务只能让App长出眼和手,又是如何让诈骗分子打破手机银行的保护呢?这是因为在两年前,某个黑客创造性地将无障碍服务权限与覆盖层权限(SYSTEM_ALERT_WINDOW)组合在了一起,可实现网络钓鱼本地化。
使用覆盖层权限可以让应用显示在其他应用上层,如今国内安卓系统的悬浮胶囊小窗、边缘吸附气泡等功能,就是基于这个权限实现。比如恶意应用通过无障碍服务监听到银行App正在前台运行,再用覆盖层权限在银行App上绘制一个UI、字体、颜色完全一样的“假页面”,用户往往就会毫无察觉地输入账号和密码。
接下来的事,就是在用户入睡的深夜时分,恶意App通过无障碍服务收发验证码,再借助用户的账号、密码,就能轻松完成转账等操作,事后再删除短信记录。用户如果不主动查询余额,可能都不知道自己的钱财被黑客盗取。
所以既是天使也是魔鬼堪称无障碍服务最好的注解,虽然它让残障人士得以追求美好的数字生活,但也能成为黑产盗窃用户财产的入口。
【本文图片来自网络】
