賭博應用程式以偽裝術,躲過iOS App Store和Google Play審查,爬上前百排名

賭博應用程式在某些國家/地區可能被視為非法,並被iOS App Store和Google Play拒絕上架。
一批偽裝成普通應用程式來通過應用程式審核流程的賭博app,甚至出現在App Store的前100名。有些應用程式會還出現彈跳式頁面來誘騙使用者安裝不受App Store管理的企業應用程式。
這些假應用程式一開始看來很正常,有著各類功能(如天氣預報或娛樂用途),但某些應用程式具備切換功能,惡意份子可以用來設定應用程式顯示或隱藏真正的應用程式內容。開發者可以在應用程式被審查前切換成“關”,就可以啟動外觀正常的應用程式。應用程式就可以通過審查,因為已經把賭博的部分隱藏起來。
應用程式通過審查後可以被公開下載。接著惡意份子會切換成“開”來讓應用程式出現真正的內容。
惡意份子可能還使用了SEO搜尋優化技術來讓該應用程式更容易出現在搜尋引擎結果。儘管這些應用程式是假冒的,但仍然比其假冒的對象排名更高。
例如在中國的iOS App Store,似乎已經出現了許多這類假應用程式並躋身於前100名。這些應用程式已經被多次下載,其中之一甚至獲得了440,000筆評分。
趨勢科技行動安全防護可封鎖此類惡意應用程式。➔ 免費下載試用

隱藏在應用程式商店的假應用程式,誘騙不知情的使用者下載賭博應用程式

Google Play和iOS App Store上出現假應用程式並不是件新奇的事情,它們會誘騙使用者下載廣告或惡意軟體化的版本。我們之前曾報告過Google Play上出現的假Android語音應用程式,這些應用程式會偽裝成語音訊息平台的應用程式。而最近趨勢科技發現了隱藏在應用程式商店的假應用程式。這些假應用程式會偽裝成類似的應用程式,誘騙不知情的使用者下載賭博應用程式。

我們在iOS App Store和Google Play上發現了數百套假應用程式,其功能描述與真正的內容並不一致。儘管這些應用程式的功能描述各不相同,但都有相同的可疑行為:能夠轉變成會因違反當地政府法規或應用程式商店政策而被禁止的賭博應用程式。

有些應用程式甚至出現在App Store的前100名,而且可能已被下載了無數次。有些甚至被評分超過100,000次。我們已經將此發現通報了Apple和Google。

圖1. 應用程式螢幕截圖:看似普通的應用程式(左)會出現完全不同的外觀(右)

注意:上半部是iOS應用程式而下半部是Android應用程式

應用程式的派送方式:從網頁到應用程式商店

這些應用程式可以從賭博網站或應用程式商店下載。比方說在瀏覽網站時會顯示以下網頁。

圖2. 原始網頁(左)及其英文翻譯(右)

值得注意的是,網站的下載按鈕會將使用者導向App Store。這代表這些賭博應用程式通過iOS App Store的審查。在我們所看到其他案例中,有些應用程式會出現彈跳式頁面來誘騙使用者安裝不受App Store管理的企業應用程式。

圖3. 假App Store網頁(左)以及如何在iPhone上安裝企業應用程式的說明(右)

對於Android使用者,下載按鈕會將他們導向託管Android安裝套件(APK)的頁面,該檔案名稱為com.bxvip.app.jiuzhouzy。此APK的使用者介面(UI)跟透過WebView所載入賭博應用程式的相同。

圖4. com.bxvip.app.jiuzhouzy APK的UI

圖5. 根據iOS App Store上的描述,此應用程式會提供全球的假期資訊(左),但真正的UI是關於彩票(右)

如上所示,該應用程式在App Store上的描述是關於假期資訊。但我們在開啟應用程式後發現了不同的內容,看起來跟之前所提到的網頁類似。但這一次,它存在於行動應用程式中。下載的應用程式跟App Store內的描述完全不同。

Figure 6. Screenshots of the app on Google Play and the translated description (top), and the actual UI when launched (below)

圖6. Google Play上的應用程式螢幕截圖和描述英文翻譯(上)及啟動時的真正UI(下)

這些假應用程式也出現在Google Play。圖6顯示Google Play上的螢幕截圖及使用者啟動該應用程式時的真正使用者介面。

假應用程式如何通過應用程式商店審查?

App Store和Google Play並不禁止賭博或玩真錢的遊戲應用程式;但它們受到嚴格限制。像是在6月的一項更新說明應用程式內派送的HTML5遊戲可能不能連到使用真錢的遊戲、彩票等等。此外,Google Play僅允許符合要求的賭博應用程式出現在特定國家/地區。我們發現的假應用程式並不符合規範。

這些假應用程式一開始看來很正常,有著各類功能(如天氣預報或娛樂用途),但我們發現能夠控制這些假應用程式的顯示。底下的流程圖描述了整個過程。

圖7. 賭博應用程式如何進入應用程式商店

假應用程式有些有意思的行為。其中之一是應用程式具備切換功能,惡意份子可以用來設定應用程式顯示或隱藏真正的應用程式內容。在此案例中,API會在應用程式審查過程中關閉。

圖8. 在iOS(上)和Android(下)載入網址的程式碼

我們回放了網路流量。請注意,下圖內的“kaiguan”就是開關的漢語拼音,而1700對這些應用程式來說似乎並不是個普通數字。

Figure 9. Response

圖9. 回應

應用程式會用應用程式ID查詢指定網址。得到的回應會經過Base64編碼。如果應用程式ID無效,則得到的回應為空。

Figure 10. Decoded response

圖10. 解碼後的回應

如果資料不為空且可成功解碼,則該網址會被載入WebView。

Figure 11. Loaded WebView on iOS (top) and Android (below)

圖11. 在iOS(上)和Android(下)載入WebView

在iOS上,如果回應為空值,則WebView會被隱藏,繼續保持“正常”的應用程式。

Figure 12. Failed request on iOS (top) and Android (below)

圖12. iOS(上)和Android(下)上的失敗請求

對於Android,如果回應為空值,它會跳轉回本地端活動,同時繼續保持“正常”(經商店核准)的應用程式功能。

而以上做法可以用來騙過審查流程。比方說,開發者可以在應用程式被審查前切換成“關”,就可以啟動外觀正常的應用程式(正常和假應用程式的比較請參見圖1)。應用程式就可以通過審查,因為已經把賭博的部分隱藏起來。

應用程式通過審查後可以被公開下載。接著惡意份子會切換成“開”來讓應用程式出現真正的內容。

Figure 13. Implanted page on these apps

圖13. 被放入這些應用程式的網頁

假應用程式人氣高過假冒的對象

在我們進行研究時,這些應用程式似乎只會用WebView載入賭博網站,沒有對裝置做出惡意行為。且儘管這些應用程式是假冒的,但仍然比其假冒的對象排名更高。

根據Google Play的說法,這些應用程式是在2019年8月發布,這說明了為什麼下載量仍偏低。但在iOS App Store上並非如此。

在App Store上用關鍵字搜尋兩個相同類別的應用程式。假應用程式的排名高於類似應用程式(即賭博應用程式的排名高於真正的品酒應用程式)。

Figure 14. The fake app ranks higher than the legitimate app

圖14. 假應用程式的排名高於合法應用程式

合法應用程式已經持續更新了兩年,而假應用程式在過去六個月中僅進行了兩次小更新。我們認為彈出式WebView是在第二次更新時放入,它用合法應用程式的名稱和功能來誘騙使用者並散播賭博應用程式。惡意份子可能還使用了SEO搜尋優化技術來讓該應用程式更容易出現在搜尋引擎結果。

例如在中國的iOS App Store,似乎已經出現了許多這類假應用程式並躋身於前100名。這些應用程式已經被多次下載,其中之一甚至獲得了440,000筆評分。

Figure 15. Top-ranking gambling apps disguised as “normal” apps

圖15. 偽裝成“普通”應用程式的高排名賭博應用程式

我們還在iOS App Store上用相關關鍵字進行搜尋,找到了以下結果(限制在特定區域內)。

關鍵字 中國市場 日本市場 美國市場
重庆时时彩 (Chongqing Lottery Every Hour) 214 40 61
分分彩 (Lottery Every Minute) 55 26 52
北京赛车 (Beijing Racing) 314 9 104

表1. 按國家/地區分類的應用程式關鍵字結果

Figure 16. Google search results for Japan

圖16. 日本的Google搜尋結果

關聯假應用程式的命令和控制(C&C)通訊

我們還發現了用來控制上述三個應用程式的C&C伺服器app[.]kaiguan1700[.]com(要注意的是IP地址只有託管這個網址)。它會根據應用程式ID來回應不同網址,這些網址會被載入WebView。而當我們嘗試連線後,伺服器就關閉了。有意思的是,此時這些應用程式開始表現的跟普通應用程式一樣,因為我們意外地關閉了開關。這代表這些假應用程式共享同一個C&C伺服器,這可能是識別假應用程式的好指標。

Figure 17. C&C structure: How different domains and apps were related

圖17. C&C架構:不同網域和應用程式的關聯

由於有數百個假應用程式已經上傳到應用程式商店,而且使用了不同的開發者帳號,類別也各異。所以分析中央C&C伺服器可能是找出這些應用程式並加以封鎖的好方法。

安裝趨勢科技行動安全防護封鎖惡意應用程式

惡意應用程式偽裝成普通應用程式來通過應用程式審核流程,隱藏了其真實性質(在本例中為賭博)。賭博應用程式在某些國家/地區可能被視為非法,並被iOS App Store和Google Play拒絕上架。

此外,這些方法也影響了合法應用程式開發者和行動生態系,因為這些高評分假應用程式佔據了榜首。就使用者而言,使用者需要採用最佳實作保護行動裝置。同時建議在安裝應用程式前先閱讀評論,以便在使用前檢查是否有可疑功能或行為。

建議使用者安裝安全解決方案如 趨勢科技行動安全防護來封鎖惡意應用程式。一般使用者還可以利用其多層次安全防護功能,可以保護裝置所有者的資料和隱私,並且抵禦勒索軟體、詐騙網站和身份竊盜等威脅。

對於企業,趨勢科技的行動安全防護企業版提供了裝置、法規遵循和應用程式管理,資料保護和設定配置,同時能夠保護裝置抵禦漏洞攻擊,防止未經授權的存取以及偵測並封鎖惡意軟體和詐騙網站。趨勢科技的行動應用程式信譽評比服務(MARS)使用業界領先的沙箱和機器學習(Machine learning,ML)技術來涵蓋Android和iOS威脅。能夠保護使用者解決惡意軟體、零時差攻擊和已知漏洞攻擊、隱私外洩及應用程式漏洞等問題。

入侵指標(IoC

iOS App Store上發現的一些假應用程式(偵測為IOS_Chameleon.A)

App名稱 套件名稱 版本
グロ一バルホリデ一情報— 28元の登録 com.luther.worldholiday 1.6
グロ一バルホリデ一情報— 28元の登録 com.gavinjeremy.publicholidays 1.1
微醺 KK.WeiXun 1.0.1
semsiye com.semsiye.semsiye 1.2
HappyEnglishTOKorean com.HappyEnglishTOKorean 1.2
No Hit com.NoHit.cw 1.0.2
TeaAssistant com.wuzhongxin.teaassistant 1.1
SkyMadness sky.madness.com 1.0.1
Simon Color Match com.jda.Color-Match 1.3
Classic Poems com.abcd.Poems 1.2
Employee attendance tracker com.emp.att 1.1

Google Play上發現一些假應用程式(偵測為AndroidOS_Gambling.HRX)

套件名稱 SHA-256 版本
com.hh.ii.d587 B8409F8D625AACEF0DA1C50075443833781FD935DEF608FE396B11D4EEC619AE 1.0
com.hh.ii.p557 AD791FBAD2C3F06FE7C8CA9820D7D6F62C5C0BAAA835023472ADA1276C80CF7E 1.0
com.hh.ii.c603 4D7F591760EF07A2F240A6EF0AF4F9544437833A83C68B03E8E04F0E662B38F4 1.0
com.liuhe.fenxi.ruanjian 98F4C2CAB302C1B5954D8EC3B0658D83958D522DE6157B14171AAA6BB45F5798 1.0
com.jz.shequ.jiaoliu 8DB2AD04FD93704954CEE498F2431E98CAAD9D1E9BB836DEBD5BBF982A2FD246 1.0
com.tain.jing.ssc B7DCF23836919EC4CF5E71D313E4866CDAD0C8D514BFF0DE8C3147E65D3EEA93 1.0
com.jiu.ou.id2957 6C368EF20A419C3E792435C9DAF3CE9CD239611BDD6D40840CA70E56669B5A24 1.0
com.jiu.ou.id2969 1338C22DE793CF4C6F523A6C1A42C9EEFE5886F3C345ADF2D469C90323CC0691 1.0
com.jiu.ou.id2968 35B16C8A575B586BA10D0CEF9DB0356E7EBEDF93F887F3A5E90BD971557204D2 1.0
com.jiu.ou.id3001 DAF9E73A4B256D15D9A231B12A0DCDBD4BB152F6557BFF76D184A9286A2DB456 1.0
com.jiu.ou.id3006 C8355E6A056884CD781A36302CC8CE66CE1A912100AE37B28DBE44D3FDD2D702 1.0
com.jiu.ou.id3007 375EB929AF991AFA92769DE5D285BC7E4085150BD585335D4BDC460101849970 1.0
com.jiu.ou.id3000 6ADCD1D37D0024EA9E3C443BE029A774D845E2A9EFF48DD43988B05161454077 1.0
com.jiu.ou.id3002 42F90F0B9B635057170933AA8E73E869728B797010C6CA4891FA59E4D63F377C 1.0
com.jiu.ou.id3010 4DD441A5559E9F17B3A275AFDD73E18FEB27BFB37E9F9C027CEE8D62A268E846 1.0

@原文出處:Gambling Apps Sneak into Top 100: How Hundreds of Fake Apps Spread on iOS App Store and Google Play 作者:Todd Han和Junzhi Lu(趨勢科技行動威脅分析師)