張輝



摘要:伴隨著固態硬盤的廣泛應用,越來越多的網絡犯罪現場會面對固態硬盤電子數據取證問題。通常來說,固態硬盤數據一旦被刪除,利用目前的取證工具幾乎無法恢復,但也存在特定情況。通過實驗對TRIM指令在固態硬盤數據刪除與恢復中的作用進行了驗證分析,實驗表明,在TRIM指令特定設定與取證時間及時的情況下,可以完成SSD盤數據刪除后的恢復與取證。
關鍵詞:固態硬盤;TRIM指令;取證分析
中圖分類號:TP399 文獻標志碼:A
文章編號:1009-3044(2020)18-0218-03
開放科學(資源服務)標識碼(OSID):
固態硬盤( Solid State Drives),簡稱SSD盤,是目前計算機中常用的一種電子存儲設備,與通常的機械硬盤相比具有讀寫速度快、功能損耗低、運行噪音小、抗震抗干擾性強等特點,廣泛應用于軍事、工業、醫療等多個計算機領域中。伴隨著固態硬盤的廣泛應用,越來越多的網絡犯罪現場會面對SSD盤電子數據取證問題,探索SSD盤數據被刪除后的恢復,一直是困擾電子數據取證人員的一個難題。通常來說,SSD盤數據被刪除后很難進行恢復,但在特定情況下仍然可以進行,這與一個關鍵的指令有關,這個指令就是TRIM指令。我們通過實驗驗證分析TRIM指令在SSD盤數據刪除與恢復中的作用。
1 SSD盤的刪除數據機制
SSD盤與機械硬盤寫入及刪除數據的機制是不同的。
機械硬盤刪除數據時,Windows僅對被刪除文件的文件頭進行十六進制的改寫以做標記,等到真正要寫人數據時再來刪除,所以機械硬盤常見的三種刪除方式,即刪除到回收站、shift+delete徹底刪除以及快速格式化,完成刪除操作后,實際的文件數據依然存在,我們可以利用很多的文件分析軟件或者電子取證工具完成大部分的數據恢復。
SSD盤在進行數據清除時,系統首先需要識別到SSD盤并確認TRIM指令。如果TRIM指令是開啟狀態,SSD盤在刪除數據時使用Volume Bitmap來記住數據已經刪除。Volume Bitmap是NTFS系統的文件快照,當再次寫入數據時,可以根據VolumBitmap情況,向快照中已刪除的區塊寫入新的數據,而不用花時間去擦除原本的數據。SSD盤的數據被刪除后幾乎不能進行數據恢復。
2 TRIM指令
Trim,又叫Disable Delete Notify,本意是禁用刪除通知。SSD盤支持Trim指令的最大優勢是避免SSD在垃圾回收時將無用數據當成有用數據來搬運,從而起到延長SSD壽命的作用,且SSD不會隨著使用時間越長速度就越慢。SSD支持Trim最大的劣勢就是SSD在清空數據后無法恢復數據。
Trim指令原始狀態可以利用管理員身份進行查看,也可以重新進行設置。SSD盤的TRIM指令默認為0即Trim開啟狀態。在一些網絡犯罪中,嫌疑人為了增大SSD取證的難度會自行進行設置,這種情況比較少見,但依然存在,本文我們通過三個實驗驗證Trim指令在SSD盤數據刪除中的不用效果。
3 固態磁盤數據刪除與恢復中TRIM指令作用的不同
(1)Trim指令原始狀態的查看
利用管理員權限來查看SSD盤的Trim狀態(0為Trim打開,1為Trim關閉),其利用指令為fsutil behavior query disable-deletenotify NTFS。
在WINDOWS搜索區域內輸入CMD,并同時按shift+ctrl+回車鍵,即以管理員身份啟動CMD命令窗口,可以輸入相應指令進行查看Trim狀態,如圖:
此圖命令返回值為‘0,此為系統TRIM指令已開啟狀態,也是SSD盤默認狀態。
(2)利用CMD窗口設置Trim狀態
在管理員身份啟動的CMD命令窗口中,可以利用SET命令設置Trim指令的狀態,設置為0為Trim指令打開狀態,設置為1為Trim指令關閉狀態。如圖:
實驗-:Trim指令為“0”,即已開啟狀態下SSD盤數據刪除過程及查看。
實驗用軟件為X-ways Forensics 19.9版本。X-ways Foren-SICS是由德國X-ways出品的一個法證分析軟件,也是目前最為常用的電子數據取證軟件之一,其提供了強大的磁盤和文件的分析功能。
具體過程為首先利用X-ways Forensics加載C盤,C盤是固態硬盤,且Trim指令已開啟狀態。我們首先查看一個doc文檔的存儲空間,確認該文件在SSD上的存儲是否為一個連續的數據塊,為了便于利用X-ways Forensics進行文件解析,設定的實驗文件存儲在一個連續的磁盤空間中,查看該文檔的文件頭與文件尾所在的扇區并記錄下來。如圖1,當前文檔的塊首與塊尾所在的扇區分別為“932400”及“932471”。
在記錄下待刪除文件在SSD所存儲的具體扇區后,回到C盤目錄中,將該文件shift+delete刪除,再重新在X-ways Foren-SICS下加載該SSD分區,查找到上面文件頭所在的扇區,此時發現該扇區數據已全部為零,如下圖:
實驗結論:當啟用Trim指令時(SSD默認狀態),刪除數據后隨即清空待刪除無效數據,而不是等到,要寫新數據時才開始清空,所以在這種情況下,已刪除數據取證很難恢復。
實驗二:Trim指令為“1”,即關閉狀態下SSD盤數據刪除過程及查看。
重復進行實驗一的具體步驟:打開X-ways Forensics取證工具,加載C盤(SSD盤),確認待刪除文件的文件頭與文件尾所在的扇區并記錄下來。
回到指定盤,將該文件shift+delete徹底刪除,再重新加載C盤(SSD盤)分區,找到指定的扇區,此時發現該扇區所在的十六進制數據依然全部存在。我們可以選中文件塊首與文件塊尾,利用“編輯”功能,“導出新的文件”后再進行查看,這時發現,數據恢復是完全可以進行的。