auditor是利用加密雜湊函數進行快速完整性審計的取證工具 。
它與其他流行的工具(fsum、hashdeep、sha256sum 等)類似,但具有使數位資料審計更簡單、更 快捷的功能。
auditor支援多種哈希演算法。預設值為sha256,這是 NIST 自 2015 年以來推薦的演算法(請參閱
NIST 關於雜湊函數的政策)。
預設情況下,
thash
method
已啟用,但此模式可以停用。
所採用的審計流程auditor是基於
完整性鏈的概念,由儲存完整性資訊的審計文件提供。
此過程中涉及的術語有:: Audit_FullList是包含每個已處理原始資料檔案完整性資訊的稽核文件。
Stamp:是文件的實際完整性資訊Audit_FullList。Stamp執行相關操作時,資訊始終會重新計算並顯示。 :是儲存創建時間
Audit_Stamp的審計文件。StampAudit_FullList
完整性鏈會依照以下順序產生(預設):
內部的資料檔案input_path經過處理後,會產生完整性資訊(雜湊值、大小、相對檔案路徑等),這些資訊儲存在Audit_FullList。
Audit_FullList也經過處理,生成Stamp,內容列印在終端並儲存在Audit_Stamp。
完整性鏈檢查按上述流程的相反順序Stamp進行,即重新處理文件並對照審計文件檢查完整性。同時,也會重新計算完整性值,將其列印到終端,並與儲存在審計文件中的值進行比較Audit_Stamp,以驗證其是否匹配。
為繼續產生稽核文件並確保未來能夠正確、安全地執行完整性鏈驗證,請依照下列步驟操作:
input_path)。安裝 audit
後,開啟命令終端並執行命令 。預設情況下,此指令會在 input_path
資料夾的根目錄下auditor hash input_path建立 audit 檔案。 (如有需要,可以更改此設定。)
Audit_FullListAudit_Stamp
Audit_Stamp或
對其進行數位簽名。
auditor check,將執行上述完整性鏈。流程結束時,
Audit_FullList將重新計算完整性資料並將其列印到終端
,該資料必須與上一步中列印或數位簽章的值完全相符。
如果不匹配,則完整性檢查無效。
Audit_FullList。請參閱
的使用部分中的範例 auditor check。
安裝到系統後auditor,您可以如下使用:
auditor subcommands:
hash這是法務審計的第一步。它會產生審計文件,從而可以驗證文件的完整性。
auditor hash input_path
這將:
input_path使用預設演算法對
檔案進行哈希處理( sha256)
input_path):
Audit_FullList包含檔案中檔案的完整性資料(雜湊值、大小、名稱)
input_path。預設名稱:
_auditor_hashes.txt
Audit_Stamp:僅包含完整性資料Audit_FullList。預設名稱:
_auditor_stamp.txt。此文件需要列印或進行數位簽名,以確保檢查所有完整性鏈。
Audit_FullList
之後hash,您可以執行
check命令來驗證完整性。為了確保將來能夠正確進行完整性檢查,請閱讀
“完整性鏈”部分並遵循其中的建議。
只產生哈希值,但不創建任何檔案(-l)
auditor hash input_path -l
使用預設演算法,透過快速磁碟 (-z) 覆蓋審計檔案 (-o)(適用於 SSD 磁碟,速度很快):
auditor hash input_path -o -z
與上述步驟相同,但啟用嚴格模式,以確保 input_path 中的所有檔案都經過雜湊處理:
auditor hash input_path -o -z --strict
覆蓋審計文件(-o),不使用哈希方法(-d):
auditor hash input_path -o -d
覆蓋審計檔案(-o),僅包含 txt 檔案(-i "**/*.txt"),僅包含根資料夾中的檔案(-u 1)(標誌 -i 和 -e 使用 glob 模式,詳情請參閱註釋)。
auditor hash input_path -o -i "**/*.txt" -u 1
覆蓋審計文件(-o),包含所有文件,但不包括 txt 文件(-e "**/*.txt")
auditor hash input_path -o -e "**/*.txt"
覆寫稽核文件(-o),僅包含名為「file1.doc」(-i "**/*/file1.doc") 和「file2.xls」(-i "**/*/file2.xls") 的文件
auditor hash input_path -o -i "**/*/file1.doc" -i "**/*/file2.xls"
覆蓋審計文件(-o),包含所有文件,但不包括資料夾 $RECYCLE.BIN 和「系統磁碟區資訊」內的文件。注意:$RECYCLE.BIN 中的字元 $ 屬於名稱,需要用字元 \ 進行轉義才能正確解析!
auditor hash input_path -o -e "**/\$RECYCLE.BIN/**" -e "**/System Volume Information/**"
覆寫稽核檔案(-o),包含所有txt檔案(-i "**/*/*.txt"),但資料夾1目錄下的檔案除外(-e "**/*/folder1/*")
auditor hash input_path -z -o -a blake3 -i "**/*/*.txt" -e "**/*/folder1/*"
覆蓋審計文件(-o),使用快速磁碟(-z)和演算法“blake3”(速度非常快):
auditor hash input_path -o -z -a blake3
覆蓋審計檔案(-o),使用 10MB 的區塊大小和“whirlpool”雜湊函數
auditor hash input_path -o -b 10MB -a whirlpool
lock當需要保留現有審計文件時,此功能非常有用。它可以在哈希命令之後使用 ,並防止意外生成新的審計文件input_path。
auditor lock input_path
這將:
_auditor_lock.txt建立一個帶有建立時間戳記的 檔案input_path
。
input_path鎖定狀態下執行。
要解鎖input_path,您需要手動刪除該檔案。_auditor_lock.txt
check這是法務審計的第二步。它利用審計文件中的資訊檢查資料的完整性,可以在執行雜湊運算之後使用。
auditor check input_path
這將:
input_path):
Audit_Stamp並進行核對Audit_FullList。
Audit_FullList並與原始文件進行比對input_path。
Audit_FullList。
使用預設審計文件,在快速磁碟模式 (-z) 下進行檢查。
auditor check input_path -z
與上述相同,但啟用嚴格模式,以確保驗證 input_path 中的所有檔案。
auditor check input_path -z --strict
僅檢查 txt 檔案(-i "**/*.txt"),使用預設稽核檔案(標誌 -i 和 -e 使用 glob 模式,詳情請參閱註解)。
auditor check input_path -i "**/*.txt"
使用預設審計文件,以靜默模式 (-q) 檢查,並在遇到第一個錯誤 (-x) 時停止。
auditor check input_path -q -x
使用特定名稱的稽核文件檢查 F:\data_path。 (-f 參數用於 <Audit_FullList>,-s 參數用於 <Audit_Stamp>)
auditor check F:\data_path -f C:\other_path\personal_fullList.txt -s C:\other_path\personal_stamp.txt -q -x
檢查 <input_path> 中單一檔案的完整性,並與某個稽核檔案進行比對。
auditor check F:\data_path\file1.txt -f C:\other_path\some_audit.txt -q -x
注意:審計檢查與 fsum 格式相容。
)
clone用於將資料複製input_path到內部dest_path,同時驗證複製資料的完整性。
auditor clone input_path dest_path
這將:
input_path,產生完整性資料(雜湊值、大小、名稱);
dest_path;dest_path並與產生的完整性資料進行比較input_path。
input_path和/或 `/usr/local/bin` 中建立它們dest_path。如果審計文件已存在,則無法建立它們。
如果出錯,程式將重試(預設重試 3 次,可以更改)。
在快速磁碟模式下(-z)。
auditor clone input_path dest_path -z
與上述操作相同,但啟用嚴格模式,以確保克隆 input_path 中的所有檔案:
auditor clone input_path dest_path --strict
靜音模式(-q)和首次出錯時停止(-x)。
auditor clone input_path dest_path -q -x
克隆時會在 input_path 和 dest_path 中產生稽核檔案(請參閱註解!)。
auditor clone input_path dest_path -g both
克隆時僅在目標路徑中產生稽核檔案。
auditor clone input_path dest_path -g dest
僅在 input_path 中克隆並產生稽核文件。
auditor clone input_path dest_path -g input
您可以使用 -i 和/或 -e 來包含或排除進程中的檔案(不能與 --strict 一起使用)。
auditor clone input_path dest_path -q -x -i "**/*.txt" -e "**/dir1/**/*
注意:要產生審計文件,input_path不能同時存在審計文件(Audit_FullList 和
Audit_Stamp)!這是為了避免與現有審計文件混淆。
使用 audit clone --help 查看所有選項
)
chkcopy用於檢查內部資料input_path與稽核文件是否一致,並複製到目標位置dest_path,同時驗證目標位置中複製資料的完整性dest_path。
auditor chkcopy input_path dest_path
這將:
input_path並與審計文件中的完整性資料進行比對;
dest_path;dest_path審計文件中的完整性資料進行比對。
如果出錯,程式將重試(預設重試 3 次,可以更改)。
快速磁碟模式 (-z) 用於 SSD、M.2 等快速磁碟。
auditor chkcopy input_path dest_path -z
與上述步驟相同,但啟用嚴格模式,以確保檢查並複製 input_path 中的所有檔案:
auditor chkcopy input_path dest_path --strict
靜音模式(-q)和首次出錯時停止(-x)。
auditor chkcopy input_path dest_path -q -x
您可以使用 -i 和/或 -e 來包含或排除進程中的檔案(不能與 --strict 一起使用)。
auditor clone input_path dest_path -q -x -i "**/*.txt" -e "**/dir1/**/*
注意:
input_path必須有審計文件(Audit_FullList / Audit_Stamp)!
info不執行哈希完整性檢查。它僅測試審計文件及其內容
input_path,並顯示有用資訊。可在執行哈希運算後使用。
auditor info input_path
這將:
input_path):
Audit_Stamp存在
Audit_FullList。
Audit_Stamp,
Audit_FullList以及列出的大小是否與
中列出的大小相同 input_path。
input_path都已列出
Audit_FullList。
Audit_FullList
並與審計文件進行核對Audit_Stamp
\。如果需要,可以使用雙反斜線結尾\\。這是因為單眼斜線會轉義結尾的引號,導致終端無法正確解析路徑。
這行得通:
"C:\My Data Path"或"C:\My Data Path\\"
這樣做行不通:
"C:\My Data Path\"
二進位檔案(壓縮包內)的下載和完整性資料:
免責聲明:此版本auditor為開發階段軟體,不提供任何形式的保證或支持,僅限
非商業用途。使用風險自負。
授權:此版本僅auditor授權用於 非商業用途。請查看完整的授權條款以了解詳情。
審計文件的格式很簡單。每一行包含:
hash_value ?ALGORITHM[<THASH-BlockSize>]|file_size[:hex]*relative_filepath
其中 [ ] 為可選參數:
hash_value:哈希值。
ALGORITHM[<THASH-BlockSize>]用於哈希的演算法,以大寫字母存儲,以保持與其他一些工具的兼容性。參數
`<THASH-BlockSize>`
為可選參數,用於指示所使用的雜湊方法和區塊大小。區塊大小必須以
KB、MB、GB 或 TB 為單位。例如:10MB。
file_size:哈希處理後原始檔案的檔案大小。用於檢查檔案大小是否匹配,以提高處理速度。既然已知哈希處理後的檔案大小與原始檔案大小不匹配,為什麼還要對一個大檔案進行雜湊處理呢?
[:hex]:可選標誌,用於指示檔案路徑是否採用十六進位格式。這是必要的,因為某些作業系統允許使用換行符(例如
'\n'、'\r' 或 '\0'),而十六進位格式可以避免結果格式化方面的問題。
relative_filepath:已哈希檔案的相對檔案路徑。
範例 1:使用方法 thash使用 sha256 演算法和 50MB 區塊大小:
281d5d93464f1165ea7c403ca99d63ff4bf9a360864f8df4bd0e8e6c03774e98 ?SHA256<THASH-50MB>|500000*file_hashed.bin
範例 2:使用常規方法,僅使用 blake3 演算法,檔案路徑採用十六進位格式。
7357b67824d086dc53f5e1ded565f500456bea1812783f1fbcddc08fddc3944c ?BLAKE3|2233:hex*1aCb344356e4e2b2b6
未來可以實現其他格式。
使用
超精細結構,測試兩者之間的差異
auditor執行了 fsum、rhash 和 hashdeep64 運算,結果如下圖所示。
Machine configs:
S.O.: Windows 11 Home 64bits
Processor: AMD Ryzen 7 (7800X3D 4.20 GHz)
RAM: 64 GB of RAM (Corsair Vengeance DDR5 64GB - 5200MHz)
Disk: SSD M.2 2TB (Corsair MP600 Pro NVMe)
Data Source 1:
Benchmarks using Data Source 1:
Data Source 2
Benchmarks using Data Source 2: