الأسبوع الرابع: أنظمة كشف ومنع التسلل (IDS/IPS)

دبلوم أمن المعلومات | مساق أمن الشبكات (SYBS-2304)

المتطلبات السابقة: شبكات 1، شبكات 2 (نظري وعملي) | المحاضر: أ. محمود الشيخ خليل

مراقبة الشبكة والكشف عن الأنشطة الضارة

الأسبوع الرابع | 3 ساعات

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

بنهاية هذا الأسبوع، سيكون الطالب قادراً على:

  • فهم الفرق الأساسي بين أنظمة كشف التسلل (IDS) وأنظمة منع التسلل (IPS)
  • التمييز بين أنواع IDS المختلفة (Network-based و Host-based)
  • فهم تقنيات الكشف عن التهديدات (التوقيعات، السلوك، الشذوذ)
  • تثبيت وتكوين Snort كنظام IDS/IPS مفتوح المصدر
  • تحليل سجلات النظام وتحديد أنماط الهجمات المحتملة
  • تطبيق قواعد (Rules) للكشف عن هجمات شبكية محددة

محتوى الجلسة

الافتتاح والمراجعة

مراجعة مفاهيم جدران الحماية (Stateful vs Stateless) وربطها بأنظمة كشف التسلل

مقدمة في IDS/IPS

تعريف أنظمة كشف ومنع التسلل، تاريخها، وأهميتها في الدفاع عن الشبكات

الفرق بين IDS و IPS

مقارنة شاملة بين الكشف (Detection) والمنع (Prevention) ومواقع النشر في الشبكة

أنواع أنظمة الكشف عن التسلل

شرح NIDS مقابل HIDS، ومزايا وعيوب كل نوع

تقنيات الكشف عن التهديدات

الكشف المبني على التوقيعات، كشف الشذوذ، والكشف المبني على السلوك

مقدمة في Snort

تعريف بـ Snort كأشهر أنظمة IDS/IPS مفتوحة المصدر، مكوناته وآلية عمله

النشاط العملي

تثبيت Snort على Ubuntu، كتابة قواعد للكشف عن هجمات (Ping Flood, Port Scan)

الختام والواجبات

حل النشاط العملي، توضيح الواجبات ومناقشة سيناريوهات واقعية

المحتوى النظري

1. مقدمة في أنظمة كشف ومنع التسلل

تُعتبر أنظمة كشف التسلل (Intrusion Detection Systems - IDS) وأنظمة منع التسلل (Intrusion Prevention Systems - IPS) من الركائز الأساسية في استراتيجية الدفاع العميق (Defense in Depth). تقوم هذه الأنظمة بمراقبة حركة مرور الشبكة أو سلوك الأنظمة لاكتشاف الأنشطة غير المصرح بها أو الضارة.

حقائق مهمة:

  • أول نظام IDS تجاري ظهر في عام 1980 بواسطة Dorothy Denning
  • أكثر من 60% من الهجمات تتخطى جدران الحماية التقليدية دون اكتشاف
  • متوسط الوقت لاكتشاف الاختراق (Dwell Time) هو 277 يوماً بدون أنظمة IDS/IPS فعالة

2. الفرق بين IDS و IPS

على الرغم من التشابه في آلية الكشف، إلا أن هناك فرقاً جوهرياً في آلية الاستجابة:

المعيار IDS (نظام كشف التسلل) IPS (نظام منع التسلل)
الوظيفة الرئيسية الكشف والإنذار فقط الكشف والمنع الفوري
التفاعل مع الحركة سلبي (مراقبة فقط) فاعل (إسقاط الحزم المشبوهة)
موقع النشر خارج خط البيانات (Out-of-band) داخل خط البيانات (In-line)
التأثير على الأداء بسيط - لا يؤخر الحزم متوسط إلى عالي - يفحص في الوقت الفعلي
إمكانية حظر الشرعي لا يحظر (أقل خطراً) ممكن (False Positive يسبب انقطاع خدمة)
الاستخدام الأمثل رصد وتحقيق جنائي حماية فورية للأصول الحساسة

3. أنواع أنظمة كشف التسلل

أ. نظام كشف الشبكة (Network-based IDS - NIDS):
  • الوصف: يراقب حركة المرور على مستوى الشبكة بأكملها من خلال تحليل الحزم المرورية
  • الموقع: عادة ما يُنشر عند نقاط استراتيجية (by the perimeter, DMZ, segments)
  • المميزات: حماية شبكة كاملة، صعوبة اكتشافه من قبل المهاجم، لا يؤثر على أداء الأجهزة المضيفة
  • العيوب: صعوبة فحص حركة مرور مشفرة، قد يصبح عنق زجاجة إذا لم يُحسن
ب. نظام كشف المضيف (Host-based IDS - HIDS):
  • الوصف: مثبت على جهاز فردي ويراقب سجلات النظام، ملفاته، وعملياته
  • المراقبة: مكالمات النظام، سجلات الأحداث (Event Logs)، تغييرات ملفات النظام
  • المميزات: رؤية داخلية للجهاز، قدرة على كشف هجمات التشفير من الطرف إلى الطرف، كشف التعديلات على الملفات
  • العيوب: استهلاك موارد الجهاز، يحتاج صيانة على كل جهاز، لا يرى حركة الشبكة العابرة

الاستخدام الأمثل:

أفضل الممارسات تقتضي استخدام NIDS و HIDS معاً (Hybrid Approach) حيث يكمل كل منهما الآخر. NIDS يرى حركة الشبكة الواسعة بينما HIDS يرى ما يحدث داخل الجهاز بعد تجاوز حدود الشبكة.

4. تقنيات الكشف عن التهديدات

أ. الكشف المبني على التوقيعات (Signature-based Detection):
  • المبدأ: مقارنة حركة المرور مع قاعدة بيانات من أنماط الهجمات المعروفة (توقيعات)
  • الدقة: عالية ضد الهجمات المعروفة (منخفضة False Negatives)
  • القيود: غير قادر على كشف الهجمات الجديدة (Zero-day) أو المعدلة
  • مثال: كشف فيروس معين من خلال مقارنة البايتات مع توقيع الفيروس المعروف
ب. الكشف المبني على الشذوذ (Anomaly-based Detection):
  • المبدأ: إنشاء خط أساس (Baseline) للسلوك الطبيعي، والإنذار عند أي انحراف
  • البدء: يتطلب فترة تعلم (Learning Period) لبناء الملف الطبيعي
  • المميزات: قدرة على كشف هجمات جديدة وغير معروفة سابقاً
  • العيوب: معدل إنذارات كاذبة مرتفع (High False Positive Rate)، صعوبة تعريف "الطبيعي"
ج. الكشف المبني على السلوك (Behavior-based / Heuristic):
  • المبدأ: مراقبة السلوك طويل المدى واكتشاف الأنماط الضارة المعقدة
  • الاستخدام: كشف هجمات APT (Advanced Persistent Threats) والأنشطة المستمرة البطيئة
  • التطبيق: غالباً ما يستخدم الذكاء الاصطناعي والتعلم الآلي

5. مقدمة في Snort - نظام IDS/IPS مفتوح المصدر

Snort هو أشهر وأقدم أنظمة IDS/IPS مفتوحة المصدر، تم تطويره عام 1998 بواسطة Martin Roesch. يستخدمه الآلاف من المؤسسات حول العالم.

مكونات Snort الرئيسية:

  • Packet Decoder: فك ترميز الحزم من مختلف بروتوكولات الشبكة
  • Detection Engine: محرك الكشف الذي يطبق القواعد على الحزم
  • Logger/Alert System: نظام تسجيل الأحداث وإرسال الإنذارات
  • Rules Engine: محرك القواعد الذي يحتوي على آلاف القواعد الجاهزة للكشف عن الهجمات المعروفة
أوضاع تشغيل Snort:
الوضع الوصف الاستخدام
Sniffer Mode قراءة وعرض حزم الشبكة على الشاشة فقط تحليل سريع، تصحيح أخطاء
Packet Logger Mode تسجيل الحزم على القرص للتحليل اللاحق جمع أدلة جنائية، تحليل عميق
Network IDS Mode مراقبة الشبكة وتطبيق القواعد وإرسال الإنذارات الاستخدام الأساسي كـ IDS
Inline Mode (IPS) الوقوف بين الشبكات وإسقاط الحزم الضارة مباشرة العمل كـ IPS فعال

هجمات شائعة يمكن كشفها باستخدام IDS/IPS

1. هجوم Ping Flood (ICMP Flood):

الوصف: إغراق الهدف بحزم ICMP Echo Request (Ping) لاستنفاد موارده.

كيفية الكشف: مراقبة معدل حزم ICMP غير الطبيعي من نفس المصدر.

2. هجوم Port Scanning:

الوصف: مسح المنافذ لاكتشاف الخدمات المفتوحة.

كيفية الكشف: اكتشاف محاولات الاتصال المتتالية على منافذ مختلفة في وقت قصير.

3. هجوم brute-force على SSH:

الوصف: محاولات متعددة لتسجيل الدخول بكلمات مرور مختلفة.

كيفية الكشف: عدد كبير من محاولات تسجيل الدخول الفاشلة من نفس IP.

النشاط العملي: تثبيت وتكوين Snort لكشف الهجمات

في هذا النشاط، سنقوم بتثبيت Snort على نظام Linux (Ubuntu) وتهيئته ليكشف عن هجمات محددة.

سيناريو النشاط:

أنت مسؤول أمن في شركة صغيرة وتريد نشر نظام IDS لمراقبة الشبكة الداخلية (192.168.1.0/24). تريد كشف المحاولات الضالة التالية:

  • محاولات مسح المنفذ 22 (SSH) من خارج الشبكة
  • هجمات Ping Flood (أكثر من 50 ping في الثانية)
  • محاولات الوصول إلى صفحات إدارية غير مصرح بها (/admin, /wp-admin)

المتطلبات:

  • نظام Ubuntu 20.04/22.04 (حقيقي أو افتراضي)
  • صلاحيات Root أو Sudo
  • اتصال بالشبكة على الواجهة eth0 (أو أي واجهة أخرى)

خطوات العمل:

المهمة 1: تثبيت Snort

تثبيت Snort والتبعيات المطلوبة على نظام Ubuntu.

sudo apt update
sudo apt install snort -y

أثناء التثبيت، سيسألك عن نطاق الشبكة (Home Net). أدخل: 192.168.1.0/24

المهمة 2: التحقق من التثبيت

التأكد من أن Snort يعمل بشكل صحيح في وضع Sniffer.

sudo snort -v -i eth0

ثم اضغط Ctrl+C للخروج. يجب أن ترى حزم الشبكة تمر على الشاشة.

المهمة 3: إنشاء قاعدة مخصصة (Custom Rule)

إنشاء قاعدة لكشف محاولات مسح منفذ SSH (22).

افتح ملف القواعد:

sudo nano /etc/snort/rules/local.rules

أضف السطر التالي:

alert tcp any any -> 192.168.1.0/24 22 (msg:"SSH Scan Detected"; flags:S; threshold:type both, track by_src, count 5, seconds 60; sid:1000001; rev:1;)

شرح القاعدة:

  • alert: نوع الإجراء (إنذار)
  • tcp any any: بروتوكول TCP من أي مصدر/منفذ
  • -> 192.168.1.0/24 22: إلى الشبكة الداخلية على المنفذ 22
  • flags:S: حزم SYN (بداية الاتصال)
  • threshold: لا تنبه إلا إذا حدث 5 محاولات في 60 ثانية
  • sid: معرف فريد للقاعدة (يجب أن يكون فوق 1,000,000 للقواعد المخصصة)
المهمة 4: تشغيل Snort في وضع IDS

تشغيل Snort مع تفعيل القواعد المحلية.

sudo snort -q -l /var/log/snort -i eth0 -A console -c /etc/snort/snort.conf

المعاملات:

  • -q: وضع الهدوء (بدون عرض حزم)
  • -l: مجلد السجلات
  • -i: اسم الواجهة
  • -A console: عرض الإنذارات على الشاشة
  • -c: ملف الإعداد
المهمة 5: اختبار النظام

من جهاز آخر على الشبكة، قم بتنفيذ الأمر:

nmap -p 22 192.168.1.1
# أو
hping3 -S -p 22 --flood 192.168.1.1

يجب أن ترى إنذاراً على شاشة Snort يشير إلى "SSH Scan Detected".

المهمة 6: إضافة قاعدة Ping Flood (اختياري)

أضف قاعدة لكشف هجمات ICMP Flood.

alert icmp any any -> 192.168.1.0/24 any (msg:"ICMP Flood Detected"; itype:8; threshold:type both, track by_src, count 50, seconds 1; sid:1000002; rev:1;)

حل النشاط العملي (إرشادات)

المهمة 1-2: التثبيت والتحقق

إذا ظهرت لك رسالة خطأ حول واجهة الشبكة، تأكد من اسم الواجهة الصحيح باستخدام:

ip addr show

ابحث عن الواجهة المتصلة (عادة eth0, ens33, أو enp0s3).

المهمة 3: فهم القاعدة

القاعدة تستخدم threshold لتجنب الإنذارات الكاذبة. فقط محاولات المسح الفعلية (5 محاولات في دقيقة) ست trigger الإنذار.

ملاحظة: تأكد من عدم وجود مسافات زائدة في القاعدة، واستخدم علامات الاقتباس المستقيمة (") وليست المائلة (").

المهمة 4-5: التشغيل والاختبار

عند اكتشاف الهجوم، يجب أن ترى شيئاً مشابهاً:

07/15-12:30:45.123456 [**] [1:1000001:1] SSH Scan Detected [**] [Priority: 0] {TCP} 192.168.1.100:54321 -> 192.168.1.10:22

لحفظ الإنذارات في ملف بدلاً من الشاشة، استخدم -A fast بدلاً من -A console.

التحليل الإضافي:

لقراءة سجلات Snort لاحقاً:

sudo snort -r /var/log/snort/snort.log.xxxxxx

الواجبات والمهام

الواجب العملي: إعداد Snort لكشف محاولات اختراق الويب

السيناريو:

أنت مسؤول أمن في شركة "الأمن التقني" وتريد إضافة طبقة حماية لخادم الويب الداخلي (192.168.1.50) لكشف:

  1. محاولات الوصول إلى ملفات حساسة (/etc/passwd, /shadow, .env)
  2. هجمات SQL Injection البسيطة (محاولات إدخال كلمات مثل ' OR 1=1 --)
  3. محاولات استخدام أدوات الفحص الشهيرة (sqlmap, nmap, dirbuster)

المطلوب:

  1. اكتب 3 قوا snacks (rules) لـ Snort تحقق المتطلبات أعلاه.
  2. اشرح كل قاعدة (ما تفعله، ولماذا اخترت هذه المعاملات).
  3. اختبر قاعدة واحدة على الأقل (يمكنك استخدام VMware أو Packet Tracer إذا كان متاحاً فيه Snort).

آلية التسليم:

  • ملف نصي يحتوي على القواعد الثلاث مع الشرح.
  • لقطة شاشة للاختبار إذا كان ممكناً.
  • توضيح لكيفية تجنب False Positives في قواعدك.

موعد التسليم: نهاية الأسبوع الخامس

الواجب النظري: مقارنة بين IDS التجارية والمفتوحة المصدر

المطلوب:

أعد تقريراً مقارناً (2-3 صفحات) بين:

  1. Snort (مفتوح المصدر)
  2. Suricata (مفتوح المصدر)
  3. Cisco Firepower (تجاري)

يجب أن يشمل التقرير:

  • جدول مقارنة للمميزات التقنية (الأداء، سهولة التهيئة، التكلفة، الدعم).
  • متى تختار المفتوح المصدر ومتى تختار التجاري؟ (من حيث حجم المؤسسة والميزانية).
  • دراسة حالة: مؤسسة متوسطة (100 موظف) - ما الحل الأمثل لها ولماذا؟

متطلبات التقرير:

  • يغطي النقاط الثلاث أعلاه.
  • استخدم مصادر موثوقة (مواقع رسمية، أوراق علمية).
  • اذكر المراجع في النهاية.

موعد التسليم: نهاية الأسبوع الخامس

المصطلحات الرئيسية للأسبوع الرابع

IDS (Intrusion Detection System): نظام كشف التسلل - يراقب الشبكة أو النظام ويُنذر عند اكتشاف نشاط مشبوه.

IPS (Intrusion Prevention System): نظام منع التسلل - يكشف ويتخذ إجراء فورياً لمنع الهجوم (إسقاط الحزم، إغلاق الاتصال).

NIDS (Network-based IDS): نظام كشف على مستوى الشبكة - يراقب حركة المرور الشبكية كلها.

HIDS (Host-based IDS): نظام كشف على مستوى المضيف - مثبت على جهاز واحد يراقب سجلاته وملفاته.

Signature-based Detection: الكشف بالتوقيعات - مقارنة الحركة مع قاعدة بيانات أنماط هجمات معروفة.

Anomaly-based Detection: الكشف بالشذوذ - اكتشاف الانحرافات عن السلوك الطبيعي المعتاد.

False Positive: إنذار كاذب - تحديد نشاط شرعي كهجوم.

False Negative: فشل في الكشف - عدم اكتشاف هجوم حقيقي.

Snort: نظام IDS/IPS مفتوح المصدر واسع الاستخدام.

Rule/Signature: قاعدة أو توقيع - النمط الذي يتم البحث عنه لاكتشاف هجوم.

Baseline: خط الأساس - السلوك الطبيعي الذي يُقاس عليه الشذوذ.

Inline Mode: الوضع المباشر - وضع IPS حيث يُوضع الجهاز مباشرة في مسار حركة المرور.