auditorkriptografik karma fonksiyonlarını
kullanan hızlı bütünlük denetimi için bir adli araçtır .
Diğer popüler araçlara (fsum, hashdeep, sha256sum vb.) benzerdir, ancak dijital veri denetimini daha basit ve hızlı hale getiren özelliklere sahiptir .
auditorÇeşitli karma algoritmalarını
destekler. Varsayılan değer sha256,
NIST tarafından 2015'ten beri önerilen değerdir (bkz.
NIST Karma Fonksiyonları Politikası
).
Varsayılan olarak,
thash
method
etkinleştirilmiştir, ancak bu mod devre dışı bırakılabilir.
Kullanılan denetim süreci, bütünlük bilgilerini depolayan denetim
dosyaları tarafından sağlanan bütünlük zinciriauditor kavramına dayanmaktadır .
Bu süreçte yer alan terimler şunlardır: Audit_FullList: İşlenen her orijinal veri dosyasının bütünlük bilgilerini içeren
denetim dosyasıdır.
Stamp: Dosyanın gerçek bütünlük
bilgileridir Audit_FullList.
Stampİlgili eylemler gerçekleştirilirken
her zaman yeniden hesaplanır ve gösterilir. : Oluşturulduğunda depolanan
Audit_Stampdenetim dosyasıdır
.StampAudit_FullList
Bütünlük zinciri aşağıdaki sırayla üretilir (varsayılan davranışta):
İçerisindeki veri dosyaları
input_pathişlenir ve . içinde saklanan
bütünlük bilgileri (karma, boyut, göreceli dosya yolu, vb.) üretilir
Audit_FullList.
Audit_FullListAyrıca işlenerek üretilir
ve Stampterminalde yazdırılır ve 'de
saklanır Audit_Stamp.
Bütünlük zincirinin kontrolü, yukarıdaki işlemin tersi sırayla ,
yani dosyaların yeniden işlenmesi ve denetim dosyalarına göre bütünlüğün
kontrol edilmesiyle yapılır. Ayrıca, yeniden hesaplanır, terminalde
yazdırılır ve eşleşip eşleşmediğini doğrulamak için
Stampdepolananla karşılaştırılır .Audit_Stamp
Denetim dosyalarının oluşturulmasına devam etmek ve bütünlük zincirinin gelecekteki doğrulamasının doğru ve güvenli bir şekilde gerçekleştirilmesini sağlamak için aşağıdaki adımları izleyin:
input_path) düzenleyin. Audit yüklüyken
bir komut terminali açın ve komutunu çalıştırın . Varsayılan olarak,
bu komut denetim dosyalarını ve input_path klasörünün kök dizinini
auditor hash input_patholuşturur .
(Gerekirse bu değiştirilebilir.)
Audit_FullListAudit_Stamp
Audit_Stamp veya
dijital olarak imzalayın . auditor check, yukarıda açıklanan
bütünlük zinciri yürütülür. İşlemin sonunda, bütünlük verileri
Audit_FullListyeniden hesaplanır ve
terminalde yazdırılır
ve bir önceki adımda yazdırılan veya dijital olarak imzalanan
değerle tam olarak eşleşmesi GEREKİR.
Eşleşmiyorsa, bütünlük kontrolü geçersizdir .
Audit_FullList. Kullanım bölümündeki
örneklere bakın auditor check.
Kısa Kılavuzu burada görebilirsiniz.
Sisteminize kurduktan sonra
auditoraşağıdaki şekilde
kullanabilirsiniz:
auditor subcommands:
hashAdli denetimin ilk adımıdır. Dosya bütünlüğünün doğrulanmasına
olanak tanıyan denetim dosyaları oluşturur.
auditor hash input_path
Bu:
input_pathVarsayılan algoritma ile
dosyaları karıştırın ( sha256)
input_path):
Audit_FullList: . içindeki
dosyaların bütünlük verilerini (karma, boyut, ad) içerir
input_path. Varsayılan ad:
_auditor_hashes.txt
Audit_Stamp: yalnızca 'nin
bütünlük verilerini içerir
Audit_FullList. Varsayılan ad:
_auditor_stamp.txt. Bu, tüm
bütünlük zincirinin kontrolünü sağlamak için yazdırılması veya
dijital olarak imzalanması gereken dosyadır.
Audit_FullList
Ardından hash, bütünlüğü
doğrulamak için komut verebilirsiniz
check. Gelecekte bütünlük
kontrolünü doğru bir şekilde sağlamak için
Bütünlük Zinciri bölümünü okuyun ve oradaki
tavsiyeleri izleyin.
Sadece karma değerleri üretin, ancak herhangi bir dosya oluşturmayın (-l)
auditor hash input_path -l
Varsayılan algoritmayla hızlı bir disk (-z) kullanarak denetim dosyalarının üzerine yaz (-o) (SSD disklerde hızlı olması açısından kullanışlıdır):
auditor hash input_path -o -z
Yukarıdakiyle aynı, ancak input_path'deki TÜM dosyaların karıştırıldığından emin olmak için sıkı mod etkinleştirilmiş:
auditor hash input_path -o -z --strict
Thash metodunu (-d) kullanmadan denetim dosyalarının üzerine yaz (-o):
auditor hash input_path -o -d
Denetim dosyalarının üzerine yaz (-o), yalnızca kök klasördeki (-u 1) yalnızca txt dosyalarını ekle (-i "**/*.txt") (işaret -i ve -e glob desenini kullanır, Ayrıntılar için Notlar bölümüne bakın).
auditor hash input_path -o -i "**/*.txt" -u 1
Denetim dosyalarının üzerine yaz (-o), txt dosyaları hariç tüm dosyaları dahil et (-e "**/*.txt")
auditor hash input_path -o -e "**/*.txt"
Denetim dosyalarının üzerine yaz (-o), yalnızca "file1.doc" (-i "**/*/file1.doc") ve "file2.xls" (-i "**/*/file2.xls") adlı dosyaları dahil et
auditor hash input_path -o -i "**/*/file1.doc" -i "**/*/file2.xls"
Denetim dosyalarının üzerine yaz (-o), $RECYCLE.BIN ve "Sistem Birim Bilgileri" klasörleri içindeki dosyalar hariç TÜM dosyaları dahil et. Dikkat! $RECYLE.BIN içindeki $ karakteri name'e aittir ve doğru şekilde ayrıştırılabilmesi için önüne bir \ karakteri eklenmesi gerekir!
auditor hash input_path -o -e "**/\$RECYCLE.BIN/**" -e "**/System Volume Information/**"
Denetim dosyalarının üzerine yaz (-o), tüm txt dosyalarını dahil et (-i "**/*/*.txt"), folder1 adlı dizin hariç (-e "**/*/folder1/*")
auditor hash input_path -z -o -a blake3 -i "**/*/*.txt" -e "**/*/folder1/*"
Denetim dosyalarının üzerine yaz (-o), hızlı disk (-z) ve 'blake3' algoritmasını kullan (çok hızlı):
auditor hash input_path -o -z -a blake3
Denetim dosyalarının üzerine yaz (-o), blockSize 10MB ve 'whirlpool' karma işlevini kullan
auditor hash input_path -o -b 10MB -a whirlpool
lockMevcut denetim dosyalarının korunması gerektiğinde kullanışlıdır.
After hash
komutunda kullanılabilir ve . 'de yanlışlıkla yeni denetim
dosyalarının oluşturulmasını önleyebilir
input_path.
auditor lock input_path
Bu:
_auditor_lock.txtOluşturma zaman
damgası olan bir dosya oluşturun
input_path
.
input_path.
Kilidi açmak için input_pathdosyayı
manuel olarak silmeniz gerekir_auditor_lock.txt
checkAdli denetimin ikinci adımıdır. Denetim dosyalarındaki bilgileri
kullanarak verilerin bütünlüğünü kontrol eder ve karma işlemi
gerçekleştirildikten sonra kullanılabilir.
auditor check input_path
Bu:
input_path):
Audit_Stampve bunlarla
karşılaştırın Audit_FullList.
Audit_FullListve orijinal
dosyalarla karşılaştırın
input_path.
Audit_FullList.
Varsayılan denetim dosyalarını kullanarak hızlı disk modunda (-z) kontrol edin.
auditor check input_path -z
Yukarıdakiyle aynı, ancak input_path'deki TÜM dosyaların doğrulandığından emin olmak için sıkı mod etkinleştirildi.
auditor check input_path -z --strict
Yalnızca txt dosyalarını (-i "**/*.txt"), varsayılan denetim dosyalarını kullanarak kontrol edin (işaret -i ve -e glob desenini kullanır, Ayrıntılar için Notlar bölümüne bakın).
auditor check input_path -i "**/*.txt"
Sessiz modda kontrol et (-q) ve ilk hatada dur (-x), varsayılan denetim dosyalarını kullan.
auditor check input_path -q -x
Belirli adlara sahip denetim dosyalarını kullanarak F:\data_path'i kontrol edin. (-f <Audit_FullList> için ve -s <Audit_Stamp> için)
auditor check F:\data_path -f C:\other_path\personal_fullList.txt -s C:\other_path\personal_stamp.txt -q -x
<input_path> içindeki yalnızca bir dosyanın bütünlüğünü bazı denetim dosyalarına karşı denetle
auditor check F:\data_path\file1.txt -f C:\other_path\some_audit.txt -q -x
Not: Denetçi denetimi fsum formatıyla uyumludur.
)
cloneinput_pathİçerisindeki verileri
kopyalamak dest_pathve aynı zamanda
kopyalanan verilerin bütünlüğünü doğrulamak için kullanılır .
auditor clone input_path dest_path
Bu:
input_path, bütünlük
verilerini (karma, boyut, ad) üret;
dest_path;
dest_pathdosyasında oluşturulan
bütünlük verileriyle karşılaştırarak kontrol edin
input_path.
input_pathDenetim dosyaları mevcut
DEĞİLSE, bunları ve/veya -g seçeneğiyle oluşturabilirsiniz
dest_path. Denetim dosyaları
mevcutsa, bunları oluşturamazsınız.
Hata durumunda tekrar denenecektir (Varsayılan 3 defadır, değiştirilebilir.)
Hızlı disk modunda (-z).
auditor clone input_path dest_path -z
Yukarıdakiyle aynı, ancak input_path'deki TÜM dosyaların klonlandığından emin olmak için sıkı mod etkinleştirilmiş:
auditor clone input_path dest_path --strict
Sessiz modda (-q) ve ilk hatada dur (-x).
auditor clone input_path dest_path -q -x
Hem input_path hem de dest_path'de denetim dosyalarının oluşturulmasıyla klonlama (Notlara bakın!).
auditor clone input_path dest_path -g both
Sadece dest_path'de denetim dosyalarının oluşturulmasıyla klonlama.
auditor clone input_path dest_path -g dest
Sadece input_path'de denetim dosyalarının oluşturulmasıyla klonlama.
auditor clone input_path dest_path -g input
İşlem dosyalarını dahil etmek veya hariç tutmak için -i ve/veya -e seçeneğini kullanabilirsiniz (--strict ile kullanılamaz).
auditor clone input_path dest_path -q -x -i "**/*.txt" -e "**/dir1/**/*
Notlar: Denetim dosyaları oluşturmak için
input_pathdenetim dosyalarına
(Audit_FullList ve Audit_Stamp) sahip olamazsınız! Bu, mevcut
denetim dosyalarıyla karışıklığı önlemek içindir.
Auditor clone --help ile tüm seçenekleri görün
)
chkcopyinput_path, içindeki verileri
denetim dosyalarıyla karşılaştırıp 'e kopyalamak
dest_pathve aynı zamanda kopyalanan
verilerin bütünlüğünü doğrulamak için kullanılır
dest_path.
auditor chkcopy input_path dest_path
Bu:
input_pathve bütünlük verileriyle
karşılaştırın;
dest_path;
dest_pathdenetim dosyalarındaki
bütünlük verileriyle karşılaştırarak kontrol edin.
Hata durumunda tekrar denenecektir (Varsayılan 3 defadır, değiştirilebilir.)
Hızlı disk modunda (-z) ssd, m.2 vb. gibi hızlı diskler için.
auditor chkcopy input_path dest_path -z
Yukarıdakiyle aynı, ancak input_path'deki TÜM dosyaların kontrol edildiğinden ve kopyalandığından emin olmak için sıkı mod etkinleştirilmiş:
auditor chkcopy input_path dest_path --strict
Sessiz modda (-q) ve ilk hatada dur (-x).
auditor chkcopy input_path dest_path -q -x
İşlem dosyalarını dahil etmek veya hariç tutmak için -i ve/veya -e seçeneğini kullanabilirsiniz (--strict ile kullanılamaz).
auditor clone input_path dest_path -q -x -i "**/*.txt" -e "**/dir1/**/*
Not:
input_path Denetim dosyalarının
(Audit_FullList / Audit_Stamp) olması zorunludur!
infoKarma bütünlük kontrolü yapmaz. Yalnızca denetim dosyalarını ve
içeriklerini test eder input_pathve
faydalı bilgiler gösterir. Karma işlemi gerçekleştirildikten sonra
kullanılabilir.
auditor info input_path
Bu:
input_path):
Audit_Stampolmadığını doğrulayın
Audit_FullList.
Audit_Stampve
Audit_FullListlistelenen boyutların
. dosyasındakiyle aynı olup olmadığını doğrulayın
input_path.
input_pathdoğrulayın
Audit_FullList.
Audit_FullList ve kontrol edinAudit_Stamp
\. İsterseniz, son ekinde çift
ters eğik çizgi kullanın \\.
Bunun nedeni, tek ters eğik çizginin son tırnak işaretlerini atlaması ve
terminalin yolu doğru şekilde yorumlayamamasıdır.
Bu işe yarıyor:
"C:\My Data Path" veya"C:\My Data Path\\"
Bu başarısız olur:
"C:\My Data Path\"
İkili dosyaların indirilmesi ve bütünlük verileri (zip içinde):
Yasal Uyarı: Bu sürüm ,
herhangi bir garanti veya destek olmaksızınauditor , geliştirme aşamasındaki bir
yazılım olarak sunulmaktadır ve
yalnızca ticari olmayan kullanım için ücretsizdir .
Kullanımı kendi sorumluluğunuzdadır.
Lisans: Bu sürüm
yalnızca ticari olmayan kullanımauditor için lisanslanmıştır .
Ayrıntılar için lütfen
tam lisans koşullarını
inceleyin .
Denetim dosyalarının formatı basittir. Her satır şunları içerir:
hash_value ?ALGORITHM[<THASH-BlockSize>]|file_size[:hex]*relative_filepath
burada [ ] isteğe bağlıdır:
hash_value: karma değeri.
ALGORITHM[<THASH-BlockSize>]: Karma işlemi için kullanılan ALGORİTMA, diğer bazı araçlarla
uyumluluğu korumak için büyük harflerle saklanır.
<THASH-BlockSize> parametresi isteğe bağlıdır ve thash yöntemi ve
BlockSize'ın kullanıldığını gösterir. BlockSize, KB, MB, GB veya TB
cinsinden olmalıdır. Örn: 10 MB.
file_size: Orijinal dosyanın
boyutu, hash işlemi uygulandığında. Boyut eşleşmediğinde hızı artırmak
için kontrolde kullanışlıdır. Boyutunun orijinaliyle eşleşmediği zaten
bilinen büyük bir dosyaya neden hash işlemi uygulanır?
[:hex]: Dosya yollarının
onaltılık biçimde olduğunu belirten isteğe bağlı bayrak. Bu gereklidir
çünkü bazı işletim sistemlerinde '\n', '\r' veya '\0' gibi char'lara
izin verilir ve onaltılık biçim, sonuçların biçimlendirilmesiyle ilgili
sorunları önler.
relative_filepath: Karma dosyanın
bağıl dosya yolu.
Örnek 1: yöntemi kullanma thashsha256 algoritması ve BlockSize 50MB ile:
281d5d93464f1165ea7c403ca99d63ff4bf9a360864f8df4bd0e8e6c03774e98 ?SHA256<THASH-50MB>|500000*file_hashed.bin
Örnek 2: Normal metodu kullanarak, sadece blake3 algoritmasıyla, dosya yolunu hex formatında kullanarak.
7357b67824d086dc53f5e1ded565f500456bea1812783f1fbcddc08fddc3944c ?BLAKE3|2233:hex*1aCb344356e4e2b2b6
Gelecekte başka formatlar da uygulanabilir.
Hyperfine
kullanarak , testler arasında
auditor, fsum, rhash ve hashdeep64 gerçekleştirildi ve sonuçlar aşağıda
gösterildi.
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: