跳轉到

證據與判讀

數位鑑識不只是讀取欄位,而是要判斷該欄位能佐證什麼樣的觀察結果、 佐證的強度有多高,以及有哪些無害的原因可能產生相同的觀察結果。

四種實用的證據類別

類別 意義 範例
存在 Windows 曾知道某個路徑或檔案 Amcache 檔案記錄、ShimCache 項目、$MFT 記錄
執行 Windows 記錄了程式啟動或執行狀態 Prefetch 執行時間;受支援的 ShimCache 執行旗標
使用者互動 使用者或應用程式參照/開啟了某個項目 RecentDocs、Jump List、「最近使用的項目」資料夾中的 LNK
系統活動 Windows 記錄了資源使用情形或設定 SRUM 計數器、服務設定、TaskCache 動作

一個跡證可以佐證不只一種類別,但絕不能自動提升其類別。例如, 路徑可疑的 Amcache 項目佐證的是存在。相符的 Prefetch 執行時間則提供 更強的執行證據。USN 建立記錄與 $MFT 路徑可以證明檔案曾位於磁碟上,而 Defender 隔離資料可以解釋它為何消失。

時間戳記是陳述,而非普遍真理

請思考每個時間戳記是由什麼造成的:

  • $STANDARD_INFORMATION 與 $FILE_NAME 的時間描述的是 NTFS 中繼資料,兩者可能不一致。
  • Prefetch 執行時間描述的是一次被記錄下來的啟動,但只會保留最近幾次的執行時間。
  • ShimCache 時間通常是快取檔案的最後修改時間——而不是執行時間。
  • 登錄機碼的最後寫入時間適用於整個機碼,而非個別的值。
  • RecentDocs 只能將機碼的時間套用到最新的項目;較舊的項目有順序,但通常沒有開啟時間。
  • SRUM 時間戳記通常標示的是彙總區間,而非確切的網路操作時間。

分析時請使用 UTC,可行時保留原始值,並記錄所做的任何轉換。

正面與負面證據

一筆意義明確的記錄存在,可以是強有力的正面證據。不存在通常是 較弱的證據,因為跡證會循環覆寫、快取有上限、收集可能不完整、設定因系統而異, 而且清理工具確實存在。請說「在所收集的跡證中未觀察到」,而不是「沒有發生」。

佐證階梯

  1. 驗證來源檔案與收集路徑。
  2. 確認剖析器未回報相關的損毀或未套用的交易記錄檔。
  3. 依照該跡證頁面的說明判讀欄位。
  4. 找出能佐證同一行為的獨立跡證。
  5. 可行時,檢查事件記錄、網路遙測、記憶體或檔案內容。
  6. 記錄確切的 Juntei 版本、命令、篩選條件與來源雜湊值。

依照證據的強度撰寫結論

建議寫成「Prefetch 記錄 tool.exe 於 10:02:11Z 執行」,而不是「攻擊者恰好在 10:02:11Z 執行了惡意程式」。後者加入了單憑 Prefetch 無法確立的 身分與意圖。