سلسلة تعلم كاشف الدخلاء (Snort IDS/IPS) خطوة بخطوة: الجزء الأول:- المقدمة

[toc]

Intrusion Detection System

مقدمة

في موضوعنا اليوم سنتكلم عن واحده من أكثرالتكنولوجيات أهمية في حماية الشبكات , ألا وهي تكنولوجيا نظام كشف أو مراقبة البيانات المتسللة من/إلى الشبكة. هذ النظام اللذي يعمل بامتزاج مع الجدار الناري Firewall , هذا النظام تكمن وظيفته عندما يحدث أي تلاعب مع الجدار الناري خاصة .

ملاحظة هامة: في هذا الموضوع سنتعرض للمفاهيم اللتي تؤهلك للتعامل مع كل برامج IDS مهما كان إسمها فلا تعتقد –حفظك الله – أن المفاهيم مبنية على برنامج معين بل العكس تماما.

أهداف استخدام Intrusion Detection System

بحكم أن في وقتنا الحاضرقد ازداد عدد الاحتكاك بالإنترنت حيث أصبح الركن الأساسي في الاتصال بالعالم الخارجي و ايضا حاجة الشركات -بغض النظر عن حجمها- بالسماح للموظفين أو للعملاء أيضا بالدخول إلى الشبكة الداخلية للشركة أو حتى اتصال الشركة نفسها بفروعها في أماكن مختلفة , فأقد أصبح لزاما تحديد المناطق أو الأفراد الموثوق بهم Trusted zones و مع ذلك فإن الموضوع تعقد إلى أن المشكلة أصبحت ليست فقط تحديد النقاطة الموثوق بها فقط بل أيضا كيفية التأكد من هذه الجهة الموثوق بها أو بمعنى أخر كيف أحمي نفسي أيضا ممن أثق بهم!! , و في وقتنا هذا صاحب تقديم هذه الخدمة هو نظامنا في هذا الموضوع .

# هناك ثلاث مكونات يجب أن نضعهم في حسابنا عند تأمين الشبكات

1- الحماية الخارجية Prevention

2- الكشف/المراقبة Detection

3-الاستجابة/أخذ قرار Response

قديما في حماية المدن كان جل الاهتمام في ارتفاع الأسوار و قوتها من حيث السماكة و الأحجار المستخدمة في البناء حيث كانت القلاع لها أسوار تزيد ارتفاعها عن 20 مترا و يزيد عرض السور عن المتر ونصف إلى مترين و يستخدمون قطع من الأحجار الصخرية في البناء حيث كان الأصل في الهجوم هو محاولة التسلق أو قذف الأسوار بالمنجنيق وللأسف كانت القلاع من الداخل غير محمية نهائيا و تعج بالفوضى حيث كان الجنود أكثرهم على الأسوار, فماذا حدث؟ أصبح الأعداء يبحثون عن (ثغرة) في السور حيث كانت هذه الثغرات دائما موجوده و إن ظنوا أنها آمنه حيث توجد أبواب خلفية للأسوار أو حتى مصارف المياه أو مخازن الطعام أو حتى خيانة داخلية تتسبب في فتح هذه الثغرات , ومن هنا أصبحت القلاع أكثر تعقيدا و غموضا من الداخل و هذا ما حصل في بيئتنا الافتراضية اليوم .. حيث ظن الناس أن الجدران النارية لوحدها هي سر حماية الشبكة و لكن دوما/غالبا ما يكون هناك ثغرة و أيضا فإن الخطر من داخل الشبكة (الموثوق بها) لا يقل خطرا عن الشبكة الخارجية (الانترنت) ولهذا كان الاحتياج إلى ما يراقب الأحداث و الظواهر اللتي تحدث في الشبكة (منها و إليها) ألا و هو الــ IDS.

# هناك بعض المصطلحات الأساسية اللتي يجب أن نعرفها لكي نكمل حديثنا بوضوح في هذاالموضوع و اللتي سنعرضها بشكل مبدئ و سيتضح تعريفها أكثر عندما نستعملها لاحقا هذه القائمة قد تكون متجددة إن شاء الله إن احتجنا إلى ذلك .

Intrusion Detection: هو عملية كشف الدخول/الاقتحام الغير مسموح به لـ خدمات/أنشطة الشبكة و/أو معلومات النظام و الوصول إلى الموارد.

Misuse: هي طريقة تهذيب الوصول إلى الموارد داخل الشبكة بغض النظر عن نية أو هدف الوصول.

Misuse Detection: هي عملية كشف الدخول/الاقتحام الغير مسموح به (سوء الاستخدام) و اللتي لا تتمشى مع قواعد تهذيب الوصول (misuse) .

Anomaly Detection: هي عملية كشف النشاطات الغريبة في الشبكة الموثوق بها حيث تكون النشاطات شاذة عن طبيعة عمل الشبكة نفسها .

True-positive: هو الحدث/الاستجابة/ردة الفعل اللتي تحدث عندما ينطلق إنذار/تنبيه من الكاشف و يكون اقتحام حقيقي.

False-positive: هو الحدث/الاستجابة/ردة الفعل اللتي تحدث عندما ينطلق إنذار/تنبيه من الكاشف و لا يكون هناك اقتحام حقيقي.

True-negative: هو الحدث/الاستجابة/ردة الفعل اللتي تحدث عندما لا ينطلق إنذار/تنبيه من الكاشف و لا يكون هناك اقتحام حقيقي.

False-negative: هو الحدث/الاستجابة/ردة الفعل اللتي تحدث عندما لا ينطلق إنذار/تنبيه من الكاشف و يكون هناك اقتحام حقيقي.

ما هذا ؟! .. مازلت لم أفهم الـ True-positive , False-positive, True-negative,False-negative .

دعنى نوضح بمثال من حياتنا اليومية :

عندما يوقف الشرطي سائق السيارة في منطقة خطيرة و يطلب منه رخصة القيادة و إثبات الشخصية فإن أول ما يفعله السائق وضع يده في سترته تظاهرا بأنه يبحث عن الرخصة , فإن كان الشرطي تم تدريبه بشكل سليم فإنه سيقوم فورا بالصراخ على و إجباره على النزول و وضع يده على رأسه ثم يبدأ الشرطي بالبحث عن السلاح اللذي يخبئه السائق في سترته .

{لو وجد الشرطي سلاحا في سترة السائق فهذا يسمى True-positive , و إن لم يجد فيسمى False-positive}.

لنغير الحوار تغيرا طفيفا

لو اوقف الشرطي سائق السيارة في منطقة خطيرة و طلب منه رخصة القيادة فقام السائق بوضع يده في سترته تظاهرا بالبحث عن الرخصة و لم يتم تدريب الشرطي بشكل جيد فلن يقوم الشرطي بتوقيف السائق عن الحركة و إنزاله , {فإن أخرج السائق رخصة القيادة فعلا فإن هذا يسمى True-negative و إن أخرج سلاحا فإن هذا يسمى False-negative}.

إذن لنلخص الأمر كله بشكل ثالث

Positive / Negative: هما ردة فعل أو استجابة النظام بناء على قواعد/معرفة/قوانين يعرفها/لا يعرفها

True / False: هما المؤثرات اللتي جاءت و تعاملت هي مع النظام و اللتي يتم تحديدهما عن طريقة نتيجة ردة فعل النظام

توضيح رابع :

– لو كان هناك سوء ظن من النظام و كان ظنه في محله فهو True-positive و إن لم يكن سوء ظنه في محله فهو False-positive.

– لو كان هناك حسن ظن من النظام و كان ظنه في محله فهو False-negative -و هو ما نتمنى أن نعيشه فيه في حياتنا كلها- و إن لم يكن حسن ظنه في محله فهو True-negative.

هكذا أتيت لكم بكل الطرق اللتي ممكن أن أشرح بها هذه الجزئية

مكونات الـ IDS

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

# Recognition of patterns associated with know attacks: أي التعرف على أنماط و طرق الاختراق.

# Statistical analysis of abnormal traffic pattern: التحليل الأحصائي للأحداث الغير معتادة.

# Assessment and integrity checking of defined file: التقييم و التحقق من صحة الملفات المتداولة.

# Monitoring and analysis of user and system activity: مراقبة و تحليل أنشطة المستخدمين و النظام .

# Network traffic analysis: محلل حركة البيانات في الشبكة .

# Events log analysis: محلل لسجلات الأحداث.

# Command Console: و هو متواجد حيث تواجد نظام الـIDS فهو يقوم بالتحكم بمكونات و أدوات الـ IDS و هو اللذي يتلقى الإبلاغات/الإنذارات من الـ Sensors .

# Network Sensors: أي حساسات/جساسات هذه الترجمة الحرفية و أظنها قد تعبر قليلا عما سنتحدث عنه!

و هي برامج تعمل كـ Sensor على أجهزة في شبكة أو في أكثر من شبكة اللاتي في نفس البيئة/ المنظمة (Environment/organization) و تعرف أيضا باسم Agent حيث وظيفتها مساعدة الـ IDS الرئيسي في عمله في حين صعوبة مراقبته لشكبة ضخمة أو لأكثر من شبكة في آن واحد , وغالبا ما تعمل هذه ال sensors/agents في وضع Promiscuous mode . توضع الـ Sensors في الأماكن الحساسة .

عندما تحتوي الشبكة على Hub فإن وضع الSensors يكون سهل حيث يتم وضعها على أي Port في الHub و هو ما يسمى بالـ Tap -و اللذي شرحه أخي الكبير أبو محمد حفظه الله و سأضع هنا ما يخدم الموضوع الأساسي و لن أستطرد- أما بالنسبة للـ Switch فإننا يجب أن نستخدم السويتشات اللتي تدعم خاصية الـSPAN أو ما يسمى port mirror

ملاحظة: لمعلومات أكثر تعمقا في هذا الجزء فضلا زر هذا الموضوع للدكتور علي الشمري

How to Sniff/Monitor a Switched Network

الأهداف الحقيقية للـ IDS

تتلخص الأهداف في جزئين رئيسين

Response

Accountability

و سنتكلم عن كليهما بإيجاز ..

  • Response

و هي النتيجة النهائية لتحليل الIDS للأحداث و البيانات, حيث النتيجة النهائية هي نتيجة تنتج بناء على قواعد/وظائف تم إعدادها مسبقا , حيث القواعد/وظائف هي عبارة عن ماذا يجب أن يحدث(الإجراء) جراء أي حدث يحصل في الشبكة .

إذن الترتيب تصاعديا : #) قواعد/وظائف , #) النتيجة النهائية , #) التحليل.

و هناك جانب آخر هنا و هو الــ Trigger و هو وسيلة التنبيه عند حدوث إنذار و تتعدد طرق التنبه و منها (نافذة منبثقة(Popup, Email, Sound,Dynamic Web Page, أو جميعهم), و قد يصل الأمر إلى اتخاذ إجراء أولي – عن طريق الأوامر – يغير مجرى عمل الشبكة (غلق منافذ, غلق خدمات)

  • Accountability

و هنا جزء من أصعب استخدامات نظامنا , فهو يقوم بتعقب الأحداث اللذي يلتقطها ال Sensor فليست عملية التعقب محصورة على معرفة الجهاز اللذي يقوم بالهجمات أو الاختراق بل يقوم أيضا بتتبع مكانه الحقيقي/الفيزيائي و لو أمكن معرفة المستخدم اللذي يقوم بهذا الهجوم مع كشف أكبر عدد ممكن من المعلومات عنه.

The Intrusion Detection Process

الأن أحبتي ,, سنتعمق قليلا في طريقة المعالجة و أخذ القرار في الـ IDS . سنفرض سيناريو لكي نفهم الأمر ..

عندنا جهاز موصل بكارت شبكة Ethernet و يعمل كـ Sensor في حالة Promiscuous mode , و هناك عملية Sniffing للبيانات تحدث الأن في الشبكة.

لنفهم ما سيحدث الأن في نظام الـ IDS و كيف يتعامل مع هذه الحالة

ملاحظة: هذه الحالة تعتبر مثال ولا يفكر النظام في كل حالات بنفس الطريقة , لكن أريدك أن تستوعب طريقة التفكير/اتخاذ القرار

1-الـ Host أو جهاز موجود في الشبكة , هنا لا شئ سيُعرف إلا الـ PAK’s العادية اللتي أرسلها الجهاز في الشبكة.

2-الـ Sensor الموجود في الشبكة سيقرأ الـ PKT’s في نفس اللحظة

3-نظام الـIDS – الموجود في الـSensor – سيقارن الـPKT’s و حالتها بالـ Signatures الموجودة في قاعدة بيانات , فإن لم تتطابق معها فلن يفعل أي شئ , لكن إن تطابقت فإنه فورا يرسل إنذار/Alert إلى الـ Command Console لكي يقوم باتخاذ قرار مع هذه الهجمة من هذا النوع اللذي تم اكتشافه.

4-الـ Command Console : سيستلم الإنذار من الـ Sensor ثم يقوم بإرسال/إخبار الشخص المسؤل عن الشبكة بطرق الإنذار اللتي ذكرناها في تعريف الـ Response.

5-الـ Response تم إنشاءه بناء على نوع الـ Signatures اللذي تطابق مع نوع/حالة الـPKT’s اللتي أٌرسلت.

6-الـ Alert/الإنذار سوف يتم تسجيلة في ملفات Log داخل قاعدة بيانات.

7-الـ Summary Report/تقرير ملخص يتم إنشاءه مباشره يحتوي على ملخص تفاصيل هذا الحدث.

8-في نفس وقت إرسال التقرير يتم وضع هذا الإنذار في قائمة/قاعدة بيانات يعتبرها الـ IDS كخبرة يكتسبها و يستفيد منها في ما بعد عند التعامل مع نفس هذه الحالة لكي تكون استجابته أسرع من المرة الأولى.

طريقة التخطيط عند استخدام نظام كشف الاقتحام

بحكم أن الـ IDS يخدم الشبكات , فأصبح يحتاج إلى تخطيط قبل إنشاءه كما تحتاج الشبكات تماما, حيث نحتاج التخطيط السليم لكي نحصل على نتائج صحيحة للـ Response في الحالات الصحيحة, حيث يجب أن يهيأ لكي يكتشف الخطر في بداية حدوثه و أحتى عند توقع حدوثه و تحديد مكانه الصحيح.

و لنحلص على هذا !! يجب أن نحدد نشاطات/خدمات/تطبيقات/نوع البيانات المتداولة/طريقة البيانات المتداولة من و إلى الشبكة . كيف يكون هذا ؟ , حيث نقوم في خطتنا بتحديد الخدمات المقبولة acceptable و الخدمات الغير مقبولة unacceptable بناء على متطلبات شبكتنا , دعنا نوضح بالرسم الخدمات الموجوة أساسا في الشبكة و بعدها سنبين المقبول من الغير مقبول …

هكذا في الرسمة السابقة حددنا الخدمات/الموارد الموجودة في شبكتنا .

الأن يجب أن نعرف متطلبات الشبكة بشكل مبسط جدا..

يكون تحديد الخدمات المقبولة من الغير مقبولة مبني على اتفاقية الحماية (security policy) المحددة في المنظمة اللتي نعمل فيها و اللتي تتوافق مع متطلباتها.

و لنعرض اتفاقية الحماية المتفق عليها في مثالنا هذا لنعرف على أي أساس تم وضع الرسمة السابقة:

  • لا يسمح لأي مستخدم بالاتصال بجهاز آخر عن طريق الـ Telnet.
  • المستخدم يستطيع أن يدخل على الملفات المسموحة له فقط.
  • المستخدم يستطيع أن يستخدم الطابعة الموجودة في شبكته فقط.
  • المستخدم يستطيع أن يستخدم البرامج المصدق عليها و مسموح لها بالاستخدام فقط.

هيا لنرى كيف أصبح تصيميم الرسمة الأن!!

حسنا .. يجب أن نعرف أن الموضوع لم ينتهي إلى هنا , فهناك اعتبارات أخرى يجب أن توضع في الاعتبار , أيضا الاستثناءات حيث أنك كمدير للشبكة يجب أن تستخدم برامج أكثر تختص بإدارة الشبكة و مراقبتها و صلاحياتك تكون أكبر و أيضا يجب أن يكون مدير أو صاحب المنظمة اللتي تعمل بها يستطيع الوصول إلى ملفات لا يصل إليها أحد , أيضا لو وجد برنامج بعينه مهم للجميع وهكذا .

بجرد إنتهائنا من ال Rules سيتم إنشاء مجموعة من signatures و اللتي تتوافق مع طريق اختراق هذه الـ Rules لكي تكشف أي تلاعب أو سوء استخدام

تذكر: إن نظام IDS سيفعل فقط ما تطلبه و تحدده له.

و بناء على تحذيري السابق يجب أن نقول أن أي قواعد فيها إلتباس و عدم وضوح سيزيد من وقت معالجة الـIDS للحالة. و أعني في كلامي أنه لو كان هناك يجب أن يكون مسموح به و لم تحدد للنظام انه مقبول فإن النظام سيعرِّفة أنه غير مقبول , و بناء عليه سيكثر الإنذار من نوع false-positive , حيث سيتهلك منك كمدير شبكة الوقت و الجهد لاكتشاف و حل المشكلة و بناء عليه يجب عليك أن تفهم الـ Security policy جيدا ثم تضع الـ Rules بحذر و دقة. في نفس الوقتيجب أن تحذر من ال false-negative حينها سوف لن يحدث إنذار في حيث يجب أن يحدث إنذار , فيجب أن تضع نفسك في محل النظام و تفكر كيف ستأمن الشبكة من الداخل و الخارج.

Information Collection and analysis

في هذا الجزء سنتكلم عن أمر مهم لك كمراقب للشبكة بشكل فعلي , ألا و هو ما هي البيانات اللتي تريد أن تجمعها و تحللها ؟ , عندما تراقب الشبكة فإنك تحصل على معلومات كثيرة جدا لا تحتاجها (كمراقب بشري للشبكة) مثل مثلا headers of PKT’s و Number of headers , Sequence of frames, Flags contents , و الكثير الكثير من الأشياء الصعب حصرها في موضوع أو عدة مواضيع.

السؤال: ما هي طريقة تحديد ما أجمعه من معلومات ؟

الجواب: هي الإجابة على الأسئلة التالية ..

  • ما هي المعلومات اللتي تريد تراقبها ؟
  • ما هي المعلومات اللتي لن تحتاج لمراقبتها أبدا ؟
  • ما ذا سأستفيد من المعلومات اللتي أراقبها ؟
  • بمجرد أنني جمعت المعلومات المطلوبة , هل هي كافية/مفيدة ؟ أم لا ؟ أم معلومات عادية ؟
  • من المهم أن نشير إلى أنه يجب بعد جمع البيانات لتحليلها أن تكون في نطاق التالي :

– طريقة عرض البيانات سهلة القراءة

– مصنفة تصنيفا بنيا على طبيقة الـقواعد الموضوعة للنظام

  • يحبذ أن توضع في قوالب لتسهيل التصنيف , و قد وجد أن التصنيفات الأساسية اللتي يجب أن توجد هي : 1- Response , 2- Threats .
  • ذكر نوع الـ Signature للبيانات المجموعة.

Options Of Implementation

رائع !! , الأن لقد تأكد أنك تعرف أساسيات نظام الـ IDS و كيفية علمه. لنبدأ الأن في الـ Techniques اللتي نستطيع أن نعملها باستخدام نظامنا الحبيب . كعادتي سأعرض رسمة توضح كل شئ أولا ثم نبدأ بالتفصيل ..

مهم جدا (نصيحة أخوية): يجب بعد الفهم الجيد لكل نقطة على انفراد أن تقوم بمقارنتهم ببعضهم لكي تفهم الموضوع جملة و تفصيلا

Host-based IDS

هو الجهاز/الكمبيوتر/Host اللذي تصدر منه البيانات المراد مراقبتها و تحليلها و بالطبع يظهر من هذا التعريف أن هذا الجهاز سيعمل كـ مجس/Agent/Sensor في الشبكة . لنتطرق إلى فروعه…

Centralized Host-based IDS

حيث يأخذ هذا Sensor البيانات اللذي جمعها فيرسلها إلى command console لتحليلها . بحكم أن البيانات اللتي تم جمعها و إرسالها هي عن طريق جهاز فإنه ليس من المهم سرعة الأداء في هذه العملية و لن يتحقق التحليل و الاستجابة Detection& Response في الوقت الحقيقي/Real-Time.

في الخطوات التالية سنوضح كيفية تفكير هذه الطريقة .

1-الـ Sensor سيكتشف حدث قد حصل (مثال: فتح ملف , أو دخول مستخدم على النظام). الحدث سيكتب في سجل أحداث/events record مخزن في مكان آمن في الجهاز الـ Sensor .

2-سيتم إرسال الـسجلات لـ command console خلال الشبكة باستخدام اتصال مشفر.

3-الـ Command console سيستلم السجلات ثم يضعها في Detections Engine .

4-الـ Detections Engine سيحلل البيانات اللتي في السجلات لكي يعرف الـ Signature الخاص بها.

5-الـ Command console سيولد سجل/log لما عمله لكي توضع في أرشيف البيانات.

6-إذا تم اكتشاف اختراق , فإن الـ command console سيولد إنذار و من ثم تظهر طرق التنبيه و اللتي ذكرنها في الـ Response

7-المسؤول عن الشبكة سيرى التنبيه.

8-حسنا تمت الاستجابة على الإنذار, الـ response سيقوم باتخاذ الخطوات الوقائة اللتي تم إعداده عليه من مدير الشبكة لمثل هذا الحدث.

9-الإنذار و بياناته تم تسجيلهم أيضا في قاعدة بيانات آمنة.

10-أيضا الإنذار و بياناته تم إرسالها إلى الأرشيف.

11-الـ console سيقوم بتوليد ملخص لنشاطات الإنذارات الحاصلة.

12-الـ Long-term analysis وهو تحليل يستخدم لاستكشاف هل هذا الحدث ممكن أن يكون جزء من اختراق أو خطر كبير لاحقا ؟

و هذه الرسمة للخطوات السابقة تتبعها مع الخطوات السابقة خطوة خطوة

Distributed Host-based IDS

الفرق الحقيقي بين الـ Distributed و ال Centralized هو مكان الـ Detection Engine و تحليل البيانات . حيث هنا اللذي يقوم بالتحليل البيانات هو الـ Sensor/Agent بنفسه.

ميزته هذا النظام أنه يمكنه تحليل البيانات اكشتاف الأخطار في الوقت الحقيقي/Real-Time.

عيبه هو أن كل sensor ستختلف خبرته و كفائته عن الأخر وسيحتاج إلى معالجة أكبر مما قد يجبرنا أن نخصص له جهاز لوحده و سيتم الاعتماد عليه بشكل كلي في تغطية منطقته ,, فماذا لو تعطل ؟!.

هيا لنرى كيف تعمل هذه الطريقة .

1-الـ host يكتشف حدث قد حصل .

2-سيقوم بمعالجته في الوقت الحقيقي/ real-time داخل الـ detection engine, ثم يحلله لكي يعرف الـ Signature الخاص بالحدث.

3-لو كان هذا الحدث يعتبر إختراق, سيصدر تنبيه للمدير بإحدى الطرق اللتي عرفناها.

4-الاستجابة/response تم إنشاؤها , (في هذه الطريقة قد تكون الاستجابة من sensor أو من command console).

5-الإنذار/ Alert قد تم إطلاقة في الوقت الحقيقي و تم إرساله للـ Command console

6-الـ Long-term analysis وهو تحيليل يستخدم لاستكشاف هل هذا الحدث ممكن أن يكون جزء من اختراق أو خطر كبير لاحقا ؟ (هذه التحليل يحتوي على معلومات الإنذار فقط ,إذن هذه الخطوة تحتوي على معلومات محدودة ).

Network-based IDS

قد توحي إليك طرق الـ Host-based IDS في الوهلة الاولى أنها أفضل الخطط لنظامنا لكن فعليا لا يوجد شئ اسمه أفضل طريقة بوجه عام بل نحن نختار الطريقة بناء على متطالباتنا و احتياجنا و خططنا في حماية الشبكة. إذن ظهر سؤال هنا

السؤال: متى نستخدم الـ Network-based IDS ؟

الجواب: عندما تحتاج إلى ان تراقب و تحلل جميع الـ PKT’s الموجودة في شبكتك دون استثناء.

حيث تراقب هذه الطريقة أي شئ يمر في أسلاك الشبكة , تكون هذه الطريقة عن طريق أجهزة الشبكات مثل (Hub, Switch, Router).

إن جوهر الاختلاف بين الطريقتين Network-based و Host-based هو مكان وجود الـsensor/agent .

في Host-based يكون مكان ال agent موجود مباشرة على جهاز كمبيوتر/host

في Network-based يكون ال agent في مكان يستطيع أن يراقب الاتصال الخارجي للشبكة (external traffic) , أو الاختراقات القادمة من خارج الشبكة المحلية أو في أي مكان لا تستطيع طريقة Host-based التقاط الـ PKT’s فيها مثل هجمات الـ DoS , و هناك مثال آخر و هو عمليات الدخول الطبيعية فلو تسلل المخترق إلى الشبكة فإن اول شئ سيحاول فعله هو الدخول إلى جهاز له اهمية فلو استطاع الدخول بشكل طبيعي بدون brute force فلن يظهر ذلك لأي Host يعمل بطريقة ال host-based هذا كما قلنا في حالة ان المخترق دخل للنظام بشكل طبيعي .

كما وضحنا سابقا تفريعات الطرق فإننا الأن سنستطرد قليلا في هذه الأقسام

Traditional Network-based IDS

الطريقة التقليدية تستخدم أجهزة كـ sensors في الشبكة كل جهاز يحتوي على كارت شبكة يعمل في Promiscuous mode , يتم وضع الـمجسات في أماكن حساسة في الشبكة تحتاج للمراقبة, هيا لنرى طريقة التنفيذ هنا ..

1-الـ PKT’s تم إرسالها من جهاز لآخر في الشبكة أو من الإنترنت إلى الجدار الناري اللذي يحمي الشبكة لكي تتوجه تلك الحزمة إلى جهاز من داخل الشبكة .

2-الـ PKT’s تم التقاطها في و التعرف عليها من قبل ال Sensor في الوقت الحقيقي و اللتي عامة تكون بين الطرفين المرسل و المستقبل .

3-الـPKT’s تمت معالجتها في الـ detection engine في الوقت الحقيقي ثم بعدها يقوم بتحليلها لكي يتعرف على توقيهعا/signature .

4-إذا توقعها توافق مع التواقيع المعرّفة , فإن الإنذار ينطلق و يتم إرساله إلى ال command console .

5-مدير الشبكة سيتلقى الرسالة/التنبيه الأن.

6-الإستجابة للإنذار تم إنشاؤها, و يتم تحديدها مسبقا من مدير الشبكة أو المسؤل عن حمايتها.

7-الإنذار تمت أرشفته , و تم عمل ملخص/report لهذا الحدث.

8-ثم يقوم بإرساله إلى الـ Long-term analysis (سبق تعريفه).

انظر الرسم

Distributed Network-based IDS

على الرغم من أن التصميم التقليدي السابقى يلتقط الـ PKT’s إلا أنه عرضة لفقدها . في التصميم/التكنيك الـموزع/ Distributed فإنه يضع الـSensors في كل اجهزة الشبكة, و تتخاطب الـSensors و تداول المعلومات مع بعضها البعض للإخبار بالأحداث و الاختراقات, و ستم استخدام الـ command consol كمركز لإنتاج القرارات و الإنذارات.

# من المؤكد الأن ان هناك التباس واضح بين Distributed Network-based و Distributed Host-based !!

إذن السؤال: ما هو الفرق بين Distributed Network-based و Distributed Host-based ؟

الجواب: لكي تفهم الجواب يجب ان تنتبه إلى (مكـان وجود الـ Sensors/Agents) حوث هو من سيحدد النوع اللذي تريده , إليك التالي ..

إذا كان الـ IDS يعمل على كل جهاز في الشبكة و يقوم بتحليل أحداث نظام التشغيل اللذي يعمل عليه , إذن فهو Host-based.

إذا كان الـIDS يعمل على كل جهاز في الشبكة ويقوم بتحليل كل الأحداث اللتي يلتقطها من كارت الشبكة سواء كانت تخص نظام التشغيل اللذي يعمل عليه أم لا , إذن فهم Network-based.

لهذا عند شرائك/استخدامك للنظام يجب ان تعرف ماذا تريد بالضبط .

إليك طريقة تنفيذ هذا التكنيك/التصميم…

1-الـ PKT’s تم إرسالها من جهاز لآخر في الشبكة أو من الإنترنت إلى الجدار الناري اللذي يحمي الشبكة لكي تتوجه تلك الحزمة إلى جهاز من داخل الشبكة.

2-الـ PKT’s تم التقاطها في الوقت الحقيقي عن طريق الـ Sensor بشكل منفرد(منفرد = لا يشترط أن تكون الـsensor بين المرس و المستقبل).

3-الـPKT’s تمت معالجتها في الـ detection engine في الوقت الحقيقي ثم بعدها يقوم بتحليلها لكي يتعرف على توقيهعا/signature .

4-إذا توقعها توافق مع التواقيع المعرّفة , فإن الإنذار ينطلق و يتم إرساله إلى ال command console .

5-مدير الشبكة سيتلقى الرسالة/التنبيه الأن.

6-الإستجابة للإنذار تم إنشاؤها, و يتم تحديدها مسبقا من مدير الشبكة أو المسؤل عن حمايتها.

7-الإنذار تمت أرشفته , و تم عمل ملخص/report لهذا الحدث.

8-ثم يقوم بإرساله إلى الـ Long-term analysis (سبق تعريفه).

انظر الرسم.

The Analysis

الأن تأكدنا أننا عرفنا طرق تصميم الـ IDS , حيث هناك نقطة واحدة تجمعهم كلهم ألا وهي موضعنا الأن (التحليل).

السؤال: متى نحلل البيانات ؟

الجواب: بعد وضع الـ Sensor/Agent في مكان , فإن وقت تحليل البيانات هو اللذي يجب أن يحدد بدقة , حيث وقت التحليل هو اللذي سيحدد قوة و ضعف نتائج تحليل البيانات.

و سنذكر بعض طرق التحليل بناء على الحالة.

Interval Analysis

هذه الطريقة تستخدم لتحليل نظام التشغيل اللذي يعمل عليه الـ IDS بمعنى أخر Host-based حيث يتابع السجلات لكي يلتقط الأحداث, حيث يقوم الـ IDS بتحليلها البيانات و يتعرف على الـ signatures الخاصة بمحاولات الاختراق .

متى نستخدم هذه الطريقة ؟

تستخدم في المنظمات/الشبكات اللتي تعرف أن مستوى التهديد الكامن فيها يكون مستواه منخفض, كاللتي تحتوي على خوادم محمية بشكل جيد و اللتي تحتوي على معلومات هامة لهذه المنظمة.

المميزات

لن يحدث تحليل البيانات عبئ و زيادة تحميل على الخادم نفسه , ولا تحتاج هذه الطريقة إلى شخص يرقبها على مدار الوقت.

العيوب

الحدث لن يتم تسجيله إلا عندما يتسبب في مشكلة واضحة أو خطيرة جدا

الـhost الذي يعمل التحليل إذا لم يحتوي على مساحة تخزينية كافية فإنه سيتسبب في حدوث مشكلة عدم تسجيل الأحداث لتحليلها.

Real-time Analysis

كبديل لنظام الـ Interval فإنه يقوم بجمع و تحليل البيانات باستمرار و الاستجابة بطرقها اللتي ذكرناها أيضا و لكن في real-time.

مميزاته

عندما يكون الـ response في الوقت الحقيقي فإنه تتيح لمدير الشبكة و المسؤل عن حمايتها بأن يتخذ إجراته الوقائية اللازم في الوقت المناسب قبل اكتمال الاختراق

الـ host يرسل الاستجابة بشكل سريع لانه لا ينتظر ليتم تحليل الأحداث ليرى ما الجزء اللذي تم اختراقه, بل يقوم بالإبلاغ مباشرة عن محاولة الاختراق نفسها.

عيوبه

بحكم أنه يقوم بالتقاط و تحليل جميع الأحداث فإن ذلك يسبب استهلاك للمعالج و الذاكر بشكل اكبر

Signature Analysis

نعرف الـSignature على أنه تعريف حدث على أنه نوع من أنواع الاختراق.

هذا التوقيع قد يكون تعريفا لحدث بسيط مثل (ICMP flood request , محاول الدخول للنظام 3 محاولات فاشلة) , و قد يكون لحدث معقد.

إذن سنعرف تحليل التوقيع/Signature analysis على انه عملية معالجة المخاطر اللتي تحصل في الشبكة بناء على معرفة التواقيع تلك المخاطر.

Statistical Analysis

هذا التحليل وظيفته الأساسية عمل الإحصاءات على سلوك الشبكة/النظام في حالتها الطبيعية بشكل عام, حيث بعدها يستطيع الـ IDS أن يستشعر أي سلوك غريب خارج عن إحصائياته اللتي تم جمعها في حالة الشبكة /النظام الطبيعية. و مثال على هذا أنه يقوم بعمل إحصائيات على عدد عمليات الدخول على النظام أو وقتها الطبيعي , او مثلا يقوم بحساب الـBandwidth المستهلك للشبكة في حالتها الطبيعية , ثم يقوم بعمل تسجيل إحصائياته و مقارنتها بحالة الشبكة عند حدوث أي تغيير.

هذا كان تفصيلا ملخصا عن هذا النظام الرائع.

تحياتي و احترامي

نبذة عن الكاتب

المهندس صبري صالح. مهندس حماية شبكات و أنظمة و فحصها معالجة و تحليل الأحداث الأمنية و المسؤول عن تطبيق معايير الـ ISO 27001 , يعمل في بيئات متعددة المنصات. حاصل على عدة شهادات تقنية.

التعليقات:

أضف تعليقاً | عدد التعليقات: (7)

  1. dacnes قال:

    الموضوع ممتاز , لكن طوله جعله ممل

    اتمنى في الأجزاء القادمة زيادة التقسيم , حتى ناخذها حبه حبه

    شكرا مهندس صبري

  2. خالد قال:

    مبدع استاذي

    شكرا على المقال الرائع

  3. بركات قال:

    مقال رائع جزاك الله خير أخي صبري. بصراحة من يريد أن يستخدم نظام كهذا, يحتاج أن يفكر مرتين ويسأل نفسه إن كان فعلاً يحتاجه أم لا. مما ذكر فإن هذه الأنظمة ليست ذكية بل تعتمد على أنماط وبصمات هجمات مسجله مسبقاً “قائمة سوداء” وتحتاج لتغذية قاعدة بيانات البصمات بشكل مستمر. يعني أنها لن تستطيع تمييز الهجمة إذا إختلف بايت واحد عن التوقيع ,كما يحدث مع مكافحات الفيروسات, وسينجح المهاجم إن كان حذر أو يعلم بوجوده.

    أيضاً فكرة التنبيش في كل وادة وشاردة, تقلل من إستفادة الناس العاديين منه لما يحتاجه أبسط إستخدام من مُعدات, تشغيل sniffer فقط يستهلك الكثير من موارد الجهاز.قرأت بعض القوانين التي يكتب لـsnort, كثير من المهمات التي يقوم بها يمكن أن يقوم بها الجدار الناري أفضل منه , من ضمنها ردت الفعل, أن إستفيدت من قدرة الجُدر النارية المتطورة مثل iptables على تسجيل الأحداث loging.

    أيضاً ﻻ يستفاد من ميزته الاساسية إذا كانت الإتصالات مشفرة فإما أن يُفك التشفير قبله والا تمر إتصالات مشفرة لن يفهمها وﻻ معنى من وجودة. هذا سيجعل المجس خطر ويفتح نقطة ضعف. المجس سيكون على حاسوب ومعرض لجميع الأخطار التي يتعرض لها أي حاسوب. فنفسه يحتاج للتحديث والحماية والا ستكون مشكلة إذا تمّ إستهدافه لأن الشبكة ستصبح مكشوفة تماماً أمام المهاجم. قد ﻻيستفيد المهاجم إن إختراق الجهاز “س” بقدر ماسيستفيد إن إخترق المجس فستصبح لديه عين على كامل الشبكة التي يراقبها.

  4. شكراً علي هذا المقال الرائع والمفصل اخي صبري، ننتظر الجزء الثاني علي احر من الجمر.

  5. جزاك الله خيراً علي الشرح الوافي والتفصيل – الشرح أفادني بشدة وأعطاني من المعلومات مالم أكن أعلمه من قبل…
    جزاك الله خيرا ووفقك في حياتك وسدد خطاك

  6. oussama قال:

    مشكور اخي بارك الله فيك

  7. adelnet10 قال:

    السلام عليكم

    مقال رائع بس يا حبذا لو يكون على شكل كتيب ويتم تنزيلة ليكن مرجع لنا

    والله يعطيك العافية

أكتب تعليق