الاختبار الديناميكي وأمان وقت التشغيل

الحماية الذاتية للتطبيقات أثناء التشغيل (RASP)

3 دقيقة للقراءة

RASP يحمي التطبيقات من الداخل أثناء التشغيل. على عكس WAFs التي تجلس أمام تطبيقك، RASP يجهز التطبيق نفسه لاكتشاف الهجمات وحظرها.

كيف يعمل RASP

WAF التقليدي:
┌─────────┐     ┌─────────┐     ┌─────────────┐
│ الطلب   │ ──▶ │   WAF   │ ──▶ │  التطبيق   │
└─────────┘     └─────────┘     └─────────────┘
              (مطابقة الأنماط)

RASP:
┌─────────┐     ┌───────────────────────────────┐
│ الطلب   │ ──▶ │ التطبيق                       │
└─────────┘     │  ┌─────────────────────────┐  │
                │  │ وكيل RASP (مدمج)        │  │
                │  │ • يراقب التنفيذ         │  │
                │  │ • يحظر الهجمات          │  │
                │  │ • لديه سياق وقت التشغيل │  │
                │  └─────────────────────────┘  │
                └───────────────────────────────┘

RASP مقابل WAF

الجانب WAF RASP
الموضع محيط الشبكة داخل التطبيق
السياق طبقة HTTP فقط سياق وقت التشغيل الكامل
الإيجابيات الخاطئة أعلى أقل
مقاومة التجاوز أقل أعلى
تأثير الأداء منخفض متوسط
النشر تكوين الشبكة تكامل الكود/الوكيل
الرؤية محدودة كاملة

ما يحمي منه RASP

نوع الهجوم كيف يكتشفه RASP
SQL Injection يراقب استدعاءات برنامج تشغيل قاعدة البيانات للـ SQL المحقون
Command Injection يعترض استدعاءات exec النظام مع مدخلات ملوثة
اجتياز المسار يتتبع عمليات الملفات مع مسارات يتحكم فيها المستخدم
XXE يراقب محلل XML لتحميل الكيانات الخارجية
إلغاء التسلسل يحظر إنشاء الفئات الخطرة
SSRF يتحقق من استدعاءات عميل HTTP ضد القائمة البيضاء

حلول RASP

مفتوح المصدر

الأداة اللغة النوع
OpenRASP (Baidu) Java، PHP، Node.js قائم على الوكيل
Sqreen (مستحوذ) Python، Node.js، Ruby SaaS + وكيل
ModSecurity (مع CRS) أي (reverse proxy) هجين WAF/RASP

تجاري

الأداة اللغات الميزات
Contrast Security Java، .NET، Node، Python، Go، Ruby RASP كامل + IAST
Imperva RASP Java، .NET مقياس المؤسسات
Signal Sciences (Fastly) أي (وحدة) WAF + RASP
Dynatrace AppSec Java، .NET، Node، PHP، Go APM + الأمان

تنفيذ RASP: مثال OpenRASP

تثبيت وكيل Java

# تنزيل OpenRASP
wget https://github.com/baidu/openrasp/releases/download/v1.3.7/rasp-java.tar.gz
tar -xzf rasp-java.tar.gz

# التثبيت لتطبيق Java
java -jar RaspInstall.jar -install /path/to/tomcat

التكوين

# openrasp/conf/openrasp.yml
security:
  sql:
    # مراقبة جميع استعلامات SQL
    policy: log  # log, block
  command:
    # حظر حقن الأوامر
    policy: block
  file:
    # مراقبة عمليات الملفات
    policy: log
  xxe:
    # حظر هجمات XXE
    policy: block

# القائمة البيضاء للعمليات الموثوقة
whitelist:
  sql:
    - "SELECT * FROM users WHERE id = ?"

RASP في بيئات الحاويات

نمط Sidecar في Kubernetes

# deployment.yaml مع sidecar RASP
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  template:
    spec:
      containers:
        - name: app
          image: my-app:latest
          env:
            - name: JAVA_TOOL_OPTIONS
              value: "-javaagent:/rasp/rasp.jar"
          volumeMounts:
            - name: rasp-agent
              mountPath: /rasp

      initContainers:
        - name: rasp-init
          image: rasp-agent:latest
          command: ['cp', '/agent/rasp.jar', '/rasp/']
          volumeMounts:
            - name: rasp-agent
              mountPath: /rasp

      volumes:
        - name: rasp-agent
          emptyDir: {}

مراقبة وتنبيهات RASP

# التنبيه على حظر RASP
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
  name: rasp-alerts
spec:
  groups:
    - name: rasp
      rules:
        - alert: RASPAttackBlocked
          expr: increase(rasp_attacks_blocked_total[5m]) > 10
          for: 1m
          labels:
            severity: warning
          annotations:
            summary: "عدد كبير من الهجمات المحظورة بواسطة RASP"

متى تستخدم RASP

السيناريو التوصية
تطبيقات عالية القيمة استخدم RASP + WAF
الامتثال التنظيمي RASP يوفر رؤية عميقة
التطبيقات القديمة WAF قد يكون أسهل
الخدمات المصغرة فكر في service mesh + RASP
التطوير/التجهيز استخدم في وضع المراقبة
الإنتاج ابدأ بالتسجيل، تدرج إلى الحظر

أفضل الممارسات

  1. ابدأ في وضع المراقبة: سجل الهجمات قبل الحظر
  2. اضبط لتطبيقك: أضف الأنماط الشرعية للقائمة البيضاء
  3. راقب الأداء: RASP يضيف حمل (~2-5% CPU)
  4. ادمج مع SIEM: غذِّ سجلات RASP لمراقبة الأمان
  5. طبق دفاعات متعددة: استخدم RASP جنباً إلى جنب مع WAF، ليس بدلاً منه

في الوحدة التالية، سنتناول إدارة الأسرار وأمان البنية التحتية. :::

اختبار

الوحدة 4: الاختبار الديناميكي وأمان وقت التشغيل

خذ الاختبار