SQLite 資料庫主鍵與時間戳謬誤
嫌疑人攜帶一部僅使用 Wi-Fi 連線的 iPhone,該 iPhone 並無電信業者的上網服務。訊息正在從不同的同夥發送到嫌疑人的 iPhone 上。當 Wi-Fi 最終連接並接收到訊息時,這些訊息會顯示什麼時間點的時間戳?它們會保留發送時的時間嗎?還是顯示 Wi-Fi 連接時的當下接收時間?
嫌疑人攜帶一部僅使用 Wi-Fi 連線的 iPhone,該 iPhone 並無電信業者的上網服務。訊息正在從不同的同夥發送到嫌疑人的 iPhone 上。當 Wi-Fi 最終連接並接收到訊息時,這些訊息會顯示什麼時間點的時間戳?它們會保留發送時的時間嗎?還是顯示 Wi-Fi 連接時的當下接收時間?
在一般的數位鑑識過程,都希望可藉由提取 APP 所產生的資料,如照片或聊天內容,找出關鍵證據。但行動裝置除了使用者操作 APP 時所產生的內包含著重要資料外,系統本身也會追蹤並記錄使用者與 APP 互動歷程,以提供最佳的使用者體驗。本篇說明了如何使用 Python Script 解析 usagestats 資料夾內的檔案。
微信 (WeChat) App 在 Android 平台上採取不同於 iOS 資料保護方式,為提供更安全的資料防護,Android 平台上會採加密方式儲存 EnMicroMsg.db 資料庫 (該資料庫內有所有的對話內容);而在 iOS 平台上則套用 Apple 既有的 File Based Encryption 加密機制保護,並不會針對資料庫做額外的加密處理。
上一篇有關 SQLite 介紹是針對 WAL 檔案的分析說明,而本篇內容會回歸到資料庫的基本架構與語法介紹,採用的資料庫範本為 iPhone 手機資料量最大的 LINE 資料庫。藉由逐步拆解 LINE 資料庫的資料表與紀錄等資訊,並透過 SQL 語法將資料庫的內容依聊天群組,訊息留言數量等條件彙整並輸出報表,可讓鑑識同仁對於資料庫的架構與資料儲存模式有基礎了解。未來若有其他 APP 尚未被 Physical Analyzer 支援,可藉由本篇介紹方式先進行初步分析,可能會取得重要證據。
iOS 檔案系統採用 File Based Encryption(FBE) 加密的機制,當任一個檔案刪除後,位於該檔案 metadata 內的 File Key 金鑰也被刪除,即使採用物理提取也無法恢復檔案內容。但採用 FFS 提取 iPhone 5S – iPhone X 裝置後,透過 PA 解析開始又出現已刪除的資料,包含 Telegram, LINE 與網頁搜尋紀錄等等,為什麼 PA 上再次呈現已刪除的資訊?
手機已是人們生活的日常,幾乎很少遠離人們超過5公尺的距離。而本文章要深入探討iOS裝置紀錄用戶與APP行為模式資料庫、knowledgeC.db,該資料庫記錄著在使用者在手機上各種使用模式,如螢幕開關次數,電池使用情況,APP使用次數等等,紀錄的資訊比一般人想像的還更加完整。