Adli bilişim araç ve yöntemlerini doğrulamak için açık kaynak bir CLI aracı
Adli bilişim incelemelerinde kullanılan araçların (imaging, hash doğrulama, carving vb.) doğru sonuç ürettiğini kanıtlamak, mahkemede kabul edilebilir bir sürecin temelidir. NIST'in Computer Forensics Tool Testing (CFTT) programı bu doğrulamayı endüstri çapında standartlaştırırken, bu proje aynı mantığı küçük ölçekte, öğrenme amaçlı olarak uygulamayı hedefliyor: bilinen bir girdiyle bir aracı çalıştır, çıktının beklenenle eşleştiğini kanıtla, sonucu kurcalamaya karşı korumalı şekilde kaydet.
Dosya ve disk imajları için MD5/SHA-1/SHA-256/SHA-512 hesaplama, karşılaştırma ve doğrulama.
NIST CFTT mantığıyla, dd/dc3dd gibi adli araçları bilinen girdilerle çalıştırıp beklenen sonuçla karşılaştırır.
Hash zincirli, kurcalamayı otomatik tespit eden append-only bir zincir-i emanet kaydı.
git clone https://github.com/ahmetalan54801-oss/forensic-validator
cd forensic-validator
python3 -m venv .venv
.venv/bin/pip install -e .
.venv/bin/forensic-validator testsuite run examples/dd_suite.yaml
Dosya bütünlüğü doğrulama:
forensic-validator hash compute dosya.img --algo sha256
forensic-validator hash compare orijinal.img kopya.img
forensic-validator hash verify dosya.img <beklenen_hash>
Sonucu chain-of-custody defterine kaydederek test suite çalıştırma:
forensic-validator testsuite run examples/dc3dd_suite.yaml \
--ledger case001.jsonl --actor "ahmet"
Defteri görüntüleme ve kurcalanmadığını doğrulama:
forensic-validator ledger show --file case001.jsonl
forensic-validator ledger verify --file case001.jsonl
dc3dd, dd'nin standart bs=/count=/skip=
parametreleri yerine kendi sözdizimini (ssz=, cnt=,
iskip=, bufsz=) kullanır ve dahili hash hesaplama/loglama
özelliği sunar — bu fark, proje geliştirilirken gerçek testlerle keşfedildi.
Her kayıt bir öncekinin sha256 hash'ini içerir; bu zincirden herhangi bir
kayıt sonradan değiştirilirse ledger verify komutu zinciri
yeniden hesaplayıp tutarsızlığı tespit eder.
Hayır — bu bir öğrenme projesidir. Gerçek vakalar için NIST CFTT metodolojisi, ilgili mevzuat ve ISO/IEC 17025 gibi akreditasyon gereksinimleri esas alınmalıdır.
# Test Raporu: examples/dc3dd_suite.yaml
**Sonuç: 6/6 test başarılı**
## [PASS] dc3dd bit-bit imaj alırken kaynak dosyayla aynı hash'i üretir
- exit_code: 0
...