使用社交工程陷阱( Social Engineering)技巧,開發者可以建立一個應用程式用來誘騙使用者去點一個特製的應用程式跳出視窗(稱為toast view”通知訊息視景”),讓它成為多種威脅的入口,這種攻擊被稱為tapjacking,會利用一個Android使用者互動(UI)組件內的特定漏洞。
這技術並不是很複雜,但會對Android使用者造成嚴重的安全問題。
在我們進入tapjacking的細節之前,讓我先簡單地解釋一下這個UI漏洞的出處。
簡介應用程式活動(Activity)
Android顯示UI元素是以活動(Activity)為單位。一個活動(Activity)是一個會佔據整個螢幕大小的系統組件,可以容納很多不同的視景(View),一個顯示在設備螢幕上的矩形區域。
下面是一個活動(Activity)的例子,它包含兩個視景(View),即(1)文字視景,這是使用者可以輸入文字的地方。還有(2)按鈕,讓使用者點(或輕觸)。如下所示,一個活動(Activity)可能會佔據整個螢幕,即使很大一部分是空的(或黑色)。下面是應用程式WarGames的一個活動(Activity)的擷圖(注:此擷圖並非來自惡意應用程式):
一個應用程式有好幾個活動(Activity),每個活動(Activity)代表一個UI元素,可能會佔用整個螢幕。作業系統利用被稱為堆疊(Stack)的資料結構來管理不同的活動(Activity),最新的活動(Activity)會顯現在堆疊的頂端,而舊活動則會位在它下面。目前出現的活動始終都會顯現在頂端,是唯一可以回應使用者輕觸或滑動的活動(Activity)。
在大多數情況下,應用程式被設計成出現一個新活動(Activity)來顯示一個可能會佔據整個螢幕的新UI。不過也有例外。在某些情況下,一個應用程式可以只顯示視景(View),不需要將視景(View)放在一個活動(Activity)內部。這些例外就是對話框視景(Dialog View)和通知訊息視景(Toast View)。
對話框視景和通知訊息視景之間的不同
對話框視景主要是讓應用程式與使用者互動。這是個雙向的互動:對話框會顯示一些資訊給使用者,使用者可以透過輸入文字或點擊Widget元件,像是按鈕回應。而且,因為對話框視景是暫時出現,它被設計成盡可能的小,讓使用者仍然可以看到背後是什麼。使用者還是不能跟對話框背後的活動(Activity)互動。
至於通知訊息視景就更有趣了。根據Android,通知訊息(Toast)提供「關於在一個小的彈出視窗內的操作的簡單回應」。通常它只會佔據訊息所需的空間,而且使用者還是可以跟它背後的活動(Activity)互動。底下是一個範例:
取決於應用程式(和開發者),通知訊息視景可能會顯示一段簡短資訊(見上圖)。但它的大小並不是固定的。開發者可以自由設計自己的應用程式來顯示較大的通知訊息視景,甚至可以像下圖這樣包含圖片:
現在,這是耐人尋味的部分。可以在視景內顯示任何圖片會導致許多可能性。因為通知訊息視景只是將使用者輕觸或滑動的行為帶到背後的活動(Activity),一個陰險的開發者可以用張吸引人的圖片(像色情圖案,明星照片等)或假UI作為誘餌,來讓使用者和隱藏活動(Activity)互動。這可能會讓使用者陷入各種威脅中,像是下載惡意應用程式,線上購買,註冊加值服務,甚至抹除整個作業系統。
但使用通知訊息作為誘餌有個先決條件。通知訊息視景通常被設計的很短暫,可能只會出現幾秒鐘。為了有效地將通知訊息視景用在攻擊中,它在螢幕上停留的時間必須超過幾秒鐘。
雖然有阻礙,但這問題並不會阻擋一切。為了繞過這限制,惡意開發人員可以使用定時器(Timer)。定時器是由Android SDK所提供,可以在預先定義好的時間運行一段程式碼。壞傢伙可以使用定時器來讓它在螢幕上消失前重新出現。
因為惡意應用程式只使用tapjacking的方式來欺騙使用者,本身並不執行任何惡意行為,應用程式將不需要在設備上取得任何權限。這對安全研究人員和防毒產品來說可能是個挑戰,有問題的應用程式可能除了顯示這些視景外不做任何事,要單靠靜態程式碼分析來標記惡意應用程式將會有所困難。
根據我們的研究,這威脅影響到所有運行早期薑餅人系統的Android設備(版本2.3之前)。Google提供開發人員一個方法來解決這一漏洞,讓視景在被另外一個視景蓋過時能夠防止互動事件,從而消除了使用者去跟隱藏視景互動的可能性。
然而,這新功能只能用在兩方面:(1)將filterTouchesWhenObscured屬性設為true或(2)實施onFilterTouchEventForSecurity方法(Method)。這需要開發者明確地修改自己的程式,而很有可能的是,並非每個開發人員都意識到這一點。更重要的是,使用者需要同時將作業系統和應用程式都更新到最新版本才能防止這種攻擊。
總之,tapjacking威脅並非不存在,而且可能會存在相當長的一段時間。
@原文出處:Tapjacking: An Untapped Threat in Android作者:Yinfeng Qiu(行動威脅分析師)
想了解更多關於網路安全的秘訣和建議,只要到趨勢科技粉絲網頁 或下面的按鈕按讚
◎延伸閱讀
避開 Android 權限機制:您應該知道的事
假 Mac OS 安裝程式透過手機帳戶向使用者收錢
《小三與情人們的手機間諜戰》追蹤電話與手機位置的Android間諜軟體下載次數高達10萬次,趨勢科技呼籲行動裝置安全不可輕忽!
家長請不要讓你的小孩越獄(Jailbreaking)他們的iPhone
《針對Windows 8 趨勢科技推出資安防護雙APP 》SafeGuard(網頁威脅過濾器)、Go Everywhere(行動裝置定位器)
假壞蛋豬/搗蛋豬(Bad Piggies)遊戲,一下載即亂發簡訊,受駭者買單
超神準的算命大師如何用雲端展開讀心術?!(影片)
美國 2012 年總統大選 App 程式可能導致資料外洩
· <惡意Android app>假太陽能充電應用程式,用假正面評價騙取下載,附贈偷資料病毒
· 駭客入侵FBI探員電腦,1200萬蘋果用戶個資外洩!!快來檢查你的手機是否出現在外洩清單中
<看更多手機病毒/行動威脅>
PC-cillin 2013雲端版使用心得分享,抽近千元PIZZA 大餐
手機防毒不可不知 (蘋果動新聞 有影片)
TMMS 3.75 Stars in PC World AU
- PC-cillin 2013雲端版跨平台同時支援Win、Mac及Android手機與平板,立即下載