出現在 iOS App Store上不尋常的記帳軟體

 

 

第三方應用程式商店竟可以藏身在 iOS App Store?!

iOS生態系通常被描述為封閉性的生態系統,處在 Apple的嚴格控制之下。但有心人士還是有辦法跳脫這嚴格的控制。還記得 Haima 應用程式嗎?它利用Apple所發放的企業憑證 – 這成本很高,因為所需的憑證要頻繁地改變。

趨勢科技最近發現一個可以從官方 iOS App Store下載的記帳應用程式,該應用程式帶有日文字,但應用程式商店本身是用中文。此外,它也出現在多個國家的App Store內。這個軟體名稱為為「こつこつ家計簿 – 無料のカレンダー家計簿」,也就是家庭記帳軟體。看起來是個家庭財務助手軟體,但實際上是一個第三方應用程式商店。透過這個第三方商店,可以下載被蘋果禁止的越獄應用程式,Apple已經將它從App Store中刪除。

 

圖1、iOS App Store內的家庭記帳軟體

 

 

圖2-4、應用程式啟動的各階段

 

程式碼(如下圖5)顯示當它首次啟動時會檢查系統使用者設定 plist 內的 PPAASSWOpenKey 鍵值。該應用程式利用這鍵值確認之前是否執行過:如果沒有,就不會有鍵值存在。該應用程式會轉去執行其他動作,要求資料使用權限來存取第三方商店。因為 iOS的權限機制,這請求需要由使用者(圖2)同意。第一次請求失敗讓應用程式轉成記帳本畫面,偽裝成合法應用程式(圖3)。圖3的文字聲稱資料存取權限是從應用程式匯出資料所必須。

圖5、切換成記帳本畫面的程式碼(點擊放大)

 

只要應用程式沒有關閉或切換到背景,應用程式會保留在記帳本畫面。不過一旦進入背景執行,它會再次嘗試連到第三方商店。一旦連現成功,使用者不會看到記帳本,而是第三方應用程式商店(圖4)。

圖5、切換成第三方應用程式商店畫面的程式碼(點擊放大)

 

為什麼第三方應用程式商店作者需要這特殊的行為?將自己的應用程式商店放到Apple的官方商店可以讓潛在使用者更容易使用,所以需要這做法來通過Apple審查。

安裝應用程式

成功進入App Store後,第三方應用程式商店接著需要能夠安裝應用程式。應用程式作者利用一般使用企業憑證安裝應用程式的方法做到。

這方法需要建立一個plist檔案用來安裝應用程式。圖7顯示出範例plist檔案(請注意,此檔案並非該第三方應用程式所使用的那一個)。

圖7、範例plist檔案

 

接著建立如下連結:

 

  • itms-services://?action=download-manifest&url=https://{web server address}/install_app.plist

藉由打開網址來安裝應用程式。對於用Apple憑證簽章的應用程式有另一個要注意的地方:應用程式必須已經由使用者的Apple ID購買。這就是為什麼應用程式要求使用者Apple ID,這樣它才可以完成購買流程:

 

圖8-11、應用程式安裝階段

圖12、建立plist檔案和安裝連結的程式碼(點擊放大)

 

圖13、建立應用程式安裝程序的程式碼(點擊放大)

 

派送惡意軟體

 

除了已經存在App Store的應用程式,它也可以販賣通常不能從App Store下載的應用程式。不幸的是,這可能包括惡意軟體和其他不想要的應用程式。

一個例子是「PG Client」應用程式,這是個iOS裝置越獄工具。它曾經出現在App Store過,但已經被刪除。它仍然可以透過第三方應用程式商店下載:

圖14、PG Client

 

其他惡意應用程式常常會要求用戶下載PPHelper到電腦上,這也是個iOS越獄工具。這會安裝在PC/Mac上,然後要求使用者將iOS設備連到該PC/Mac。PPHelper在設備上取得跟使用者授權相關的檔案,然後以iTunes的身分和設備溝通,有效繞過在一些iOS的DRM保護。

 

圖15-17、要求使用者接上PC Helper應用程式的階段

圖18-19、要求使用者設備授權的程式碼

 

為錢行銷其他應用程式

這並非我們在App Store唯一看到有問題的應用程式。我們還發現另一個應用程式「爱应用助手」被用來行銷已存在App Store的應用程式。這可以有效繞過Apple應用程式搜尋跟付費搜尋廣告的設計。這應用程式可以向想推廣自己產品的開發者收錢,而無需透過Apple的行銷服務。

iOS提供各種讓開發者展示自己應用程式畫面的API。LoveApp用它來輕易的將使用者從自己的列表導到被行銷應用程式的App Store畫面:

圖20、安裝被行銷的應用程式

 

「LoveApp」在背景執行,而被行銷應用程式的App Store視窗出現在畫面上。可以在下圖看到程式碼:

圖21、打開App Store視窗的程式碼(點擊放大)

 

從隱私角度來看,LoveApp有許多問題。首先,在安裝過程中,它將部分使用者屬性上傳到自己的伺服器,包括廣告識別碼(IDFA)。這主要是用來計算下載次數。

圖22、被上傳的使用者屬性

 

此外,它還採用了稱為TalkingData的第三方軟體開發套件。它可以收集有關使用者行為的資訊:

圖23、呼叫TalkingData

 

但是這軟體開發套件有許多侵略性的API。可以取得許多的使用者系統資訊(包括無線網路名稱、正在運行的程序和IP地址)。如果使用者手機已經越獄,該軟體開發套件還可以收集使用者的Apple ID和安裝的應用程式。這足以讓我們認為這是個潛在有害程式。

圖24、其他的侵略性API(點擊放大)

 

風險及對策

 

我們建議使用者要小心從第三方應用程式商店下載的軟體。Apple並無法認證來自第三方商店軟體的安全性,而這會讓使用者將自己暴露於各種安全威脅下(包括惡意軟體和其他不想要的應用程式)。企業應該要制定政策來減少這些惡意應用程式,像是封鎖未經批准的應用程式商店和防護個人設備。

趨勢科技已經通知Apple關於文中所提到出現在iOS App Store上的這些應用程式。

下列檔案跟此事件有關:

 

SHA256雜湊值 偵測名稱
212015dbae6e36c703c513f762413ffe
fe5ad58720c22abb696bca94f3b6c14b
IOS_FakeAppStore.A
adcfa3d540f78297dde3dcbf0191271d
8592911d71703ce853b6de622421c1fb
IOS_JailBreakTool.A
c75777079d72c43516adc7bdee4db447
f22bbd25af26c08bcee42f885a820866
IOS_FakeAppStore.A

 

@原文出處:Third-Party App Stores Delivered via the iOS App Store