前面幾篇一直在找電腦留下來的痕跡。
從 $MFT、Recycle Bin、LNK、Jump List、Prefetch,到利用 Run List 把被刪除的檔案重新拼回來,都是在利用系統留下的資訊,試著還原原本發生過的事情。
但如果對方也知道這些地方會留下紀錄呢?
如果有人刻意刪除、隱藏或修改資料,甚至想辦法讓鑑識結果變得不可信,這類用來增加數位鑑識難度的行為,就稱為 Anti-Forensics(反鑑識)。
Anti-Forensics 不只是「把檔案刪掉」。
它的目的可能是:
簡單來說,就是想辦法讓鑑識人員:
找不到、拿不到、看不懂,或不知道該不該相信眼前的證據。
Anti-Forensics 大致可以從幾個方向來看:
最直覺的方法,就是直接處理證據本身,例如:
假設某個程式 malware.exe 使用完後被刪掉,檔案本身雖然不見了,但不代表所有痕跡都一起消失。
例如 Prefetch 仍可能留下程式曾經執行過的資訊,甚至 cleanup 或 wiping 工具本身,也可能留下執行紀錄。
所以有時候會變成:
檔案本人:不在了
其他 Artifact:我記得它來過
這也是為什麼數位鑑識不只看「現在硬碟裡還有哪些檔案」,而是會去找系統曾經留下過哪些紀錄。
Timestamp 是建立事件時間線的重要依據。
如果有人刻意修改檔案時間,就可能讓事件發生的順序看起來完全不同。
例如一個 2026 年才出現的可疑檔案,Created Time 卻顯示 2021/03/15。
如果只看這一個時間,很容易以為它已經存在很多年。
在 NTFS 的 MFT Record 中,$STANDARD_INFORMATION 和 $FILE_NAME 都保存 Timestamp。
其中 $STANDARD_INFORMATION 的時間資訊較容易被修改,因此分析時不能只看單一 Timestamp。
如果出現:
$STANDARD_INFORMATION:2021
$FILE_NAME:2026
這時真正值得注意的反而是:
為什麼同一個檔案會出現兩組差很多的時間?
時間不一致,本身就可能是一條線索。
另一種方法不是破壞資料,而是讓資料不容易被發現。
常見方式包括:
其中 Encryption 和 Steganography 很容易搞混。
Encryption 比較像我知道這裡有資料,但是我看不懂。
Steganography 則比較像我根本不知道這裡藏了資料,例如表面上看起來只是一張普通圖片,但裡面可能還藏有其他資訊。
所以看到 photo.jpg,也不能只因為副檔名是 .jpg,就認定它真的只是一張 JPEG。
前面學過的 File Signature,在這種情況下就可以拿來確認檔案真正的格式。
Anti-Forensics 也可能不是針對資料,而是利用鑑識工具本身的限制。
鑑識工具畢竟也是軟體,可能遇到:
如果有人刻意利用這些限制,就可能讓工具產生錯誤或不完整的結果。
這也是為什麼前面的實作會一直直接看 Hex、算 Offset、解 Run List。
不是因為每次鑑識都要全部手動做,而是至少要知道底層資料怎麼存。
這樣當工具顯示出奇怪的結果時,才能回頭確認:
是資料真的長這樣,還是工具解析錯了?
最後真正做判斷的還是人。
工具可能只告訴你:
這裡有一個檔案
這裡有一個 Timestamp
這個程式可能執行過
但最後要解釋到底發生了什麼,還是要靠分析者。
如果有人刻意留下假的 Timestamp、錯誤的 Metadata,或大量無關資訊,就可能把調查方向帶偏。
這時最麻煩的反而不是什麼都找不到。
而是:
找到很多東西,但不知道哪些可以相信。
所以一個 Artifact 通常不能自己決定整個故事。
例如 Prefetch 顯示某個程式曾經執行過,還可以再搭配其他 Artifact 一起比對。
不同來源如果都指向同一件事情,證據才會更有說服力。
不一定。
同一個行為往往會在系統不同地方留下紀錄。
例如一個程式曾經執行過,可能同時牽涉:
檔案本身
$MFT
Prefetch
Registry
Memory
Event Log
刪除其中一個,不代表其他地方也全部消失。
甚至執行 cleanup 或 wiping 工具,本身也可能再留下新的執行痕跡。
不過,也不是所有刪除資料都一定救得回來。
例如 SSD 的 TRIM 可能讓被刪除的資料快速消失,因此:
Deleted ≠ Gone 並不是所有情況都一定成立。
Anti-Forensics 不只是刪除檔案,而是任何刻意增加鑑識難度的行為。
它可能讓證據:
所以數位鑑識真正困難的地方,不只是:
「找到了什麼?」
還要繼續問:
「這份證據可以相信嗎?」
一個 Timestamp 不一定能說完整個故事,一個被刪除的檔案也不一定真的消失,相反的,一個看起來很正常的檔案,也不代表裡面沒有藏其他東西。
當有人刻意干擾證據時,就更不能只靠單一 Artifact 下結論。