2014年 Android上的新HTML5 封裝惡意軟體上升 ,近 50%偽裝成遊戲軟體

隨著全球資訊網協會(W3C)完成了HTML5的標準制定,可以預期會在不久的將來看到許多新 HTML5 網頁應用程式出現。想到網頁應用程式的平台獨立特點,趨勢科技也預測HTML5會加速將網頁應用程式重新封裝成行動惡意軟體。

ANDROID HTML5

快速一覽 HTML5 Android應用程式

根據趨勢科技的監測,2014年出現在Android上的新 HTML5 封裝應用程式數量和2013年相較起來增加了200%。跟在2012年的原始數量比起來更是高達600%。

圖1、Android上新HTML5封裝應用程式從2012年至2014年的分佈圖

 

我們注意到 HTML5 封裝的惡意軟體或潛在有害程式(PUA)的數量也在上升。這些行動惡意軟體/潛在有害程式中,有幾乎 50% 偽裝成遊戲軟體。

 

圖2、Android上新HTML5封裝惡意軟體/潛在有害程式從2012年到2014年的分佈圖

 

一個行動惡意軟體/潛在有害程式的例子是偽裝成 Tiny Rifles 的遊戲應用程式(套件:com.html5.game2),一個HTML5遊戲。這個假遊戲會透過瀏覽器載入HTML5遊戲,但也注入侵入性廣告軟體SDK到程式碼中。這個惡意應用程式已經從Google Play上移除。趨勢科技將其偵測為潛在有害程式(PUA)。

 

圖3、假Tiny Rifles遊戲

兩種 HTML5  Android 惡意軟體攻擊方法。

根據我們的分析,HTML5封裝之惡意軟體可能會採取的攻擊方法有兩大類:

方法一:啟動本地端WebView

這是最普遍的攻擊手法,無需修改任何原始HTML5應用程式的程式碼.駭客只要啟動本地端WebView來載入附加或遠端HTML5/JavaScript/CSS程式碼。這樣一來,主要功能就能夠運作,然後可以發佈成一個新的Android應用程式。

不過大多數駭客不會在這裡停住,因為只將網頁應用程式轉成Android應用程式並沒有意義。駭客通常會在釋出應用程式前先注入惡意JAVA程式碼。

圖4、惡意JAVA程式碼注入到HTML5封裝應用程式

 

通過這種方式封裝應用程式,惡意程式碼和正常程式碼可以從源頭分開;駭客可以專注在注入的部分,而只需要花費很少的精力在原本的HTML5,這讓程式碼邏輯清楚而簡單。

方法二:透過中介軟體封裝HTML5應用程式並注入惡意JavaScript程式碼

隨著Android變得越來越受歡迎,有大量中介軟體出現以方便開發者開發跨平台的應用程式。中介軟體是種運作在應用程式和作業系統(OS)間的第三方軟體/框架。

對於HTML5和相關網頁應用程式,目前有數個支援跨平台開發的開放性框架,例如:PhonegapApache CordovaCrosswalkCocoonjs還有其他更多。這些中介軟體通常都支援HTML5。一個著名的中介軟體是Apache Cordova,經常被用在Android上。

除了在WebView中執行HTML5/JavaScript/CSS程式碼,整合這些中介軟體的應用程式會運行在這些框架程式庫的核心中,通常就像是重度客製化的瀏覽器。透過這些中介軟體所提供的強大API,開發人員可以只透過JavaScript就和Android互動。

圖5、透過 Cordova執行,惡意JavaScript程式碼注入以發送簡訊

 

結論

HTML5讓開發強大的網頁應用程式變得更容易,這在某種意義上對Android大有好處,因為網頁應用程式可以獨立於平台。對於開發者來說,跨平台開發的成本很低,提供了「一次編寫,到處運行」(WORA)的能力。永遠不會有平台開發延遲問題。對使用者而言,他們可以隨時在不同行動平台上共享喜愛的應用程式,這讓利用HTML5開發網頁應用程式成為雙贏的局面。

雖然跨平台的好處也意味著可能會有跨平臺感染問題,JavaScript程式碼保護的困難也往往讓網頁應用程式易於被複製和重新封裝。理論上,透過程式碼注入和重新封裝,駭客可以盜用任何他們想要的網頁應用程式到任何平台上。

在可預見的未來,我們可能會看到有惡意軟體能夠同時打擊不同的行動平臺(如iOS、Android、Windows Phone)。為了防止這一點,開發人員需要花費更多努力在程式碼混淆或其他編碼技巧上以防護他們的應用程式。一般使用者需要小心地安裝新應用程式,只從官方應用程式商店下載。

 

@原文出處:Repackaging HTML5 Apps into Android Malware作者:Seven Shen(行動威脅分析師)

Plugx

Dr safty 安全達人