Cellebrite Physical Analyzer
檢測惡意程式

2020-7-15 by 高田鑑識

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

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

惡意程式比對可找出任何已知且目前在 Bitdefender 列表中的惡意程式類型。但請記住,許多正常的 APP 都可以用於監視行為。如 iCloud,Google,Facebook,尋找我的iPhone,尋找我的朋友等可能以惡意方式被使用。

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

  1. 在 PA 的「工具」下,請執行 Malware Scanner(執行前請務必更新惡意程式資料庫)。
  2. 先確認在「Installed Applications」與「Applications」下,是否有不明的 APP。
  3. 若為 iOS 裝置,確認 TCC.db 資料庫內的麥克風與定位服務是否有不明 APP 被濫用。
  4. 若為 Android 裝置,確認下載檔案的資料夾內是否有不明 APP。
    • SD Card
    • /data/local/tmp
    • Cache等
  5. 透過 PA 的下載資料模組,再次檢視是否有可疑蹤跡。
  6. 檢視所有的 APP 資料使用。
  7. 最後,透過時間軸「timeline」檢視可能被植入惡意程式時間點的前後,找出可疑蹤跡。

假如合法的 APP 被用於監控行動裝置,這樣的情況則很難被檢測出,需資深的鑑識經驗才有辦法判定。

註:在 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 的 APK 程式掃描,針對 iOS 裝置的特徵比對尚未成熟。需注意的是,不是所有的的惡意程式皆有可被辨識的特徵,所以漏判的可能性是有的。

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

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

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