Cellebrite Physical Analyzer
檢測惡意程式

Cellebrite 資深總監,Heather Mahalik 在“Detecting Mobile Malware When Time is of the Essence” 線上論壇上介紹了如何藉由 PA 來檢測行動裝置是否有被植入惡意程式(Malware),若有相關疑慮可建議鑑識同仁參閱該 Webinar 說明。Heather 在會後另整理出五大常見問題,可讓鑑識同仁在檢測上有一個正確的方向。

1. 惡意程式碼特徵(Signature)比對是否包括常見間諜/追蹤軟體?

Bitdefender  採用惡意軟體特徵 (Malware Signature) 偵測機制,只要是已知的惡意軟體,並該特徵在清單內,Bitdefender 皆可偵測出。但請記住,許多正常的 APP 都可以用於監控行為。如 iCloud、Google、Facebook、Find My、Find Friends 等可能以惡意方式被使用。

若行動裝置有被置入惡意軟體的疑慮,可藉由以下程序來協助判定:

  1. 在 PA 的「工具」下,請執行 Malware Scanner(執行前請務必更新最新)。
  2. 先確認在「Installed Applications」與「Applications」下,是否有不明的 APP。
  3. 若為 iOS 裝置,確認 TCC.db 資料庫內的麥克風與定位服務是否有不明 APP 被濫用。
  4. 若為 Android 裝置,確認下載檔案的資料夾內是否有不明 APP。
    • SD Card
    • /data/local/tmp
    • Cache等
  5. 檢查 Physical Analyzer 中的「下載-Download」數據模型,並依軌跡追蹤。
  6. 檢查所有應用程式使用紀錄以及大量耗電的工作程序,這需要高階資料庫分析功能(建議可上 CASA 課程取得相關知識)。
  7. 最後,透過時間軸「timeline」檢視可能被植入惡意程式時間點的前後,找出可疑蹤跡。

假如合法的 APP 被用於監控行動裝置,這樣的情況則很難被檢測出,需資深的鑑識經驗才有辦法判定。(可參考上篇-NSO Group 飛馬間諜軟體鑑識報告

註:在 Mac 與 iOS 裝置上皆有 TCC.db,該資料庫主要是管理 APP 存取裝置硬體權限,如麥克風,相機,定位服務等。iOS 裝置可在「設定」、「隱私權」上列出各 APP 使用硬體清單。以下為 TCC.db 資料庫的檢視,可看到已授權 LINE 使用麥克風。

tcc.db

圖一、檢視 tcc.db

2. 是否推薦使用 checkm8 提取,來檢測惡意程式碼?

當然!且強力推薦使用 Cellebrite UFED 在支援的 iOS 裝置上執行完整檔案系統提取(Full File System)。原本藉由 iTunes 備份無法提取出紀錄 APP 使用狀況的檔案與資料庫,如 KnowledgeC,Screentime,PowerLog 等,現在都可藉由 checkm8 漏洞提取後在 PA 上檢視。透過以上資料可查出哪一個 APP 在背景執行,是否消耗過多的電池用量,進而確認是否有惡意程式在裝置上執行。

3. APK 可否透過點選 Dropbox 的分享連接後自動安裝?或必須用戶同意後才會執行安裝?

無法確定,但是大多數惡意程式必須在某個時間點由用戶同意才可安裝。 會說「大多數」是因為可能有更進階的攻擊還沒被公開。 使用者從 APP Store 上下載 APP 時,由於用戶點選「安裝」,該 APP 下載後會自動安裝。 如果使用者不小心下載了專門開發為自動安裝的惡意程式,則有可能會被植入,但是從歷史經驗來看,這種情況非常罕見。

大多數惡意程式都會要求使用者在某些時間點與裝置互動。從「時間軸」功能,您可能可以看到使用者如何被誘使點擊安裝惡意程式,您甚至可以看到惡意程式是如何發送至裝置(可能從簡訊或聊天訊息內的連接),以及感染裝置後發生的一切情況。從「Installed Applications」與「時間軸」這兩個點切入檢視裝置,會對於調查是否被植入惡意程式有所幫助。

註:另一種進階攻擊是透過 MitM attack,感染的路徑都是藉由挾持 Wi-Fi 並藉由 Captive Portal 功能呼叫裝置內建的瀏覽器時執行攻擊。不過現在 Android 每月都會藉由 Security Patch 封阻漏洞,iOS 也會透過 OTA 更新,這樣的攻擊難度相對非常高。

4. PA 的惡意程式掃描工具對 iOS 裝置效果如何?

PA 採用的是 Bitdefender 惡意程式比對資料庫,主要是藉由惡意程式的特徵(Signatures)來找出裝置是否有被植入或感染惡意程式。Bitdefender 現僅支援 Android 的檔案惡意程式特徵偵測掃描,針對 iOS 裝置的特徵比對尚未成熟。切記,並非所有惡意軟體 (甚至 Android 應用程式) 都具備已知的特徵,因此針對 Android 裝置的掃描方法還不夠完善。

Cellebrite 需要社群與您的協助,以利了解問題,並確認網路研討會中探討的其他方法是否能夠協助辨識 iOS 惡意軟體。

5. iPhone 是否需要越獄才能感染惡意程式?

當然不是!有很長的一段時間我們以為需要越獄才可被植入惡意程式,實際上並不需要越獄也可能會被感染。最知名的範例為 2015 的 XcodeGhost 事件。由於 APP 開發者使用的 Xcode 程式已是感染的版本,藉由該版本開發上架的 APP 皆有後門,即使 iOS 裝置沒有越獄,下載安裝後的 APP 即可取得裝置的控制權限。最有名的受害者為 WeChat。

當然,若是已越獄的裝置則更有可能會受到感染。若使用者透過 Cydia 下載來源不明的 APP,很有可能使用者在不知情的狀況下賦予了 APP 極高的控制權限,惡意程式則可進行感染並讓遠端監控裝置的一舉一動。

因此,我們建議使用 Cellebrite UFED 和 checkm8 進行完整檔案系統提取,而非使用 checkra1n 測試版進行手動越獄,並且我們提供的方法並不會將 iOS 裝置永久越獄。