مطابقة الهاش
مطابقة الهاش هي الطبقة الأولى والأسرع في خط أنابيب الكشف في PRX-SD. لكل ملف مفحوص، يحسب PRX-SD هاشاً تشفيرياً ويبحث عنه في قاعدة بيانات محلية للهاشات الضارة المعروفة. التطابق يعني أن الملف نسخة متطابقة بايت-بايت من عينة برامج ضارة معروفة.
كيف يعمل
- حساب الهاش -- يحسب PRX-SD هاش SHA-256 للملف. لبحوث VirusShare، يُحسب أيضاً هاش MD5.
- بحث LMDB -- يُتحقق من الهاش مقابل قاعدة بيانات LMDB باستخدام شجرة B+ بتخصيص الذاكرة. هذا يوفر وقت بحث متوسط O(1).
- استرجاع البيانات الوصفية -- إذا وُجد تطابق، تُعاد البيانات الوصفية المرتبطة (المصدر، عائلة البرنامج الضار، تاريخ أول رصد).
- الحكم -- تطابق الهاش يُنتج فوراً حكم
MALICIOUSويُتجاوز الطبقات المتبقية.
الأداء
| العملية | الوقت |
|---|---|
| حساب SHA-256 (ملف 1 KB) | ~2 ميكروثانية |
| حساب SHA-256 (ملف 10 MB) | ~15 مللي ثانية |
| بحث LMDB | ~0.5 ميكروثانية |
| إجمالي لكل ملف (ملف صغير، تطابق هاش) | ~3 ميكروثانية |
يستخدم LMDB ملفات بتخصيص الذاكرة، لذا يحتفظ الذاكرة المؤقت للصفحات في نظام التشغيل بالأجزاء المُستخدمة كثيراً من قاعدة البيانات في الذاكرة العشوائية. على نظام بذاكرة كافية، البحوثات مجانية فعلياً.
أنواع الهاش المدعومة
| نوع الهاش | الحجم | الاستخدام |
|---|---|---|
| SHA-256 | 256 بت (64 حرفاً hex) | الهاش الأساسي لجميع البحوثات. تستخدمه موجات abuse.ch وقائمة الحظر المدمجة. |
| MD5 | 128 بت (32 حرفاً hex) | يُستخدم لتوافق قاعدة بيانات VirusShare. يُحسب فقط عند وجود بيانات VirusShare. |
محدودية MD5
MD5 مكسور تشفيرياً وعرضة لهجمات التصادم. يستخدم PRX-SD MD5 فقط للتوافق مع قاعدة بيانات VirusShare. SHA-256 هو الهاش الأساسي لجميع المصادر الأخرى.
مصادر البيانات
يجمع PRX-SD توقيعات الهاش من موجات استخبارات تهديدات متعددة:
| المصدر | نوع الهاش | مجاني | المحتوى | تكرار التحديث |
|---|---|---|---|---|
| abuse.ch MalwareBazaar | SHA-256 | نعم | عينات البرامج الضارة الحديثة (48 ساعة) | كل 5 دقائق |
| abuse.ch URLhaus | SHA-256 | نعم | ملفات البرامج الضارة من URLs ضارة | كل ساعة |
| abuse.ch Feodo Tracker | SHA-256 | نعم | أحصنة طروادة المصرفية (Emotet، Dridex، TrickBot) | كل 5 دقائق |
| abuse.ch ThreatFox | SHA-256 | نعم | منصة مشاركة IOC المجتمعية | كل ساعة |
| VirusShare | MD5 | نعم | أكثر من 20 مليون هاش برامج ضارة (تاريخي) | دوري |
| قائمة الحظر المدمجة | SHA-256 | مُدمج | EICAR وWannaCry وNotPetya وEmotey وغيرها | مع الإصدارات |
إجمالي تغطية الهاش
| وضع التحديث | الهاشات | حجم قاعدة البيانات |
|---|---|---|
قياسي (sd update) | ~28,000 SHA-256 | ~5 MB |
كامل (sd update --full) | ~28,000 SHA-256 + أكثر من 20 مليون MD5 | ~800 MB |
تحديث قاعدة بيانات الهاش
التحديث القياسي
يجلب أحدث هاشات SHA-256 من جميع موجات abuse.ch:
sd updateيعمل هذا تلقائياً عند تثبيت PRX-SD أول مرة ويمكن جدولته مع cron أو sd service للتحديثات المستمرة.
التحديث الكامل
يتضمن قاعدة بيانات VirusShare MD5 الكاملة:
sd update --fullمتى تستخدم الوضع الكامل
تحتوي قاعدة بيانات VirusShare على أكثر من 20 مليون هاش MD5 تاريخي يعود لسنوات. مفيدة للتحقيقات الجنائية والفحص الشامل لكنها تضيف ~800 MB إلى قاعدة البيانات. للحماية اليومية، التحديث القياسي كافٍ.
استيراد الهاش اليدوي
استيراد قوائم هاش مخصصة من ملفات نصية (هاش واحد لكل سطر):
sd import my_hashes.txtيكشف أمر الاستيراد نوع الهاش تلقائياً (SHA-256 أو MD5) بناءً على طول السلسلة. يمكنك أيضاً تحديد البيانات الوصفية:
sd import my_hashes.txt --source "internal-ir" --family "custom-trojan"قاعدة بيانات LMDB
يخزّن PRX-SD الهاشات في LMDB (قاعدة بيانات خريطة ذاكرة البرق)، اختيرت لخصائصها:
| الخاصية | الفائدة |
|---|---|
| إدخال/إخراج بتخصيص الذاكرة | قراءات بدون نسخ، بدون تكاليف تسلسل |
| هيكل شجرة B+ | بحوثات متوسطة O(1) |
| معاملات ACID | قراءات متزامنة آمنة أثناء التحديثات |
| مقاوم للأعطال | النسخ عند الكتابة يمنع الفساد |
| حجم مضغوط | تخزين فعّال لمفاتيح الهاش |
قاعدة البيانات مخزنة في ~/.local/share/prx-sd/signatures.lmdb بشكل افتراضي. يمكن تخصيص المسار:
# ~/.config/prx-sd/config.toml
[database]
path = "/opt/prx-sd/signatures.lmdb"التحقق من حالة قاعدة البيانات
عرض إحصاءات قاعدة بيانات الهاش الحالية:
sd infoPRX-SD Signature Database
=========================
SHA-256 hashes: 28,428
MD5 hashes: 0 (run 'sd update --full' for VirusShare)
YARA rules: 38,800
Database path: /home/user/.local/share/prx-sd/signatures.lmdb
Database size: 4.8 MB
Last updated: 2026-03-21 10:00:00 UTCكيف تندرج مطابقة الهاش في خط الأنابيب
صُمِّمت مطابقة الهاش كخط دفاع أول لأن:
- السرعة -- عند ~3 ميكروثانية لكل ملف، تضيف تكاليف ضئيلة. يمكن فحص مليون ملف نظيف في أقل من 3 ثوانٍ.
- صفر إيجابيات كاذبة -- تطابق SHA-256 ضمان تشفيري بأن الملف متطابق مع عينة برامج ضارة معروفة.
- دائرة قصر -- عند إيجاد تطابق هاش، يُتجاوز تحليل YARA والاستدلاليات كلياً، مما يوفر وقت معالجة كبيراً.
محدودية مطابقة الهاش هي أنها تكشف فقط النسخ الدقيقة من العينات المعروفة. تعديل بايت واحد ينتج هاشاً مختلفاً ويتهرب من هذه الطبقة. لذا توجد طبقات YARA والاستدلاليات كدفاعات لاحقة.
الخطوات التالية
- قواعد YARA -- الكشف المستند إلى الأنماط للمتغيرات والعائلات
- التحليل الاكتشافي -- الكشف السلوكي للتهديدات غير المعروفة
- نظرة عامة على محرك الكشف -- كيف تعمل جميع الطبقات معاً
- فحص الملفات والأدلة -- استخدام مطابقة الهاش عملياً