一種新型的點擊劫持技術可以利用用戶界面動畫繞過 Android 的權限系統,允許訪問敏感數據或欺騙用戶執行破壞性操作,例如清除設備。
與傳統的基于覆蓋的點擊劫持不同,TapTrap 攻擊甚至可以在零權限應用程序上啟動無害的透明活動,這種行為在 Android 15 和 16 中仍然沒有得到緩解。
TapTrap 是由維也納工業大學和拜雷塔大學的安全研究團隊開發的,并將在下個月的 USENIX 安全研討會上展示。目前,該團隊已經發表了一篇技術論文,概述了這次攻擊,并建立了一個網站,總結了大部分細節。
TapTrap 如何工作
TapTrap 濫用 Android 用自定義動畫處理活動轉換的方式,在用戶看到的和設備實際注冊的內容之間造成視覺上的不匹配。
一個惡意應用程序在目標設備上安裝后,使用‘ startActivity ( ) ’和自定義低不透明度動畫從另一個應用程序啟動敏感的系統屏幕(權限提示、系統設置等)。
"TapTrap 的關鍵是使用一種動畫,使目標活動幾乎不可見," 研究人員在一個解釋攻擊的網站上說。
這可以通過定義一個自定義動畫來實現,將開始和結束的不透明度(alpha)設置為一個低值,比如 0.01,從而使惡意或危險的活動幾乎完全透明??蛇x的是,縮放動畫可以用于縮放特定的 UI 元素(例如,權限按鈕),使其占據整個屏幕,并增加用戶點擊它的機會。
雖然啟動的提示接收所有觸摸事件,但用戶看到的只是顯示自己 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 技術的攻擊,并宣布他們的下一個版本將包括修復程序。