Skip to content
تم إنشاء هذه الصفحة وترجمتها بمساعدة الذكاء الاصطناعي. إذا لاحظت أي أخطاء، لا تتردد في المساهمة في تحسينها. تعديل على GitHub

قواعد YARA

قواعد YARA هي الطبقة الثانية في خط أنابيب الكشف في PRX-SD. بينما تلتقط مطابقة الهاش النسخ الدقيقة للبرامج الضارة المعروفة، تكشف قواعد YARA عائلات البرامج الضارة ومتغيراتها وأنماطها السلوكية عن طريق مطابقة تسلسلات البايت والسلاسل النصية والشروط الهيكلية داخل الملفات.

يأتي PRX-SD مع أكثر من 38,800 قاعدة YARA مجمَّعة من 8 مصادر ويستخدم محرك YARA-X -- إعادة الكتابة من الجيل التالي بلغة Rust للـ YARA توفر أداءً محسناً وأماناً وتوافقاً.

محرك YARA-X

يستخدم PRX-SD YARA-X بدلاً من مكتبة YARA التقليدية المستندة إلى C. المزايا الرئيسية:

الميزةYARA (C)YARA-X (Rust)
اللغةCRust (آمن للذاكرة)
الأداءجيدأسرع 2-5x على مجموعات القواعد الكبيرة
توافق القواعدأساسيتوافق كامل للأسفل + ميزات جديدة
أمان الخيوطيتطلب معالجة دقيقةآمن بالتصميم
دعم الوحداتوحدات مدمجةمعياري، قابل للتوسعة

مصادر القواعد

يجمع PRX-SD القواعد من 8 مصادر:

المصدرالقواعدالمحتوىتغطية المنصة
القواعد المدمجة64برامج الفدية وأحصنة طروادة والباب الخلفي وrootkit وعمال المنجم والـ webshellsلينكس + ماك أو إس + ويندوز
Yara-Rules/rules (GitHub)~12,400Emotet وTrickBot وCobaltStrike وMirai وLockBitمتعدد المنصات
Neo23x0/signature-base~8,200APT29 وLazarus وتعدين العملات المشفرة والـ webshells وبرامج الفديةمتعدد المنصات
ReversingLabs YARA~9,500أحصنة طروادة وبرامج الفدية والباب الخلفي وأدوات الاختراقويندوز + لينكس
ESET IOC~3,800Turla وInterception والتهديدات المستمرة المتقدمةمتعدد المنصات
InQuest~4,836مستندات OLE/DDE الضارة، حمولات الماكرومتعدد المنصات
JPCERT/CC~500+التهديدات المستهدفة في منطقة آسيا والمحيط الهادئمتعدد المنصات
مخصص/مُستوردمتغيرقواعد يوفرها المستخدمأي منصة

الإجمالي: أكثر من 38,800 قاعدة (بعد إزالة التكرار)

القواعد المدمجة

القواعد الـ 64 المدمجة مُجمَّعة في الملف الثنائي لـ PRX-SD ومتاحة دائماً، حتى بدون تنزيل مجموعات قواعد خارجية. تغطي أكثر فئات التهديدات شيوعاً:

الفئةالقواعدأمثلة
برامج الفدية12WannaCry وLockBit وConti وREvil وBlackCat وRyuk
أحصنة طروادة10Emotet وTrickBot وDridex وQakBot
الباب الخلفي8Cobalt Strike Beacon وMetasploit Meterpreter والـ reverse shells
Rootkit6Reptile وDiamorphine وJynx2 (لينكس)
عمال المنجم6XMRig وCGMiner وإعدادات التعدين المخفية
Webshells8China Chopper وWSO وB374K وشيلات PHP/ASP/JSP
RATs6njRAT وDarkComet وAsyncRAT وQuasar
ثغرات الاستغلال4EternalBlue وPrintNightmare وحمولات Log4Shell
توقيعات الاختبار4متغيرات ملف اختبار EICAR

عملية مطابقة القواعد

عند وصول ملف إلى الطبقة 2، يعالجه YARA-X كالتالي:

  1. تجميع القواعد -- عند بدء التشغيل، تُجمَّع جميع القواعد في تمثيل داخلي محسَّن. يحدث هذا مرة واحدة ويُخزَّن مؤقتاً في الذاكرة.
  2. استخلاص الذرات -- يستخلص YARA-X تسلسلات بايت قصيرة (ذرات) من أنماط القواعد لبناء فهرس بحث. يمكّن هذا التصفية المسبقة السريعة.
  3. الفحص -- يُفحص محتوى الملف مقابل فهرس الذرات. تُقيَّم فقط القواعد التي تتطابق ذراتها بالكامل.
  4. تقييم الشرط -- لكل قاعدة مرشحة، يُقيَّم الشرط الكامل (منطق بوليني، عدد السلاسل، فحوصات هيكل الملف).
  5. النتيجة -- تُجمَّع القواعد المطابقة ويُعلَّم الملف بـ MALICIOUS مع أسماء القواعد في التقرير.

الأداء

المقياسالقيمة
تجميع القواعد (38,800 قاعدة)~2 ثانية (مرة واحدة عند بدء التشغيل)
وقت فحص لكل ملفمتوسط ~0.3 مللي ثانية
استخدام الذاكرة (قواعد مُجمَّعة)~150 MB
الإنتاجية~3,000 ملف/ثانية/خيط

تحديث قواعد YARA

تُحدَّث القواعد جانباً مع توقيعات الهاش:

bash
# تحديث كل شيء (الهاشات + قواعد YARA)
sd update

# تحديث قواعد YARA فقط
sd update --source yara

عملية التحديث:

  1. تنزيل أرشيفات القواعد من كل مصدر
  2. التحقق من صحة بناء القواعد بـ YARA-X
  3. إزالة تكرار القواعد بالاسم وهاش المحتوى
  4. تجميع مجموعة القواعد المدمجة
  5. استبدال مجموعة القواعد النشطة ذرياً

تحديثات بدون توقف

تحديثات القواعد ذرية. تُجمَّع مجموعة القواعد الجديدة والتحقق منها قبل استبدال المجموعة النشطة. إذا فشل التجميع (مثل خطأ في بناء الجملة في قاعدة مجتمعية)، تبقى مجموعة القواعد الموجودة نشطة.

القواعد المخصصة

يمكنك إضافة قواعد YARA الخاصة بك بوضع ملفات .yar أو .yara في دليل القواعد المخصصة:

bash
# دليل القواعد المخصصة الافتراضي
~/.config/prx-sd/rules/

مثال على قاعدة مخصصة:

yara
rule custom_webshell_detector {
    meta:
        description = "Detects custom PHP webshell variant"
        author = "Security Team"
        severity = "high"

    strings:
        $eval = "eval(base64_decode(" ascii
        $system = "system($_" ascii
        $exec = "exec($_" ascii

    condition:
        filesize < 100KB and
        ($eval or $system or $exec)
}

بعد إضافة القواعد المخصصة، أعد تحميل مجموعة القواعد:

bash
sd reload-rules

أو أعد تشغيل وحيد خدمة الشاشة لاستيعاب التغييرات تلقائياً.

أدلة القواعد

الدليلالمصدرسلوك التحديث
~/.local/share/prx-sd/rules/builtin/مُجمَّع في الملف الثنائييُحدَّث مع الإصدارات
~/.local/share/prx-sd/rules/community/يُنزَّل من المصادريُحدَّث بـ sd update
~/.config/prx-sd/rules/قواعد مخصصة من المستخدميدوي، لا يُكتب فوقها أبداً

التحقق من القواعد

التحقق من عدد القواعد المحملة حالياً ومصادرها:

bash
sd info
YARA Rules
==========
Built-in:        64
Community:       38,736
Custom:          12
Total compiled:  38,812
Rule sources:    8
Last updated:    2026-03-21 10:00:00 UTC

سرد القواعد المطابقة لكلمة مفتاحية محددة:

bash
sd rules list --filter "ransomware"

الخطوات التالية

Released under the Apache-2.0 License.