حالة الموضوع:
مغلق
  1. .:: RSS ::.

    .:: RSS ::. عضوية آلية

    الأنتساب:
    ‏9 سبتمبر 2011
    المشاركات:
    14,005
    الإعجابات المتلقاة:
    0
    نقاط الجائزة:
    36
    الإقامة:
    IQ-T34M
    بسم الله الرحمن الرحيم

    ماهو هجوم حجب الخدمة ( Denial Of service - DOS ) ؟

    السيرفرات فيها برنامج اسمه الـ Web Server وهو المسؤول عن خدمة الزوّار بواسطة بروتوكول
    http عبر المنفذ 80 ، فانت لما تفتح موقعنا مثلاً www.ehcommunity.com
    فـ جهازك ينشئ إتّصال مع سيرفرنا على المنفذ 80 ، يقوم برنامج الـ Web Server
    على سيرفرنا باستقبال الاتصال والرد عليه وارسال صفحة الانترنت اللي تراها امامك الآن
    إذاً ، البرنامج هذا راح يستهلك جزء من المعالج والذاكرة عشان يرد على اتصالك
    وبالتالي فـ كلّما زاد عدد الزوّار اللي راح يخدمهم البرنامج في نفس اللحظة ، راح تحتاج
    الى ذاكرة ومعالج أقوى ( سيرفر بمواصفات أعلى )
    لنفرض مثلاً ان سيرفرك ، يقدر يخدم ألف زائر في نفس الثانية ، وممكن يخدم عدد غير محدود من الزوار اذا كان فيه فرق بين كل ضغطة وضغطة ما يقارب الثانية أو جزء من الثانية
    لأن اذا جاه الطلب من الزائر الاول فـ راح يخلّص كل شي في جزء الثانية هذاك ثم يفرّغ الذاكرة
    ويجيه الطلب الثاني وهكذا ... بالتالي ما راح يستهلك شي من السيرفر
    إذاً ، فالمشكلة ، هي ان تكون جميع الطلبات في نفس اللحظة والجزء من الثانية !
    كيف ممكن شخص بجهاز كمبيوتر واحد يأثّر على سيرفرك ؟
    تخيّل أن هناك شخص قام ببرمجة برنامج بسيط يطلب صفحة من موقعنا مئات المرّات وقد تصل الى آلاف المرّات اذا الجهاز سريع وفي نفس الثانية .. الويب سيرفر هنا .. راح ينشغل بتكوين اتصال
    مع كل صفحة تفتح بدون ما يرسل الصفحة .. وتتم العمليّة كذا ينشئ اتصال مع كل واحد ويقول للسابق انتظر لين اخلّص كل الاتصال بعدين ارسل لكل واحد طلبه.. لين ماحد يوصله شي بسبب استهلاك الذاكرة الكبير والمعالج من البرنامج راح يطفي البرنامج (Crash) وممكن السيرفر كامل يطفي..
    وتجيك رسالة Out of service ( خارج الخدمة ) 500
    وكذا يكون المهاجم بنجاح وقّف موقعك عن العمل.

    الحل لمثل هذا الهجوم بسيط : برنامج ، يسمح لكل اتصال بعدد طلبات معيّن في نفس الدقيقة
    مثلاً الاتصال الواحد المفترض انه ما يطلب فتح أكثر من 200 صفحة في دقيقة واحدة
    إذا تحقّق الشرط هذا ، سوّي Block للايبي وكذا ما راح يكوّن معاه برنامجك اي اتصال بعد كذا
    وكذا يكون الهجوم ماله أي تأثير ، وفيه عدّة برامج تقوم بمثل هذي العملية بالنسبة لأنظمة لينوكس
    مثل CSF و DDOS Fighter :
    http://vb.ehcommunity.com/showthread.php?t=70612

    يوجد هجوم آخر ، يسمّى بحجب الخدمة الموزّع ( Destributed Denial Of Service - DDOS )
    هو هجوم فكرته نفس فكرة الهجوم السابق تماماً ، إلا أن الفرق هنا ، هو ان الهجوم موزّع ..
    بمعنى آخر ، بدل ما يكون كمبيوتر واحد اللي ينشئ ألف اتصال مع سيرفرك في نفس الثانية
    يصير فيه ألفين أو 5000 كمبيوتر يسووّا نفس الحركة
    بالتالي كميّة اتصالات ضخمة جداً راح تتكوّن مع سيرفرك وهنا يُشل السيرفر كامل لأحد ثلاث أسباب
    السبب الأوّل ، هو بسبب استهلاك الـ WebServer لكامل موارد السيرفر وسقوطه.
    السبب الثاني ، اذا كان فيه برنامج حماية على سيرفرك لحجب الايبيهات اللي تتصل مع سيرفرك
    اكثر من 100 اتصال في الدقيقة مثلاً ، فـ برنامج الحماية نفسه راح يحجب مثلاً ألفين عنوان ..
    هنا أي زائر راح يتّصل بسيرفرك ، برنامج الحماية لازم يقارن عنوانه مع كل العناوين
    المحجوبة لديه ، حتى يتأكّد ان عنوانك غير محجوب ثم يسمح لك بتمرير الاتصال
    فقط عشان تشوف صفحة واحدة ، فـ تخيّل عندك 100 زائر ، وكل واحد يفتح كل 5 دقايق
    10 صفحات ، برنامج الحماية راح يتسبّب في استهلاك السيرفر بسبب المقارنات وبالتالي نفس النتيجة
    السبب الثالث : بعض الهجوم الموزّع ، يجي بفكرة مميّزة لتخطّي الحماية
    وهي تحديد عدد الاتصالات لكل جهاز من الأجهزة المهاجمة بحيث كل واحد فيهم يسوّي مثلاً 40 اتصال
    وبكذا يتخطّى برنامج الحماية حقّك ، اللي انت ضابطه على 100 إتّصال ..
    ثم اضرب 40 اتصال * عدد الأجهزة المهاجم = مجموع الاتصالات في الثانية
    وبالتالي يتخطّى الحماية ويسقط سيرفرك.

    إذاً فـ على الجانب المادّي للسيرفر فمهما تزيد مواصفات سيرفرك ، ما راح تقدر تكوّن جهاز
    يخدم 10 آلاف جهاز كمبيوتر في نفس الثانية وكل واحد فيهم يطلب 100 صفحة أو اكثر ..
    وعلى الجانب البرمجي ، حتى الان مافي حل منطقي لبرنامج ممكن يحل الهجوم هذا
    لأن حتى اذا مسكت عناوين الأجهزة اللي تسوّي الهجوم وحجبتها ، راح تدخل بمشكلة ثانية
    وهي حلقات التكرار حق المقارنات للزوّار وبالتالي لنفس النتيجة !

    إذاً فـ كلّما زاد حجم الهجوم ، لابد تملك أجهزة اكثر لفلترة الشبكة والتوزيع بينها ..
    أي أنّك عشان توقف هجوم ضخم جداً بحجم 65 جيجا بت راح تحتاج 20 مركز بيانات ( DataCenters ) عشان توزّع الهجوم عليهم وتحط في كل مركز راوترات وأجهزة متخصّصه
    بفلترة وتحليل الاتصالات قبل ما توصّلها بسيرفرك !

    فـ هل تستطيع امتلاك 20 مركز بيانات فقط من اجل سيرفرك ؟

    هنا ظهر لنا مشروع بفكرة جميلة جداً وهو الـ CloudFlare.com ..

    فكرة المشروع هذا ، تقوم على التالي :
    الـ CloudFlare ، تملك Colocations أي اجزاء من مراكز بيانات مختلفة موجودة
    وموزّعة في مناطق مختلفة من العالم ، بعضها دعم من مراكز البيانات نفسها (مجّانيّة) .

    فـ هم يقدّموا لك خدمة كـ صاحب موقع ، بأنّك توجّه DNS موقعك الى سيرفراتهم
    بمعنى اخر أي زائر يفتح صفحة من موقعك ، الطلب راح يروح لسيرفراتهم
    واللي راح تحلل الاتصال واذا كان فيه هجوم توزّعه على المراكز البيانات المختلفة لديها
    حتى تعدمه نهائياً ، والاتصال السليم تمرّره الى سيرفرك ، وبكذا تحل مشكلة الهجوم ..


    نعود للنقطة الأساسية في موضوعنا وهي : كيف تنشئ هجوم حجب خدمة موزّع بحجم 65 جيجا بت وهو هجوم ضخم جداً قادر على إيقاف اكبر المواقع اذا لم يتوفّر على الأقل مركز بيانات متكامل
    لصد الهجوم بعدد كبير من الأجهزة والعتاد ؟!

    كما تحدّثنا مسبقاً ، فـ هجوم الـ DDOS ، يأتي من عدّة أجهزة ، فـ كيف يقدر الشخص يجمع 7000
    جهاز ويهاجم موقع واحد بواسطتهم كلهم ؟
    هنا يلجئ الهكر لاستخدام (Virus) يتم نشره على الانترنت بالمواقع الاجتماعية او على الارسال العشوائي للايميلات (Spam) ، ومن مميزات هذا الفايروس قدرته على الانتشار الذاتي
    بمعنى اخر .. اذا دخل في كمبيوتر على شبكة ، ينسخ نفسه في مجلدات المشاركة حتى تصاب فيه
    بقيّة الأجهزة على الشبكة ، وأي شخص يفتح ايميله من الكمبيوتر ، الفايروس يدخل ويرسل نفسه
    في رسالة لجميع الموجودين على قائمتك وكأنك انت اللي ارسلتها ... وهكذا يبدأ بالانتشار تلقائياً ..
    هذا النوع من الفيروسات .. يسمّى (BotNet) ، بعد ما تصيب عدد كبير من الأجهزة
    تقدر تخلّيها كلها تتصل بموقع معيّن وتفتح فيه مئات الصفحات ، وكذا تكون كوّنت هجوم
    ضخم من عدد كبير من الأجهزة وكلّما زادت الأجهزة المصابة ، زادت معها قوّة الهجوم.

    إذاً فـ هجوم بحجم 65 جيجا بت .. قد يحتاج على الأقل الى 300 ألف جهاز مخترق
    باعتبار ان الأجهزة بعضها سرعة الانترنت فيها أقل من 1 ميجا ، وبعضها ضعيفة الاتصال
    أما اذا كانت الأجهزة بسرعة انترنت عالية 1 ميجا وما فوق ، فـ راح تحتاج الى 70 ألف ضحيّة
    تقريباً لتكوين هجوم بهذي الضخامة .

    توجد طريقة أخرى أيضاً انذكرت في مدوّنة الـ CloudFlare ، بمقالة عنوانها مثل عنوان مقالتي هذي
    وهي تضخيم الهجوم .. عن طريق استخدام الـ Open DNS Resolvers ..
    وتسمّى الطريقة هذي بـ DNS reflection

    ايش الـ Open DNS Resolvers ؟

    عشان نشرح فكرة الهجوم هذا ، لابد أولاً نشرح كيف يعمل نظام الـ DNS بدقّة أكبر
    انت الان اذا طلبت خط انترنت DSL أو أي نوع كان من مزوّد معيّن (ISP) مثلاً الاتصالات السعودية
    فـ هم راح يوصّلوك بالانترنت ، وراح أيضاً يوصلوك بسيرفر من سيرفراتهم اسمه DNS Resolver
    مالفائدة منه ؟
    كما تعلم ، فـ انت لما تكتب في متصفّحك v99x.com وتضغط انتر ، فـ جهازك ما يعرف عنوان ايبي السيرفر اللي بيتّصل فيه ، لذلك راح يرسل رسالة للـ DNS Resolver التابع لمزوّد الخدمة
    اللي موفّر لك الاتصال ، محتواها ( ماهو عنوان ايبي v99x.com ؟ )
    ثم راح يرد الـ DNS Resolver ، بعد ما يبحث بالاتصال بعدد من سيرفرات الـ DNS الأخرى
    برسالة تحتوي على عنوان ايبي v99x.com وعدد من البيانات الأخرى اللي تخص الموقع

    جميل ... سيرفر الـ DNS غالباً يكون منصّب ومعد على انّه يخدم ويرد على الرسائل اللي تجيه
    فقط من عملاء الشركة نفسها ، لكن للأسف فيه عدد كبير من الشركات اللي تزوّد خدمة الانترنت
    ماهي منصّبه سيرفراتها بشكل صحيح ، ومخلّين الـ DNS Resolvers OPEN
    يعني أي جهاز من أي مكان في العالم يرسل له رسالة يسأله عن عنوان DNS معيّن
    راح يجاوبه .. بغض النظر كان عميل لدى الشركة أم لا .. وهنا الخطأ اللي راح يستغلّه الهكر ..
    اللي راح يسوّيه الهكر ، انّه يرسل طلبات متعدّدة وضخمة لسيرفر الـ DNS Resolver
    يطلب منه بيانات كاملة عن عنوان معيّن لنفرض google.com .. لكن في حزم البيانات
    اللي يرسلها الهكر ، بدل عنوان ايبي جهازه الحقيقي اللي المفروض الرد يوصل عليه
    يحط عنوان ايبي الموقع اللي يبغى يسوّي عليه الهجوم ، بالتالي الـ DNS Resolver
    راح يرسل حزم بيانات كـ رد للطلبات اللي جاته ، لكن بيرسلها للسيرفر المستهدف رغم انه ما طلبها
    وهنا لأن السيرفرات الموجودة بشركات الاتصالات تكون بمواصفات قويّة جداً ( Super Computers ) وخط انترنت عالي جداً .. فـ كل جهاز فيهم راح يسبّب هجوم ضخم جداً
    على السيرفر .. فـ تخيل عدد كبير من هذي السيرفرات يهاجم سيرفرك أبو 4 جيجا رام
    ومعالج رباعي النواة .... راح ينتهي تماماً !


    هذا والله أعلم ...

     
حالة الموضوع:
مغلق

مشاركة هذه الصفحة