auditorهي أداة جنائية للتدقيق السريع في
سلامة البيانات والتي تستخدم
وظائف التجزئة التشفيرية
.
إنه مشابه لأدوات شائعة أخرى (fsum، hashdeep، sha256sum، وما إلى ذلك)، ولكنه يتميز بميزات تجعل تدقيق البيانات الرقمية أبسط وأسرع .
auditorيدعم العديد من خوارزميات
التجزئة. الإعداد الافتراضي هو sha256،
وهو ما توصي به NIST منذ عام ٢٠١٥ (انظر
سياسة NIST لوظائف التجزئة
).
افتراضيا،
thash
method
تم تمكينه، ولكن يمكن تعطيل هذا الوضع.
تعتمد عملية التدقيق المستخدمة
auditorعلى مفهوم سلسلة النزاهة ،
والتي توفرها ملفات التدقيق التي تخزن معلومات النزاهة.
المصطلحات المشاركة في هذه العملية هي: Audit_FullList: هو ملف التدقيق الذي يحتوي على معلومات سلامة كل ملف بيانات أصلي تمت
معالجته.
Stamp: هي معلومات سلامة الملف
الفعلية Audit_FullList.
Stampيتم إعادة حسابها دائمًا وعرضها عند
تنفيذ الإجراءات ذات الصلة.
Audit_Stamp: هو ملف التدقيق الذي
يخزن Stamp،
Audit_FullListعند إنشائه.
يتم إنتاج سلسلة النزاهة بالترتيب التالي (في السلوك الافتراضي):
يتم معالجة ملفات البيانات الموجودة بالداخل
input_pathوتوليد معلومات السلامة (التجزئة
والحجم والمسار النسبي للملف وما إلى ذلك) التي يتم تخزينها في
Audit_FullList.
Audit_FullListيتم أيضًا معالجة ذلك،
وتوليده Stamp، والذي يتم طباعته في المحطة
الطرفية وتخزينه في Audit_Stamp.
يتم إجراء فحص سلسلة النزاهة بالترتيب العكسي للعملية أعلاه، إعادة
معالجة الملفات والتحقق من النزاهة مقابل ملفات التدقيق.
Stampيتم أيضًا إعادة حساب سلسلة النزاهة
وطباعتها في المحطة الطرفية ومقارنتها بتلك المخزنة في
Audit_Stamp، للتحقق مما إذا كانت تتطابق.
للمتابعة في إنشاء ملفات التدقيق والتأكد من إجراء التحقق المستقبلي لسلسلة النزاهة بشكل صحيح وآمن، اتبع الخطوات التالية:
input_path). بعد تثبيت Auditor، افتح
نافذة الأوامر وشغّل الأمر
auditor hash input_path. افتراضيًا،
سيُنشئ هذا الأمر ملفات التدقيق
Audit_FullListداخل
Audit_Stampجذر مجلد input_path. (يمكن
تغيير هذا عند الحاجة).
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
استبدل ملفات التدقيق (-o)، باستخدام القرص السريع (-z) مع الخوارزمية الافتراضية (مفيد مع أقراص SSD، ليكون سريعًا):
auditor hash input_path -o -z
نفس ما ورد أعلاه، ولكن مع تمكين الوضع الصارم، للتأكد من أن جميع الملفات في input_path تم تجزئةها:
auditor hash input_path -o -z --strict
الكتابة فوق ملفات التدقيق (-o)، دون استخدام طريقة thash (-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 و"معلومات وحدة تخزين النظام". ملاحظة: ينتمي الحرف $ في $RECYLE.BIN إلى الاسم، ويجب تجاوزه بعلامة char \ قبله، ليتم تحليله بشكل صحيح!
auditor hash input_path -o -e "**/\$RECYCLE.BIN/**" -e "**/System Volume Information/**"
استبدال ملفات التدقيق (-o)، تضمين جميع ملفات txt (-i "**/*/*.txt")، باستثناء تلك الموجودة داخل الدليل المسمى folder1 (-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)، واستخدم blockSize 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باستخدام
dest_pathالخيار -g. أما إذا كانت
ملفات التدقيق موجودة، فلا يمكنك إنشاؤها.
في حالة حدوث خطأ، سيتم إعادة المحاولة (الافتراضي هو 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
الاستنساخ مع إنشاء ملفات التدقيق فقط في dest_path.
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)! هذا لتجنب أي لبس مع ملفات
التدقيق الموجودة.
انظر جميع الخيارات مع نسخة المدقق --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\"
تنزيل بيانات سلامة الملفات الثنائية (داخل ملف zip):
إخلاء المسؤولية: هذا الإصدار
auditorمُقدّم كبرنامج في مرحلة التطوير،
دون أي ضمان أو دعم من أي نوع ، وهو مجاني
للاستخدام غير التجاري فقط . استخدمه على مسؤوليتك
الخاصة.
الترخيص: هذا الإصدار
auditorمُرخّص
للاستخدام غير التجاري فقط . يُرجى مراجعة
شروط الترخيص الكاملة لمزيد
من التفاصيل.
تنسيق ملفات التدقيق بسيط. يحتوي كل سطر على:
hash_value ?ALGORITHM[<THASH-BlockSize>]|file_size[:hex]*relative_filepath
حيث [ ] اختيارية:
hash_value:قيمة التجزئة.
ALGORITHM[<THASH-BlockSize>]:الخوارزمية المستخدمة للتجزئة، تُخزَّن بأحرف كبيرة لضمان التوافق مع
أدوات أخرى. معامل <THASH-BlockSize> اختياري، ويشير إلى استخدام
طريقة التجزئة وحجم الكتلة. يجب أن يكون حجم الكتلة بالكيلوبايت، أو
الميجابايت، أو الجيجابايت، أو التيرابايت. مثال: 10 ميجابايت.
file_sizeحجم الملف الأصلي عند
تجزئته. مفيد للتحقق، لتحسين السرعة عند عدم تطابق الحجم. لماذا تُجزأ
ملفات كبيرة الحجم مع العلم أن حجمها لا يتطابق مع حجم الملف الأصلي؟
[:hex]علامة اختيارية للإشارة إلى
أن مسارات الملفات بتنسيق سداسي عشري. هذا ضروري لأن بعض أنظمة التشغيل
تسمح باستخدام أحرف مثل '\n' أو '\r' أو '\0'، كما أن التنسيق السداسي عشري
يجنب مشاكل تنسيق النتائج.
relative_filepath:المسار النسبي
للملف المجزأ.
المثال 1: استخدام الطريقة thashمع خوارزمية sha256 وحجم الكتلة 50 ميجابايت:
281d5d93464f1165ea7c403ca99d63ff4bf9a360864f8df4bd0e8e6c03774e98 ?SHA256<THASH-50MB>|500000*file_hashed.bin
المثال 2: استخدام الطريقة العادية، فقط مع الخوارزمية blake3، مع مسار الملف بتنسيق سداسي عشري.
7357b67824d086dc53f5e1ded565f500456bea1812783f1fbcddc08fddc3944c ?BLAKE3|2233:hex*1aCb344356e4e2b2b6
يمكن تنفيذ تنسيقات أخرى في المستقبل.
باستخدام
hyperfine
، الاختبارات بين
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: