威脅摘要:立即修補問題,以免受到 Android Toast 覆蓋的攻擊

Palo Alto Networks Unit 42 的研究人員於今日公佈會影響 Google Android 平台的全新嚴重性弱點的詳細資訊。這一弱點的修補程式已作為 Android 2017 年 9 月安全公告的一部份。這項新的弱點「並不會」影響最新版本的 Android 8.0 Oreo,但是會影響舊版本的 Android。 有些惡意軟體會以本篇文章中所提及的途徑發起攻擊,但 Palo Alto Networks Unit 42 目前並未發現任何針對此特定弱點的攻擊出現。由於 Android 8.0 是相對較新的版本,這表示幾乎所有的 Android 使用者都應該立即採取行動以套用更新項目,才能應對這項弱點。

我們的研究人員發現一項可以用來更輕鬆地發動「覆蓋攻擊」的弱點;這類攻擊是 Android 平台上已知的攻擊類型。這一類型的攻擊最有可能用來在使用者的 Android 裝置上安裝惡意軟體,它也可以用來讓惡意軟體取得裝置的全部控制權。在最糟糕的攻擊情境下,這項弱點可用來讓手機完全失去作用 (亦即「變磚頭」),或是用來安裝任何類型的惡意軟體,包含但不限於勒索軟體或資訊竊取程式。就最簡單的層面而言,在攻擊成功後,這項弱點可以用來取得裝置控制權、鎖定裝置以及竊取資料。

「覆蓋攻擊」這種攻擊方式,是指攻擊者的程式會在其他視窗或在裝置上執行的程式之上方繪製 (或「覆蓋」) 一個視窗。若成功進行這項動作,攻擊者便能夠誤導使用者,使其認為自己是對一個視窗進行點按動作,而實際上按的是另一個視窗。在圖1 中,您可以看到一個例子:攻擊者讓使用者以為自己要安裝修補程式,實際上是按下授予 Porn Droid 這個惡意軟體完整管理員權限的按鈕。

您可以看到這個攻擊會如何用來說服使用者,不知不覺間便在裝置上安裝了惡意軟體。這也可以用來向惡意軟體授予裝置的完整管理權限。

透過在裝置上開啟無法關閉的視窗,覆蓋攻擊也能用來在裝置上發動阻斷服務狀況。攻擊者會使用這個方法,在行動裝置上發動勒索軟體攻擊。

當然,覆蓋攻擊能夠用來在單一攻擊事件中達成以下全部三個目標:

  1. 欺騙使用者在裝置上安裝惡意軟體。
  2. 欺騙使用者對惡意軟體授予完整的管理權限。
  3. 使用覆蓋攻擊來鎖定裝置,並透過其勒索贖金。

覆蓋攻擊並非新出現,先前便曾引起過關注。但在此之前,根據 IEEE 安全與隱私期刊中的最新研究,所有人都相信試圖進行覆蓋攻擊的惡意程式必須要克服兩項重要的障礙,之後才能成功:

  1. 這些程式必須在安裝時明確向使用者要求「draw on top」權限。
  2. 這些程式必須從 Google Play 進行安裝。

這些因素能夠明顯降低風險,因此覆蓋攻擊並未被認為是種嚴重的威脅。

但是,根據 Unit 42 的全新研究顯示,有種方式能夠用來進行覆蓋攻擊,讓這些保護機制無法適用。若某個惡意程式要利用這項全新的弱點,我們的研究人員發現,只要在裝置上面安裝該類程式,便能發動覆蓋攻擊。這表示,惡意程式即便不是來自 Google Play,而是來自其他網站與應用程式商店,也能進行覆蓋攻擊。有件應注意的重要事項是,來自 Google Play 以外的網站與應用程式商店的,在世界各地構成了 Android 惡意軟體的一個重大來源。

這項會影響 Android 功能的特定弱點被稱為「Toast」(吐司)。「Toast」是會在螢幕上「彈現」(就像烤吐司) 的通知視窗類型之一。「Toast」通常會用來在其他程式上方顯示訊息與通知。

不像其他的 Android 視窗類型,Toast 並不會要求相同的權限,因此適用於先前的覆蓋攻擊之減緩因素,在這裡並不適用。另外,我們的研究人員已描述如何可以建立覆蓋整個螢幕的 Toast 視窗,進而能夠使用 Toast 來建立與一般程式視窗具有同等功能的視窗。

有鑑於此最新研究,覆蓋攻擊的風險便具有更高的嚴重性。幸運的是,最新版的 Android 從一開始便對此類型攻擊免疫。但是,大部份的 Android 使用者正在使用的還是具有弱點的 Android 版本。這表示,所有 Android 8.0 以前版本的使用者,都應為其裝置取得更新程式。您可以向行動業者或手機製造商取得修補程式與更新程式可用性的相關資訊。

當然對付惡意程式最好的防護方式之一,是僅從 Google Play 取得 Android 程式,因為 Android 安全性團隊會積極篩選惡意程式,並在第一時間將惡意程式阻絕在商店外。