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

فحص ذاكرة العملية

يفحص أمر sd scan-memory ذاكرة العمليات الجارية للكشف عن البرامج الضارة الخالية من الملفات والـ shellcode المُحقَّن والتهديدات الموجودة في الذاكرة التي لا تلمس القرص أبداً. هذا ضروري لالتقاط التهديدات المتقدمة التي تتهرب من الفحص التقليدي المستند إلى الملفات.

المتطلبات

  • صلاحيات الجذر مطلوبة -- فحص الذاكرة يقرأ /proc/<pid>/mem، وهو يتطلب root أو CAP_SYS_PTRACE.
  • لينكس فقط -- فحص ذاكرة العملية مدعوم حالياً على لينكس. دعم ماك أو إس مخطط له.

كيف يعمل

يقرأ فحص ذاكرة العملية تخطيطات الذاكرة الافتراضية للعملية الجارية ويطبق نفس خط أنابيب الكشف المستخدم لفحص الملفات:

  1. تعداد مناطق الذاكرة -- تحليل /proc/<pid>/maps للعثور على مقاطع الذاكرة القابلة للقراءة (heap، stack، تخصيصات مجهولة، الملفات المرتبطة).
  2. قراءة محتويات الذاكرة -- قراءة كل منطقة من /proc/<pid>/mem.
  3. فحص قواعد YARA -- تطبيق قواعد YARA للذاكرة المحسَّنة للكشف عن أنماط shellcode والـ DLL المُحقَّنة وتوقيعات البرامج الضارة المعروفة في الذاكرة.
  4. تحليل الأنماط -- التحقق من الأنماط المشبوهة مثل مناطق ذاكرة RWX ورؤوس PE في التخصيصات غير المرتبطة بملف وحمولات استغلال معروفة.

الاستخدام الأساسي

فحص جميع العمليات الجارية:

bash
sudo sd scan-memory

فحص عملية محددة بـ PID:

bash
sudo sd scan-memory --pid 1234

فحص عمليات محددة متعددة:

bash
sudo sd scan-memory --pid 1234 --pid 5678 --pid 9012

خيارات الأمر

الخيارالمختصرالافتراضيالوصف
--pid-pالكلفحص معرف العملية المحدد فقط (قابل للتكرار)
--json-jإيقافمخرجات النتائج بتنسيق JSON
--exclude-pidلا شيءاستبعاد PIDs محددة من الفحص
--exclude-userلا شيءاستبعاد العمليات المملوكة لمستخدم محدد
--min-region-size4096الحد الأدنى لحجم منطقة الذاكرة للفحص (بايت)
--skip-mapped-filesإيقافتخطي مناطق الذاكرة المرتبطة بملف

مثال على المخرجات

bash
sudo sd scan-memory
PRX-SD Memory Scan Report
=========================
Processes scanned: 142
Memory regions scanned: 8,451
Total memory scanned: 4.2 GB

  [MALICIOUS] PID 3847 (svchost)
    Region:  0x7f4a00000000-0x7f4a00040000 (anon, RWX)
    Match:   YARA rule: memory_cobalt_strike_beacon
    Details: CobaltStrike Beacon shellcode detected in anonymous RWX mapping

  [SUSPICIOUS] PID 12045 (python3)
    Region:  0x7f8b10000000-0x7f8b10010000 (anon, RWX)
    Match:   Pattern analysis
    Details: Executable code in anonymous RWX region, possible shellcode injection

Duration: 12.4s

مخرجات JSON

bash
sudo sd scan-memory --pid 3847 --json
json
{
  "scan_type": "memory",
  "timestamp": "2026-03-21T15:00:00Z",
  "processes_scanned": 1,
  "regions_scanned": 64,
  "threats": [
    {
      "pid": 3847,
      "process_name": "svchost",
      "region_start": "0x7f4a00000000",
      "region_end": "0x7f4a00040000",
      "region_perms": "rwx",
      "region_type": "anonymous",
      "verdict": "malicious",
      "rule": "memory_cobalt_strike_beacon",
      "description": "CobaltStrike Beacon shellcode detected"
    }
  ]
}

حالات الاستخدام

الاستجابة للحوادث

أثناء تحقيق نشط، افحص جميع العمليات للعثور على الخدمات المخترقة:

bash
sudo sd scan-memory --json > /evidence/memory-scan-$(date +%s).json

كشف البرامج الضارة الخالية من الملفات

تنفذ البرامج الضارة الحديثة كلياً في الذاكرة دون الكتابة على القرص. التقنيات الشائعة تشمل:

  • حقن العملية -- تُحقن البرامج الضارة كوداً في العمليات المشروعة باستخدام ptrace أو كتابات /proc/pid/mem
  • تحميل DLL الانعكاسي -- يُحمَّل DLL من الذاكرة دون لمس نظام الملفات
  • تنفيذ Shellcode -- يُخصَّص shellcode خام في ذاكرة RWX ويُنفَّذ مباشرةً

يكشف sd scan-memory هذه الأنماط بالبحث عن:

المؤشرالوصف
تخصيصات RWX مجهولةكود قابل للتنفيذ في ذاكرة غير مرتبطة بملف
رؤوس PE في الذاكرةهياكل Windows PE في ذاكرة عملية لينكس (حمولات متعددة المنصات)
توقيعات shellcode المعروفةأنماط Metasploit وCobaltStrike وSliver beacon
مقاطع syscall مشبوهةنقاط دخول syscall مربوطة أو مُرقَّعة

فحص صحة الخادم

تشغيل فحوصات ذاكرة دورية على خوادم الإنتاج:

bash
# إضافة إلى cron: فحص كل 6 ساعات
0 */6 * * * root /usr/local/bin/sd scan-memory --json --exclude-user nobody >> /var/log/prx-sd/memory-scan.log 2>&1

تأثير الأداء

يقرأ فحص الذاكرة ذاكرة العملية وقد يزيد I/O بشكل مؤقت. على خوادم الإنتاج، فكّر في الفحص خلال فترات انخفاض حركة المرور أو استبعاد العمليات غير الحيوية.

القيود

  • يقرأ فحص الذاكرة لقطة من ذاكرة العملية في وقت الفحص. قد تُنتج مناطق الذاكرة المتغيرة بسرعة نتائج غير مكتملة.
  • لا تُفحص ذاكرة النواة بـ scan-memory. استخدم sd check-rootkit للكشف عن التهديدات على مستوى النواة.
  • قد تتهرب الحمولات المُشوَّشة أو المشفرة بشدة في الذاكرة من قواعد YARA. توفر طبقة تحليل الأنماط آلية كشف ثانوية.

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

Released under the Apache-2.0 License.