新型Android TapTrap攻击用不可见的UI对用户进行引导性欺骗
一种新型的点击劫持技术可以利用用户界面动画绕过Android的权限系统,允许访问敏感数据或欺骗用户执行破坏性操作,例如清除设备。
与传统的基于覆盖的点击劫持不同,TapTrap攻击甚至可以在零权限应用程序上启动无害的透明活动,这种行为在Android 15和16中仍然没有得到缓解。
TapTrap是由维也纳工业大学和拜雷塔大学的安全研究团队开发的,并将在下个月的USENIX安全研讨会上展示。目前,该团队已经发表了一篇技术论文,概述了这次攻击,并建立了一个网站,总结了大部分细节。
TapTrap如何工作
TapTrap滥用Android用自定义动画处理活动转换的方式,在用户看到的和设备实际注册的内容之间造成视觉上的不匹配。
一个恶意应用程序在目标设备上安装后,使用‘startActivity()’和自定义低不透明度动画从另一个应用程序启动敏感的系统屏幕(权限提示、系统设置等)。
“TapTrap的关键是使用一种动画,使目标活动几乎不可见,”研究人员在一个解释攻击的网站上说。
这可以通过定义一个自定义动画来实现,将开始和结束的不透明度(alpha)设置为一个低值,比如0.01,从而使恶意或危险的活动几乎完全透明。可选的是,缩放动画可以用于缩放特定的UI元素(例如,权限按钮),使其占据整个屏幕,并增加用户点击它的机会。
TapTrap概述
虽然启动的提示接收所有触摸事件,但用户看到的只是显示自己UI元素的底层应用,因为在它的顶部是用户实际参与的透明屏幕。
用户认为他们是在与应用程序互动,他们可能会点击屏幕上与危险操作相对应的特定位置,例如在几乎看不见的提示上点击“允许”或“授权”按钮。
风险暴露
为了检查TapTrap是否可以与Play Store(官方Android仓库)中的应用程序配合使用,研究人员分析了近100000个应用程序。他们发现76%的应用程序容易受到TapTrap攻击,因为它们包含满足以下条件的屏幕活动:
·可以由另一个应用程序启动
·在与调用应用程序相同的任务中运行
·不覆盖过渡动画
·在动画完成之前就对用户输入作出反应
研究人员表示,除非用户在开发者选项或可访问性设置中禁用动画,否则最新的Android版本是可以启用动画的,否则会使设备暴露在TapTrap攻击之下。
在开发攻击时,研究人员使用了当时最新的Android 15,但在Android 16发布后,他们也对其进行了一些测试。
Marco Squarcina表示,他们在运行Android 16的bb0 Pixel 8a上尝试了TapTrap,他们可以确认这个问题仍然没有得到缓解。
专注于隐私和安全的移动操作系统GrapheneOS也证实,最新的Android 16容易受到TapTrap技术的攻击,并宣布他们的下一个版本将包括修复程序。