اشنایی با حملات تکذیب سرویس - نسخه قابل چاپ +- Parsi Coders (http://parsicoders.com) +-- انجمن: Security and influence (http://parsicoders.com/forumdisplay.php?fid=59) +--- انجمن: Influence (http://parsicoders.com/forumdisplay.php?fid=61) +---- انجمن: LEARNING HACKING (http://parsicoders.com/forumdisplay.php?fid=125) +---- موضوع: اشنایی با حملات تکذیب سرویس (/showthread.php?tid=2760) |
اشنایی با حملات تکذیب سرویس - Amin_Mansouri - 09-09-2012 حملاتي با هدف عدم سرويس دهي دريک حمله با هدف عدم سرويس دهي،يک هکر تلاش مي کند تا کاربران مجاز را از دسترسي به اطلاعات يا سرويس ها باز دارد.با هدف قرار دادن کامپيوتر و اتصال شبکه شما، يا کامپيوترها و شبکه اي از سايت ها که سعي در استفاده از آنها را داريد، يک هکر ممکن است قادر به ممانعت شما از دسترسي به ايميل، وب سايت ها، حساب هاي آنلاين( بانکي) يا ساير سرويس هايي که احتمالاً به آنها متکي هستيد، باشد. هدف،شکل و تأثير يک حمله Denial-of-Service با اکثر حملاتي که بر عليه شبکه ها و کامپيوترها صورت مي گيرند، تفاوت دارد.اکثر مهاجميني که در جرائم الکترونيکي( Cybercrime) شرکت دارند، به دنبال نفوذ به درون يک سيستم، استخراج اسرارآن و يا فريب دادن آن به منظور ارائه سرويسي است که آنها مجاز به استفاده از آن نيستند. مهاجمين عموماً تلاش مي کنند تا شماره هاي کارتهاي اعتباري و يا اطلاعات اختصاصي را سرقت کرده،کنترل ماشينهاي ديگر را براي نصب نرم افزارها و يا ذخيره داده هاي خودشان بدست آورند، ظاهر صفحات وب را به هم بريزند و يا محتويات مهم موجود بر روي ماشينهاي قرباني را تغيير دهند. غالباً ماشينهاي تسليم شده توسط مهاجمين بعنوان منابعي ارزيابي مي شوند که مي توانند هرمقصودي که در حال حاضر براي آنها اهميت دارد را برآورده سازند. در حملات DoS، نفوذ به تعداد زيادي از کامپيوترها و بدست آوردن کنترل بدخواهانه آنها،صرفاً اولين گام است. سپس مهاجم به اجراي خود حمله DoS مي پردازد که هدف متفاوتي دارد: ممانعت از سرويس دهي شبکه ها و يا کامپيوترهاي قرباني، به کاربران قانوني آنها. هيچ اطلاعاتي سرقت نمي شود،هيچ چيزي بر روي ماشينهاي قرباني تغييرنمي کند و هيچ دسترسي غيرمجازي روي نمي دهد. قرباني صرفاً ارائه سرويس به مشتريان معمولي خود را متوقف مي نمايد زيرا از قبل به اداره ترافيک حمله،مشغول شده است. در حاليکه هيچ دسترسي غيرمجازي به قرباني حمله DoS صورت نمي گيرد، تعداد زيادي از ميزبانهاي ديگرتوسط مهاجم به زانو درآورده و کنترل مي گردند تا از آنها بعنوان سلاح تهاجمي حمله فوق استفاده مي شود. دراکثر موارد، اينکار براساس تعريف قانوني آن يک « دسترسي غيرمجاز» است. در حاليکه ممکن است تأثير انکار سرويس بر روي قرباني تا حدودي بي خطر به نظر برسد( خصوصاً وقتي اين موضوع را در نظر بگيريد که اين وضعيت تنها تا زماني ادامه دارد که حمله فعال است)، اما اين وضعيت مي تواند براي بسياري از کاربران شبکه، ويران کننده باشد. استفاده از سرويسهاي اينترنتي به يکي از بخشهاي مهم از زندگي روزمره ما تبديل شده است. اينترنت به طور روزافزوني براي هدايت امور تجاري و حتي در مواردي براي تأمين سرويسهاي حياتي، مورد استفاده قرار مي گيرد. در زير به تعدادي از اثرات مخرب حملات DoS اشاره مي کنيم: - سايتهائي که از طريق سفارشات Online خدماتي را به کاربران خود ارائه مي کنند، تنها زماني درآمد کسب خواهند نمود که کاربران بتوانند به اين خدمات و سرويسها دسترسي داشته باشند. براي مثال،اگرمشتريان يک سايت بزرگ فروش کتاب نتوانند صفحات وب اين سايت را مرور کرده و محصولات مورد نظر خود را بصورت Online سفارش دهند، سايت مورد نظر نمي تواند کتابي را به مشتريان خود بفروشد. يک حمله DoS بر عليه چنين سايتي، مي تواند به معناي خسارت هنگفتي به درآمدهاي آن تا زمان پايان حمله باشد. حملات طولاني و يا مکرر نيز مي توانند آسيبهاي بلندمدتي را به اعتبار يک سايت وارد نمايند،زيرا مشترياني که نمي توانند به سرويسهاي مورد نظر خود دسترسي پيدا کنند، جذب سايتهاي رقيب خواهند شد. سايتهائي که اعتبار خود را از دست داده اند، به احتمال قوي در آينده براي جذب مشتريان و يا سرمايه گذاران جديد، با مشکل مواجه خواهند شد. - موتورهاي جستجو و سايتهاي خبري بزرگ براي نمايش عمومي آگهي هاي تبليغاتي،مبالغي را از تبليغ کنندگان دريافت مي کنند.درآمد آنها به تعداد کاربراني بستگي دارد که از صفحه وب سايت بازديد مي کنند.يک حمله DoS بر عليه چنين سايتي مي تواند به معناي افت مستقيم درآمد آنها ازسوي تبليغ کنندگان باشد و همچنين مي تواند تأثير بلند مدت گرايش مشتريان به سايتهائي با دسترسي آسانتر را نيز به همراه داشته باشد.فقدان محبوبيت به معناي افت مستقيم تعداد قراردادها با تبليغ کنندگان است. - بعضي از سايتها،سرويسهاي حياتي رايگاني را در اختيارکاربران اينترنت قرار مي دهند. براي مثال، سيستم نام حوزه( DNS) اينترنت، اطلاعات لازم براي ترجمه آدرسهاي قابل قرائت براي انسان( مثلاً www.example.com) به آدرسهاي IP( نظير 291.0.43.661) را تأمين مي کند. تمام مرورگرهاي وب و بسياري از نرم افزارهاي کاربردي ديگر براي آنکه بتوانند اطلاعات درخواستي کاربر را بازيابي کنند، به DNS متکي هستند. اگر سرورهاي DNS تحت يک حمله DoS قرار گرفته و بخاطر سربار بيش از حد قادر به پاسخگوئي نباشند، بسياري از سايتها بخاطر آنکه امکان تجزيه آدرسهاي آنها وجود ندارد، غيرقابل دسترسي خواهند شد،حتي اگر Online بوده و توانائي اداره ترافيک مورد نياز را داشته باشند. اين مسئله، DNS را به يکي از زيرساختارهاي حياتي تبديل مي کند و ساير بخشهاي زيرساختار اينترنت که از اهميت مشابهي برخوردارند نيز آسيب پذير هستند. - بسياري از بنگاه هاي تجاري، براي فعاليتهاي روزمره خود به اينترنت وابسته شده اند. يک حمله DoS مي تواند باعث قطع يک مذاکره بسيار مهم از طريق ويديو کنفرانس و يا لغو سفارش يک مشتري بزرگ شود. چنين حمله اي ممکن است مانع از آن شود که يک شرکت بتواند يک سند مهم براي يک مهلت در حال اتمام را ارسال کرده و يا پيشنهاد خود را براي يک قرارداد بسيار بزرگ مطرح نمايد. - اينترنت بطور روزافزوني براي تسهيل مديريت سرويسهاي عمومي نظير برق، آب، فاضلاب و تحويل اطلاعات حياتي در زمينه فعاليتهاي مهمي نظير گزارشات ترافيکي و يا هواشناسي جهت پهلوگيري کشتيها، مورد استفاده قرار مي گيرد. يک حمله DoS که چنين سرويسهاي حياتي را قطع مي کند، حتي بر افرادي که فعاليتهاي آنها به کامپيوتر و يا اينترنت وابسته نيست نيز مستقيماً تأثير خواهد گذاشت. چنين حمله اي حتي مي تواند زندگي انسانها را به خطر بيندازد. - تعداد کثيري از مردم بطور روزانه براي سرگرمي و يا برقراري ارتباط با خانواده و يا دوستان خود،ازاينترنت استفاده مي کنند. عليرغم آنکه يک حمله DoS که باعث قطع چنين فعاليتهائي مي شود احتمالاً آسيب جدي به آنها وارد نمي کند،اما يقيناً يک تجربه ناخوشايند است که آنها تمايلي به روبرو شدن با آن ندارند. اگر چنين مزاحمتهائي به دفعات روي دهند، احتمالاً مردم ديگر از اينترنت براي چنين مقاصدي استفاده نخواهند کرد و به دنبال فن آوريهاي قابل اعتمادتري خواهند بود. اهداف هکر چرا مهاجمين به دنبال انکار يک سرويس هستند؟ اين حرکت که داراي طبيعت بسيار از هم گسيخته اي است، هميشه پايان کار نيست.اما هدف نهائي چنين اقدامي، چه چيزي مي تواند باشد؟ برخي از حملات DoS اوليه با هدف اثبات يک مدعا و يا يک شوخي ساده توسط هکرها صورت مي گرفتند. هدف نهائي آنها اين بود که ثابت کنند که کاري نظير از کار انداختن يک سايت بزرگ و محبوب، کاملاً امکانپذير است. دستيابي به چنين موفقيت بزرگي، باعث به شهرت رسيدن يک هکر در ميان انجمنهاي زيرزميني مي گرديد. در بسياري از موارد، مهاجمين براي حاکميت ازطريق انکار سرويس،به مبارزه با يکديگر مي پردازند. کانالهاي گپ زني( Chat) اينترنتي، يکي از منابع مهم جستجوها براي مهاجمين بوده و هستند. معمولاً از آنها براي هماهنگ سازي چندين ماشين حمله و همچنين تبادل کد و اطلاعات غيرقانوني با ساير مهاجمين استفاده مي شود. کاربري که کانال را ايجاد کرده و دسترسي به آن را کنترل مي کند، غالباً Operator, Moderator و يا Owner ناميده مي شود. يکي از شيوه هاي آسان براي تصرف يک کانال( و در عين حال،تمام ماشينهاي حمله اي که از طريق اين کانال کنترل مي شوند) و تسلط بر تمام ارتباطات آن، انجام يک حمله DoS برعليهModerator فعلي آن است. زمانيکه ماشين يک Moderator به وضعيت Offline مي رود، يک کاربر ديگر مي تواند کنترل کانال را در اختيار بگيرد. علاوه بر اين« برتري جوئي»، مهاجمين ممکن است از حملات DoS به منظور انتقام گيري استفاده نمايند. هکري که ماشين وي بخاطر چنين حمله اي Offline شده است، احتمالاً به يک اقدام تلافي جويانه برعليه مسبب آن دست خواهد زد. افرادي که به خود جرأت مي دهند در محافل عمومي از هکرها انتقاد نمايند نيز در معرض انتقامهاي DoS قرار دارند. يکي از انگيزه هاي متداول ديگر براي حملات DoS، دلايل سياسي است. افراد يا گروه هائي که مخالف ديدگاه ها و يا فعاليتهاي يک سازمان( يک سايت رسانه اي Online، يک شرکت و يا يک دولت) هستند، گهگاه اقدام به اجراي يک حمله DoS بر عليه کامپيوترها و يا شبکه هاي آن سازمان مي نمايند.اگر يک شرکت « هدف» حمله قرار گرفته باشد، مي توان به انگيزه يک شرکت رقيب براي تصرف قسمتي ازسهم بازار قرباني مشکوک بود. تا کنون اجراي هيچ حمله اي با اين انگيزه، به اثبات نرسيده است. با اينحال، نواقص بسيار زيادي در اطلاعات مربوط به مرتکبين حملات DoS و انگيزه هاي آنها وجود دارد. اکثريت قابل توجهي از اين حملات اصولاً گزارش نمي شوند و شرکتها به تنها اقدام به بررسي آنها مي کنند. از ميان مواردي که تحت بررسيهاي مشروح و دقيق قرار مي گيرند نيز،تنها تعداد بسيار محدودي حاوي شواهد کافي براي شناسائي انگيزه واقعي خود هستند.به همين دليل است که امکان توسل برخي از شرکتهاي تجاري به چنين ابزارهائي براي رقابت در فضاي خارج از بازار تجاري، وجود دارد. اخيراً تعدادي از اين حملات، بعنوان بخشي از يک تلاش براي اخاذي صورت گرفته اند. مهاجمين با تهديد يک تجارت Online از طريق حملات انکار سرويس، براي بازگرداندن امنيت به آن تقاضاي « باج» کرده اند. سايتهائي که از پرداخت اين مبالغ خودداري مي کنند، با حملاتي در مقياسهاي کوچک « متقاعد» مي شوند. روانکاوي فرد مهاجم مجري احتمالي حملات DoS چه کسي است؟ شواهد بدست آمده از مطالعات نشان مي دهند که هزاران حمله در يک مبناي منظم روي مي دهند، اما تعداد بسيار اندکي از مهاجمين تاکنون دستگير شده و يا تحت پيگرد قرار گرفته اند. اين مسئله يا به دليل ناتواني قربانيان در انطباق با حداقل محدوده هاي خسارتي لازم براي تعقيب متخلفين و يا بخاطر آنکه قربانيان از هزينه هاي تعقيب قانوني مرتکبين و يا تأثير منفي بر شهرت خود هراس دارند، روي مي دهد. اجراي حملات DoS بدون به جا گذاشتن ردپاهاي کافي براي مأموران تحقيق نيز يکي ديگر از دلايل عدم شناسائي مجرمان است. قضاوت در مورد مشخصات مرتکبين اين حملات از روي چنين نمونه کوچکي از جرايم قابل اثبات، غيرممکن است. گرچه با توجه به عدم وجود مهارت بالا در بسياري از اين حملات، مي توان فرض کرد که درصد بالائي از آنها توسط هکرهاي بي تجربه که اصطلاحاً « کدنويسهاي تازه کار» ناميده مي شوند، صورت مي گيرد. اين هکرها، ابزارهاي تهاجمي « خامي» را از اينترنت بارگذاري کرده و سپس بصورت اصلاح نشده از آنها استفاده مي کنند. عليرغم آنکه اين حملات هنوز مي توانند خسارات شديدي را براي قربانيان به بار آورند، اما غالباً ردپاهاي کافي جهت تشخيص اطلاعات بيشتري درباره مهاجمين را براي مأموران تحقيق به جا مي گذارند. اينگونه مهاجمين تازه کار، معمولاً يک الگوي ترافيکي را ايجاد مي کنند که به سادگي قابل شناسائي بوده و امکان کنترل آن از طريق فيلترهاي ساده وجود دارد. گونه ديگري از مرتکبين حملات DoS، هکرهاي باتجربه اي هستند که از ابزارهاي مختلفي براي مخفي کردن ماهيت خود استفاده کرده و تغييرات زيرکانه اي را در الگوي ترافيک خود بوجود مي آورند تا از خطوط دفاعي عبور کنند. عليرغم آنکه اين حملات در مقايسه با نمونه هاي ساده تر شيوع کمتري دارند، بسيار ناگوار بوده و اداره آنها فوق العاده دشوار است. هکرهاي حرفه اي گاهي اوقات براساس تمايلات شخصي خود عمل مي کنند( مثلاً براي برتري جوئي نسبت به ساير همتايان و يا انتقام گرفتن از آنها)، اما در مواردي نيز توسط حرکتهاي زيرزميني و يا سازمانهاي تبهکاري به خدمت گرفته مي شوند. خطرناک ترين مهاجم احتمالي، يک مدعي ايالتي/ ملي است که منابع و مهارت قابل توجهي براي نوشتن ابزارهاي مورد نياز خود در اختيار دارد، از تکنيکهاي کنترل و فرمانهاي پيشرفته اي استفاده مي کند و از منابع اطلاعاتي بهره مي برد که دستيابي به آنها بسيار دشوار است. چنين مهاجمي قادر است تأثيرات بسيار ماهرانه اي را ايجاد نمايد که با استفاده از ابزارها و يا شيوه هاي رايج، حتي به سختي مي توان متوجه آنها شد. بعلاوه، خود ابزارهاي نظارتي نيز مي توانند آسيب پذيريهائي داشته باشند که باعث مخفي ماندن حضور يک حمله شود. امروزه نمي توان هيچيک از حملات DDoS را با اطمينان به اين عاملان ايالتي/ کشوري نسبت داد، اما آنها بطور ذاتي در زمينه پنهان نمودن ردپاهاي خود عملکرد بهتري دارند. اگر تاکنون چنين حمله اي اتفاق نيفتاده باشد، دليلي وجود ندارد که در آينده نيز با چنين مشکلي مواجه نشويم. روش حمله حملات DoS چگونه کار مي کنند؟ دو شيوه اصلي براي انکار يک سرويس وجود دارد: بهره برداري از يک آسيب پذيري بر روي هدف و يا ارسال تعداد انبوهي از پيامهاي ظاهراً قانوني. اولين نوع حملات فوق معمولاً تحت عنوان حملات آسيب پذيري( Vulnerability Attack) شناخته مي شوند در صورتيکه حملات نوع دوم، حملات طوفاني( Flooding Attack) ناميده مي شوند. حملات Vulnerability با ارسال تعداد محدودي پيام که داراي چيدمان خاصي هستند، به نرم افزار کاربردي هدف که از يک آسيب پذيري رنج مي برد،انجام مي شود. اين آسيب پذيري معمولاً يک باگ نرم افزاري در پياده سازي و يا يک باگ در پيکربندي پيش فرض يک سرويس معين است. پيامهاي بدخواهانه فرستاده شده از سوي مهاجم،يک ورودي غيرمنتظره را بوجود مي آورند که برنامه نويس آن را پيش بيني نکرده است. اين پيامها باعث مي گردند که نرم افزار کاربردي هدف، وارد يک حلقه بي انتها شود. اين موضوع باعث کاهش سرعت،مشکل در عملکرد، از کار افتادن و يا حتي Reboot شدن يک سيستم گرديده و يا حجم انبوهي از حافظه آن را مصرف کرده و باعث عدم سرويس دهي به کاربران قانوني شود. به اين فرآيند، بهره برداري از يک آسيب پذيري گفته مي شود. در بعضي از موارد، چنين آسيب پذيري هايي را مي توان از سيستم عامل، يک قطعه رايج از Middleware، يک پروتکل شبکه و يا برنامه هاي کاربردي استخراج نمود. در حاليکه شناسائي تمام آسيب پذيري ها تقريباً غيرممکن است، شناسائي و کشف بهره برداريهاي جديد نيز کار بسيار دشواري است. اين بدان معني است که شناسائي و اصلاح هريک از اين آسيب پذيريها،يک موفقيت بسيار مهم بوده و يک قدم مطمئن براي مدافعين است. حملات Flooding، با ارسال تعداد انبوهي از پيامها انجام مي شود که پردازش آنها، مقداري از منابع کليدي هدف را مصرف خواهد کرد. براي نمونه، ممکن است پيامهاي پيچيده به فرآيندهاي پردازشي طولاني نياز داشته باشند که سيکلهاي CPU را به خود اختصاص مي دهند، پيامهاي بزرگ باعث اشغال پهناي باند مي شوند و پيامهائي که ارتباطاتي را با کلاينتهاي جديد آغاز مي کنند، حافظه را اشغال مي کنند.به محض آنکه منابع کليدي توسط حمله تصرف مي شوند، کاربران قانوني ديگر قادر به دريافت سرويس نخواهند بود. ويژگي تعيين کننده حملات Flooding در اين است که قدرت آنها در حجم نهفته است، نه در محتوايشان. دو مفهوم بسيار مهم در اين زمينه وجود دارد: 1- مهاجمين مي توانند تنوعي از بسته ها را ارسال کنند. مي توان ترافيک حمله را بصورت کاملاً دلخواهي شبيه به ترافيک قانوني ايجاد کرد که باعث ممانعت از دفاع در برابر حمله خواهد شد. 2- جريان حمله بايد آنقدر بزرگ باشد که منابع هدف را مصرف نمايد.مهاجم معمولاً بايد براي ارسال ترافيک حمله از چند ماشين استفاده نمايد. به همين دليل،حملات Flooding از حملات DDoS متداول به شمار مي روند. ساده ترين قالب يک حمله DDoS، صرفاً بصورت ارسال کميت بسيار بزرگي از پيامها که به بسته هاي متعددي تقسيم شده است، به يک سرويس بر روي ماشين قرباني انجام مي پذيرد. تا زمانيکه « چيزي» در ميان ماشينها مهاجم و قرباني باعث قطع انتقال اين بسته هاي درخواست نشود، قرباني منابع قابل توجهي را به تلاش براي دريافت و اداره صحيح آنها اختصاص خواهد داد. اگر تعداد اين بسته ها کافي باشد، تمام منابع قرباني صرف تلاش براي اداره بسته هائي خواهد شد که هيچ ارزشي ندارند. يکي ديگر از گزينه هاي DDoS، حمله به اينترفيس شبکه قرباني است. اگر کارت شبکه در ماشين قرباني مثلاً قادر به اداره 100 مگابيت برثانيه از ترافيک باشد، تنها کاري که يک مهاجم بايد انجام دهد اين است که صرفاً 100 مگابيت بر ثانيه( يا بيشتر) از هر نوع بسته هاي IP قابل تحويل را ايجاد کرده و آنها را براي قرباني ارسال نمايد. باز هم با فرض آنکه هيچ ماهيت ديگري در مسيراين بسته ها باعث کاهش ( drop) اين بسته ها نگردد، آنها به سادگي خواهند توانست تمام منابع شبکه قرباني را تخليه کرده و در عين حال، تراکم قابل ملاحظه اي را در مسير شبکه به قرباني، ايجاد کنند. اگر تعداد محدودي از بسته هاي قانوني در ميان اين جريان بزرگ بسته ها تهاجمي وجود داشته باشند، بعيد است که بتوانند به سرويس برسند. مهاجم همچنين مي تواند شبکه محلي مورد حمله قراردهد که قرباني را به اينترنت متصل مي کند.اگر مهاجم بداند که قرباني به يک سگمنت شبکه 1 گيگابيت بر ثانيه اي متصل است،مي تواند بسته هاي کافي را براي قرباني و يا ساير گره هاي موجود بر روي آن سگمنت ارسال نموده و آن را غوطه ور سازد. اکثر شبکه ها زمانيکه ترافيک ارائه شده به آنها به ظرفيت اسميشان مي رسد،غيرقابل استفاده مي شوند و همين مسئله باعث مي شود تا هيچ ترافيک قانوني به قرباني نرسد. در اين شکل از حملات DDoS، تمام گره هاي ديگر موجود بر روي آن سگمنت شبکه نيز همانند قرباني با مشکل مواجه خواهند شد. اين مثال مي تواند يکي ازخصوصيات عجيب DDoS را نشان دهد: آسيبهاي بوجود آمده نه تنها قرباني، بلکه تمام کاربران قانوني آن( که نمي توانند به سرويس دستيابي پيدا کنند) و هرکس ديگري که در اين منابع مشترک است را تحت تأثير قرار خواهند داد. براي نمونه، ممکن است مهاجم شبکه اي را هدف حمله خود قرار دهد که از همان ISP شما استفاده مي کند. چنانچه حجم حمله به اندازه کافي بالا باشد، ممکن است سرويس هاي شما نيز رد شوند. حملات بالا، همگي براساس حجم بزرگي از ترافيک صورت مي گيرند.مهاجم گاهي اوقات مي تواند يک حمله Flooding مؤثر را با حجم بسيار کوچکتري از ترافيک ترتيب دهد. اگرقرباني در حال اجراي سرويسي باشد که زمان مورد نياز آن جهت پردازش يک درخواست راه دور بيشتر از زمان مورد نياز براي ايجاد آن در خواست باشد، يا اينکه آن سرويس به منابع کميابي بر روي سرور وابسته باشد، مهاجم مي تواند از اين عدم تقارن استفاده نمايد. حتي Burstهاي کوتاه و يا معدود از ترافيک بدخواهانه نيز خواهند توانست منابع حياتي را بصورت مؤثري درگير نمايند. يکي از مثالهاي متداول دراين زمينه، حمله TCP SYN Flood است. مهاجم، قرباني را در معرض سيلي از بسته هاي TCP SYN قرار مي دهد که معمولاً براي آغاز ارتباطات جديد مورد استفاده قرار مي گيرند. قرباني، مقداري حافظه را در يک بافر با اندازه محدود براي هريک از درخواستهاي ارتباط جديد رزرو مي کند، در حاليکه مهاجم مي تواند بدون صرف هرگونه حافظه اي اين درخواستها را ارسال نمايد.اين عدم تقارن به مهاجم کمک مي کند تا با وجود آنکه تعداد بسيار اندکي از بسته هاي TCP SYN را ارسال مي کند،هرارتباط جديدي را درطول اجراي حمله، غيرممکن سازد. همانطور که از اين توضيحات مشخص مي شود،فاصله ميان حملات Vulnerability و Flooding بسيار باريک است و بسياري از حملات مي توانند در حد فاصل ميان هر دو دسته بندي فوق قرار گيرند. ساختار تشکيلاتي ارتش مهاجم حملات DDoS، نيازمند به خدمت گرفتن ماشينهاي متعددي است که ترافيک حمله را به قرباني ارسال خواهند نمود. اين ماشينها به مهاجم تعلق ندارند. آنها معمولاً سيستمهائي با امنيت ضعيف در دانشگاه ها، شرکتها و يا منازل ( و حتي سازمانهاي دولتي) هستند. مهاجم به درون آنها نفوذ کرده، کنترل کامل آنها را در اختيار گرفته و از آنها براي اجراي حمله خود سوء استفاده مي کند. به همين دليل، ماشينهاي حمله معمولاً با نامهائي نظير زامبي ها( Zombies)، شياطين( Daemons)، بردگان(Slaves) و يا مأموران( Agents) شناخته مي شوند. مهاجم چگونه مي تواند کنترل ماشينهائي را در اختيار بگيرد که به ديگران تعلق دارند؟ مأموران غالباً سيستمهائي با امنيت ضعيف هستند: آنها فاقد آخرين وصله ها( Patches) و يا ارتقاءهاي نرم افزاري هستند، از آنها توسط يک فايروال و يا ساير ابزارهاي امنيتي محافظت نمي شود و يا کاربران آنها از کلمات عبوري استفاده مي کنند که به آساني حدس زده مي شوند. مهاجم براي نفوذ، از اين حفره هاي شناخته شده استفاده مي کند. نرم افزارهاي قديمي که وصله هاي جديد بر روي آنها نصب نشده اند، داراي آسيب پذيريهائي شناخته شده اي هستند که ابزارهاي بهره برداري از آنها قبلاً نوشته شده اند. اين ابزارها به نوع خاصي از آسيب پذيري ها تعلق دارند که به محض استخراج، دسترسي نامحدودي به سيستم قرباني را در اختيار مهاجم قرار مي دهند، درست مانند آنکه وي يک Account سرپرستي دارد. Accountهائي که از کلمات عبوري استفاده مي کنند که به سادگي قابل حدس زدن هستند( نظير ترکيبي از نام کاربران و يا عبارات لغتنامه)، راه آسان ديگري را براي ورود به سيستم فراهم مي کنند. ابزارهاي متعددي براي حدس زدن کلمات عبور وجود دارند که اگر هريک از Accountهاي موجود بر روي يک ماشين از کلمه عبور ضعيفي استفاده نمايد، به سرعت آن را آشکار خواهند کرد. براي مثال، Phatbot تلاش مي کند تا با بکارگيري يک مجموعه بزرگ از کلمات عبور که بطور بسيار متداولي انتخاب مي شوند، با ميزبانهاي ويندوز ارتباط برقرار کرده و log-in نمايد. حتي اگر اينگونه برنامه ها Accountهائي را بيابند که فاقد امتيازات سرپرستي هستند، همچنان مي توان از اين دسترسي براي اجراي يک حمله DDoS استفاده نمود و يا با استخراج آسيب پذيريها، امتيازات آن را به سطح سرپرستي ارتقاء داد. پس از آنکه مهاجم کنترل ميزبان را بدست آورد، مأمور حمله DDoS خود را بر روي آن نصب کرده،سپس اطمينان حاصل مي کند که تمام ردپاهاي اين نفوذ بخوبي مخفي شده اند و اينکه کد حتي پس از بوت شدن مجدد سيستم نيزاجرا خواهد شد. حملات DDoS غالباً صدها و يا هزاران مأمور را به خدمت مي گيرند. اگر مهاجم مجبور باشد بصورت دستي به هريک از اين سيستمها نفوذ کند،با کاري طاقت فرسا و وقت گير مواجه خواهد بود. در عوض، ابزارهائي وجود دارند که ماشينهاي مأمور مستعد را بطورخودکار کشف نموده، به آنها نفوذ کرده، کد حمله را براساس يک فرمان ساده از سوي مهاجم نصب کرده و نهايتاً موفقيت اين فرآيند را به وي گزارش مي دهند. به آساني مي توان چنين ابزارهائي را ازاينترنت بارگذاري نموده و يا از کانالهاي گپ زني اينترنتي بدست آورد. علاوه بربه خدمت گرفتن مجموعه اي از مأمورين جديد، اين ابزارها با حفظ ردپاي مأموران و تأمين شيوه هاي آساني براي تحويل همزمان فرامين به تمام آنها، کنترل اين شبکه را نيز تسهيل مي کنند. تنها کاري که مهاجم بايد انجام دهد، صدور يک فرمان ساده است که درنتيجه آن،تمام مأموران کار حمله به قرباني را آغاز خواهند کرد. هويت مهاجم مهاجم با ايجاد لايه هاي متعددي از مسيرهاي غيرمستقيم در ميان ماشين خود و مأموران، هويت خود را بيش از پيش مخفي مي نمايد. او از يک يا چند ماشين استفاده مي کند که فرمان هايش را به مأمورين ابلاغ مي نمايند.اين ماشينها، Handlers يا Masters ناميده مي شوند. ما دراين مقاله از اصطلاح Handlers استفاده خواهيم کرد. شکل(1)، اين معماري Handler/Agent را نمايش مي دهد. يک لايه ديگر از مسيرهاي غيرمستقيم، شامل Log-on نمودن متوالي مهاجم بر روي ماشينهاي متعدد، پيش از دسترسي به Handlerها است. اين ماشينهاي ميانجي بين ماشين مهاجم و Handlerها را Stepping Stones مي نامند شکل(2). هر دو نوع ماشينهاي Handler و Stepping Stone براي ممانعت از تلاشهاي جستجوئي مورد استفاده قرار مي گيرند. اگراولياي امور بتوانند موقعيت يک سيستم مأموررا شناسائي کرده و آن را مورد بازرسي قرار دهند، تمام ارتباطات آن به يکي از Handlerها اشاره خواهد داشت. بازرسي بيشتر Handler ممکن است يکي از ماشينهاي Stepping Stone را مشخص نمايد که به نوبه خود با يک ماشين Stepping Stone ديگر در ارتباط است. اگر Stepping Stone از کشورها و قاره هاي مختلفي انتخاب شده باشند( که غالباً همينطور است)، تعقيب ردپاي مهاجم و فاش کردن هويت وي تبديل به کاري بسيار دشوار خواهد شد. يکي از شيوه هاي ديگر براي مبهم نمودن حمله، استفاده از IP Spoofing است. هر بسته دراينترنت، مقداري اطلاعات کنترلي را قبل از داده هاي محتوائي خود حمل مي کند که IP Header ناميده مي شود. يکي از فيلدهاي اين IP Header، آدرس فرستنده بسته را مشخص مي کند( فيلد IPSource). اين اطلاعات توسط ماشيني پرمي شوند که بسته ارسال مي کند( کاري نظير نوشتن آدرس فرستنده يا برگشت بر روي پاکت نامه) و ماشين مقصد يا روتري که در مسير ماشين مقصد قرار گرفته است از آن براي ارسال پاسخها به مبدأ فرستنده بسته استفاده مي کنند. مهاجمين معمولاً اين فيلد را جعل مي کنند تا از حملات احتمالي مصون مانده و کشف ماشينهاي مأمور را به تعويق بيندازند. درعين حال،IP Spoofing باعث مي شود تا برخي از شيوه هاي دفاعي DDoS که براي تمايز ميان کلاينتهاي قانوني و مهاجمين بر آدرسهاي مبدأ تکيه دارند،بطور قابل ملاحظه اي پيچيده شوند. يک مهاجم با استفاده از شيوه IP Spoofing به آساني مي تواند هويت يک کلاينت قانوني( و يا تعدادي از آنها را) تقليد نمايد. فريب دادن خدمات متداول شبکه IP Spoofing، فرصت فريب دادن ماشينهاي تسليم نشده و يا بعبارت ساده تر ماشينهائي که از امنيت فوق العاده اي برخوردارند،براي شرکت در يک حمله DDoS را فراهم مي کند. مهاجم، سرويس يا پروتکلي که در دسترس عموم قرار دارد نظير Domain Name System(DNS)، وب، و يا Ping را انتخاب کرده و سپس با جعل آدرس مبدأ قرباني خود، درخواستهاي سرويس را براي تعداد زيادي از چنين سرورهائي( ماشينهاي کاملاً امن) ارسال مي کند. در نتيجه، تمام سرورها به قرباني پاسخ خواهند داد و اين سيل عظيم پاسخهاي ارسالي باعث انکار سرويس براي قرباني خواهند شد. اين نوع حملات را حمله هاي Reflection مي نامند و سرورهائي که در آن شرکت دارند نيز تحت عنوان Reflectorها شناخته مي شوند. مهاجمين، علاقه خاصي به سرويسهائي دارند که مي توانند پاسخهاي طولاني و يا متعددي را براي چند درخواست کوتاه ايجاد کنند. اين ويژگي، Amplification ناميده مي شود و به مهاجم امکان مي دهد تا با چند بسته کوچک، يک تأثير DoS را ايجاد کند. حملات انکار سرويس بدون استفاده از تکنيک هاي توزيعي امکانپذير هستند، اما اينکارچالش هايي را براي مهاجم بوجود خواهد آورد. براي مثال، يک حمله DoS مبتني بر Flooding محض را در نظر بگيريد که از يک ماشين واحد با يک لينک 10 مگابيت برثانيه اي بر عليه يک ماشين قرباني که از لينک 100 مگابيت بر ثانيه اي استفاده مي کند،انجام مي شود. در چنين وضعيتي، مهاجم در هنگام تلاش براي به زانو درآوردن لينک قرباني، شبکه خودش را متراکم نموده و از رسيدن سرويس به خودش جلوگيري مي کند. مهاجم براي موفقيت در قطع ارتباطات قرباني، بايستي با يک ماشين مأمور که از منابع شبکه بيشتري نسبت به قرباني برخوردار است، همکاري نمايد. مکانيابي و نفوذ به چنين ماشيني مي تواند بسيار دشوار باشد، خصوصاً اگر سايتي با تدارکات مناسب، هدف حمله باشد. حالا تصور کنيد که چه اتفاقي مي افتاد اگر همين حمله در يک وضعيت توزيع شده، مثلاً با استفاده از صد ماشين انجام مي شد. در اين وضعيت، هر ماشين مي تواند 1 مگابيت بر ثانيه ترافيک را براي قرباني ارسال نمايد. با اين فرض که تمام ماشينهاي مأمور از لينکهاي 10 مگابيت بر ثانيه اي استفاده مي کنند،هيچيک از آنها ترافيک کافي براي آسيب رساني جدي به شبکه محلي خودش را ايجاد نخواهد کرد . اما اينترنت، تمام اين ترافيک حمله را به قرباني تحويل خواهد داد که باعث انسداد لينک وي مي گردد. به اين ترتيب، سرويس قرباني قطع خواهد شد، در حاليکه مهاجمين کاملاً در وضعيت عملياتي قرار دارند. استفاده از شيوه توزيع،مزاياي متعددي را براي مهاجم به همراه خواهد داشت: - يک ماشين سرور معمولي، داراي منابع پردازشي،حافظه و پهناي باند بيشتري در مقايسه با يک ماشين کلاينت معمولي است. بنابراين،مهاجمي که از يک ماشين کلاينت معمولي استفاده مي کند، به سختي مي تواند پيش ازآنکه منابع خود را در زير ترافيک ايجاد شده غرق کند، منابع سرور را اشغال نمايد. مهاجم با استفاده از تکنيکهاي توزيع شده مي تواند منابع «طرف حمله کننده» را چند برابر نمايد و اين ويژگي به وي امکان مي دهد که ماشينهاي قدرتمندتري را در « طرف هدف» به زانو درآورد. - براي متوقف نمودن يک حمله DDoS از يک مأمور واحد، مدافع تنها بايد آن مأمور را شناسائي کرده و سپس کارهائي را براي جلوگيري از ارسال چنين حجم بزرگي از ترافيک،انجام دهد. در بسياري از موارد، براي توقف حمله از يک ماشين کافي است که سرپرست انساني آن ماشين و يا اپراتور شبکه،واکنش نشان دهد. با اينحال،اگر 1000 مأمور در حمله شرکت داشته باشند، متوقف نمودن هريک از مأمورين به تنهائي، کمک بسيار ناچيزي به وضعيت قرباني خواهد نمود. تنها با متوقف نمودن اکثر و يا تمام آنها مي توان تأثير حمله DoS را کاهش داد. گماشتن هزاران نفر به انجام کارهاي لازم براي متوقف نمودن يک حمله از ماشينهايشان، يک چالش طاقت فرسا خواهد بود. -اگر مهاجم، مأموراني را انتخاب کند که بطور گسترده اي در سراسر اينترنت پراکنده شده اند، تلاش جهت متوقف کردن حمله،دشوارتر خواهد شد زيرا تنها نقطه اي که تمام ترافيکهاي حمله با يکديگر ادغام مي شوند، در نزديکي قرباني قرار دارد. به اين موقعيت مکاني، نقطه تجمع ( PointAggreagation) گفته مي شود. ممکن است ساير گره هاي شبکه هيچ نشانه حاکي از وقوع يک حمله را تجربه نکنند و احتمالاً در تشخيص ترافيک حمله از ترافيک قانوني، مشکل خواهند داشت. بنابراين،آنها نمي توانند به دفاع در برابر حمله کمک کنند. - در يک حمله DoS که از يک ماشين منفرد انجام مي شود، اين امکان وجود دارد که قرباني بتواند با کسب منابع بيشتر، خود را نجات دهد. براي مثال، ممکن است سرور وبي که بر اثر يک حمله به زانو درآمده بتواند ساير سرورهاي محلي را براي کمک به اداره فشار کاري اضافي، به خدمت بگيرد. صرفنظر از اينکه يک مأمور ممکن است تا چه اندازه قدرتمند باشد، مدافع مي تواند ظرفيت خود را تا زمانيکه از توانائي مهاجم براي ايجاد بار فراتر رود، افزايش دهد. اين شيوه براي دفاع در برابر حملات DDoS از کارآئي کمتري برخوردار است. اگر مدافع منابع خود را دوبرابر نمايد تا بتواند دو برابر درخواستهاي قبل را اداره کند، تنها کاري که مهاجم بايد انجام دهد اين است که تعداد مأمورين خود را دوبرابر نمايد و اين کار غالباً چندان دشوار نيست. جنبه ديگري نيز وجود دارد که اداره هر دو نوع حمله هاي DoS و DDoS را دشوار مي سازد: شيوه هاي دفاعي که در برابر بسياري از انواع ديگر حملات بخوبي کار مي کنند، لزوماً در برابر حملات انکار سرويس کارآئي نخواهند داشت.سالها به سرپرستان سيستم توصيه مي شد که يک فايروال را نصب کرده و پيکربندي آن را به روز نگهدارند،که درگاه هاي غيرضروري را بر روي تمام ماشينهاي خود ببندند، که از آخرين وصله هاي (Patches) سيستم عامل و ساير نرم افزارهاي مهم استفاده کنند و نهايتاً اينکه سيستمهاي تشخيص نفوذ( Intrusion Detection) را براي کشف حملاتي که براي رخنه در سنگرهاي دفاعي خارجي ترتيب داده شده بودند، اجرا نمايند. متأسفانه اين سنجشهاي امنيتي غالباً در برابر حملات انکار سرويس نمي توانند کمکي ارائه نمايند. حمله مي تواند شامل ترافيکي باشد که فايروال آن را قابل قبول تشخيص دهد، زيرا شباهت زيادي به ترافيک قانوني دارد. از آنجائيکه حمله DoS صرفاً به منظور اشغال منابع انجام مي شود،مي تواند بر روي هريک از درگاه هائي که باز مانده اند) شامل درگاه هائي که بايد براي يک گره باز بمانند تا بتواند به کارخود ادامه دهد( کار کند. مهاجمين مي توانند حملات DoS را بر روي ماشينهائي انجام دهند که هيچ آسيب پذيري ندارند) براساس تعريف استاندارد اين عبارت( بنابراين وصله هاي ارائه شده براي ترميم آسيب پذيريها، در اين زمينه کمک نخواهند کرد. از سوي ديگر، سيستمهاي تشخيص نفوذ نيز در مورد حملات DoS از ارزش محدودي برخوردارند زيرا برخلاف رخنه ها و سرقتهاي اطلاعاتي، حملاتي DoS به ندرت تلاش مي کنند تا خود را پنهان سازند. در نهايت، تمام هدف آنها اين است که در فرآيند کاري معمولي « وقفه» ايجاد کرده، رويدادي که معمولاً با جلب توجه همراه است. DDoS: توهم يا واقعيت؟ مسائلي که در بالا به تشريح آنها پرداختيم، حملات DDoS را به يک احتمال هراسناک تبديل مي کنند. اما محققين در حوزه هاي امنيت کامپيوتر و شبکه هميشه نگران بسياري از احتمالات وحشتناکي هستند که هيچگاه رخ نداده اند. آيا محققين با ادعاهاي مربوط به خطرات DDoS صرفاً قصد اخطار دادن به کاربران را دارند؟ متأسفانه، حملات DDoS به هيچوجه گمانه زني و يا تخيل نيستند. آنها بطور روزمره بر عليه دامنه گسترده اي از سايتها اتفاق مي افتند. علاوه بر چندين وقوع شناخته شده از حملات DDoS که بطور گسترده اي در رسانه هاي خبري گزارش شدند،مطالعات علمي نيز بر روي کثرت اين حملات انجام گرفته که واقعيت اين مشکل را به اثبات مي رسانند. حملات DDoS چقدر رايج هستند؟ برخي از قالبهاي حملات مجازي وجود دارند که بخاطر ايجاد چند حادثه قابل توجه، به شهرت زيادي دست پيدا مي کنند، حتي با وجود آنکه تعداد برخورد با اين نوع حملات عملاً چندان زياد نيست. تا زمانيکه اين حوادث فاجعه آميزنباشند، تأثير کلي حملات بيشتر به شهرت آنها بستگي دارد تا ميزان خسارتي که به بار مي آورند. حملات DDoS در اين دسته بندي نمي گنجند. تعدادي از مطالعات اخير نشان مي دهند که حملات DDoS در شبکه هاي امروزي فوق العاده رايج هستند. با در نظر گرفتن اين موضوع که حملات DDoS معمولاً مؤثر هستند و مرتکبين آنها به ندرت گرفتار مي شوند، دلايل کافي براي اين نتيجه گيري که اين نوع حملات در آينده حتي رواج بيشتري پيدا خواهند کرد، وجود دارد. اندازه گيري کثرت هريک از شکلهاي حمله در اينترنت، بسيار دشوار است. قربانيان هميشه متوجه نمي شوند که مورد حمله قرار گرفته اند. حتي اگر به اين مسئله پي ببرند، غالباً در گزارش وقوع حمله به مقامات مربوطه قصور مي کنند برخي از سازمانها براي دستيابي به ديدگاهي در زمينه شيوع انواع مختلف حملات مجازي( Cyberattacks) و ميزان خساراتي که به بار مي آورند، از تکنيکهاي نمونه گيري استفاده مي کنند. بعنوان مثال، مي توان به گزارش ساليانه FBI در مورد جرائم مجازي اشاره کرد که براساس اطلاعات ارائه شده از سوي نزديک به 500 سازمان مختلف تهيه مي شود. در گزارش سال 2004، تقريباً يک پنجم از پاسخ دهندگان که بخاطر يک حمله متحمل خسارات مالي شده بودند، يک حمله DoS را تجربه کرده بودند. مجموع هزينه هاي گزارش شده از سوي اين شرکتها به بيش از 26 ميليون دلار مي رسيد. انکار سرويس بعنوان صدرنشين زيانهاي مالي در جرايم مجازي به حساب مي آيد. اينگونه مطالعات معمولاً مورد انتقاد قرار مي گيرند زيرا شيوه انجام آنها بصورت اجتناب ناپذيري در معرض محدوديتهاي خاصي قرار دارد، اما داده هاي نسبتاً بهتري نيز وجود دارند. شيوه مورد استفاده در اين بررسيها، تمايزي بين حملات DoS عادي و حملات توزيع شده( DDoS) قائل نمي شوند زيرا فن آوري مورد نياز براي اين تمايز، هنوز نابالغ است. در عين حال، محققين از تنوعي از تکنيکها استفاده مي کنند تا داده هاي مربوط به فراواني حملات DDoS و ساير خصوصيات آنها را مورد ارزيابي قرار دهند. براي مثال، فرنام جهانيان از دانشگاه ميشيگان توانسته است فعاليتهاي شبکه را در MichNet ISP مشاهده نمايد. اين تأمين کننده شبکه،خدمات ISP را به مؤسسات دولتي و غيرانتفاعي در ايالت ميشيگان ارائه مي کند که شامل اکثر انستيتوهاي آموزشي در اين ايالت نيز مي شوند. در طول يک دوره زماني، تيم جهانيان داده هائي را جمع آوري کرده اند که نشان مي دهند حملات DDoS نسبتاً رايج هستند و بطور روزافزوني پيشرفته تر مي شوند. نتايج کامل تحقيقات جهانيان هنوز منتشر نشده است، اما قسمتهائي از اين نتايج قابل دسترس هستند. تعدادي از محققين، وسايل فني گوناگوني را براي نتيجه گيري از اطلاعات مربوط به شيوع و مشخصات حملات DDoS در اينترنت، مورد ارزيابي قرار داده اند. اگر حملات DDoS تا اين حد متداول هستند، چرا خبرهاي بيشتري در مورد آنها نمي شنويم؟ شواهد گردآوري شده توسط CAIDA و تيم جهانيان نشان مي دهند که اکثر حملات DDoS بر عليه اهداف نسبتاً کوچک مثلاً ماشينهاي خانگي( و در دوره هاي زماني کوتاه صورت انجام مي شوند. برخي از تحليلگران بر اين عقيده اند که بسياري از اين وقايع، بيانگر حملات هکرها به يکديگر هستند؛ هرچند که شواهد بسيار اندکي براي يک نتيجه گيري قوي در اين زمينه وجود دارد. مدت زمان کوتاه حملات DDoS باعث مي شود که آنها چيزي جز يک انسداد معمولي ديگر در شبکه به نظر نرسند. هنگاميکه يک کاربر بر روي يک لينک کليک کرده و براي يک يا دو دقيقه پاسخي دريافت نمي نمايد،احتمالاً به اين نتيجه خواهد رسيد که سرور بيش از حد مشغول است و يا اينکه موضوع به مشکلات متداول تراکم شبکه مربوط مي شود. در عين حال،بعيد به نظر مي رسد که اين کار متوجه مي شود که وي و يا به احتمال قوي تر، سرور مورد استفاده اش( هدف يک حمله DDoS قرار گرفته اند. بنابراين، در بسياري از موارد از حملات DDoS بدون توجه کافي چشم پوشي مي شود. اگربسياري از حملات DDoS حتي توجه کسي را به خود جلب نمي کنند، چقدر بايد در مورد توجه به آنها جدي باشيم؟ اولاً، تعداد قابل توجه و فزاينده اي از حملات گسترده، جدي، پايدار و قدرتمند DDoS وجود دارند که صراحتاً با هدف انکار سرويس بر عليه سايتهاي مهم انجام مي پذيرند. ثانياً به خاطر داشته باشيد که حملات کوتاه و کوچک معمولاً به دليل تمايل مهاجم کوتاه و کوچک هستند، نه بخاطر ميزان توانائيهاي او. يک شبکه مأمور DDoS مي تواند حمله خود را ساعتها و حتي بصورت نامحدود ادامه دهد. همچنين، مهاجمين مي توانند ارتش عظيمي از مأموران را به خدمت بگيرند.اين تکنيکها کاملاً شناخته شده هستند و کارآئي آنها به اثبات رسيده است. تمام چيزي که باقي مي ماند، يک انگيزه کافي براي آنها است تا بطور گسترده اي جهت مقاصد ويرانگر مورد استفاده قرار گيرند. بزرگي حملات DDoS يک بعد احتمالاً سنجش پذير ديگر از حملات DDoS، اندازه آنها است. اندازه يک حمله را مي توان براساس ترافيکي که ايجاد مي کند و يا تعداد سايتهائي که در حمله شرکت مي کنند، ارزيابي نمود. همچنين مي توان آنها را براساس مدت حمله مورد ارزيابي قرار داد، مشخصه اي که برخي از مطالعات DDoS به آن مي پردازند. حملات DDoS که در گذشته لينکهاي شبکه هاي بزرگ را از کار انداخته اند، نظير حمله اي که برعليه Uecomm استراليائي صورت گرفت، حجم ترافيکي در حدود 600000 بسته در ثانيه( pps) را شامل مي شدند. در حملات انجام شده بر روي سرورهاي DNS root( سال 2002) هريک از سرورها در هر ثانيه بين 100000 تا 200000 بسته را دريافت مي کرد. در بعضي موارد نظير حمله الجزيره در سال 2003، مهاجمين حجم ترافيک حمله را با توجه به افزايش ظرفيت شبکه توسط مدافعين به منظور اداره ترافيک، افزايش دادند. اين موضوع نشان مي دهد که مهاجمين قادر هستند در صورت لزوم قدرت حمله را به آساني افزايش دهند. بنابراين،بزرگي حمله بيشتر به احساس مهاجم در مورد کاري که مي خواهد انجام دهد مربوط مي شود تا حداکثر حجم ترافيکي که وي قادر به توليد آن است. در واقع، بسياري از حملات مخصوصاً از مجموعه اي با اندازه متوسط از شبکه هاي حمله مجزا استفاده مي کنند، تا تمام آنها را بطور همزمان در معرض ريسک کشف شدن قرار ندهند. تازه ترين مهاجمان، آموخته اند که استفاده از تمام منابعشان بطور همزمان، کار بيهوده اي است و در عوض، يک حمله را به آرامي گسترش مي دهند تا مدت نگهداري حمله در برابر فرسايش مأموران را به حداکثر ممکن برسانند. شيوه Backscatter مورد استفاده توسط CAIDA، قادر به اندازه گيري حجم حملات نيز مي باشد. با در نظر گرفتن محدوديتهاي خاص اين شيوه که ممکن است باعث کاهش نتايج بدست آمده گردند، نيمي از حملاتي که توسط اين شيوه مورد نظارت قرار گرفتند داراي حجمي معادل 350 بسته در ثانيه و يا بيشتر از آن بوده اند. بر حسب نوع بسته ها، قابليتها و خطوط دفاعي هدف، اين حجم غالباً براي انکار سرويس کافي خواهد بود. بزرگترين حجمي که توسط CAIDA مورد سنجش قرار گرفته، شامل صدها هزار بسته در هر ثانيه بوده است. براي مثال، در حملات FloodTCP SYN بر عليه SCO که در نوامبر سال 2003 صورت گرفت، CAIDA برآورد نمود که سرور SCO در هر ثانيه بيش از 50000 بسته را در يک نقطه دريافت کرده و در يک دوره 32 ساعته، با بيش از 700 ميليون بسته حمله درگير بوده است. آنها برآورد مي کنند که 50000 بسته در هر ثانيه به معناي نزديک به 20 مگابيت بر ثانيه از ترافيک اينترنت در هر جهت است که تقريباً نيمي از ظرفيت يک خط DS45 3 مگابيت بر ثانيه را اشغال خواهد کرد. تهيه آمارها در مورد تعداد ماشينهائي که درگير يک حمله هستند، کار دشوارتري است. شواهد گردآوري شده توسط دانشگاه مينسوتا که يکي از اولين حملات DDoS در سال 1999 بر عليه آن انجام شد نشان مي دهند که شبکه هاي حمله DDoS مي توانند از بيش از 2200 سيستم تشکيل شده باشند که صرفاً با استفاده از شيوه هاي نيمه خودکار«استخدام» مأموران جديد، به خدمت گرفته شده اند. اين حداقل تعداد شناخته شده است زيرا در اين حمله از جعل IP Spoofing(IP) استفاده نشده بود. در حملاتي که قالبهائي از جعل IP در آنها مورد استفاده قرار مي گيرند، شمارش محض تعداد آدرسها IP مشاهده شده در طول يک حمله DDoS خاص، بطور قابل ملاحظه اي در تعداد گره هاي درگير، غلو خواهد کرد. شيوه ديگر اين است که تعداد ماشينها را از حجم مشاهده شده، برآورد نمائيم. بزرگترين حمله اي که توسط CAIDA مورد ارزيابي قرار گرفت، حجمي معادل 679000 بسته در هر ثانيه داشته است. تعداد بسته هائي که يک ماشين مي تواند در هر ثانيه ايجاد کند به عوامل متعددي نظير سرعت پردازنده و يا ارتباط شبکه آن بستگي دارد. براي ماشينهائي که از لينکهاي 10 مگابيت بر ثانيه اي به اينترنت استفاده مي کنند، ايجاد 20000 بسته در هر ثانيه به معناي رسيدن به حداکثر ظرفيتشان خواهد بود. بنابراين، اگر فرض کنيم که بزرگترين حمله مشاهده شده توسط CAIDA از طريق يک گروه از چنين ماشينهائي انجام گرفته است، اين گروه بايد شامل 30 تا 40 ماشين مأمور باشد. در حمله ServerDNS که در بالا به آن اشاره کرديم، حداقل به 90 عدد از چنين ماشينهائي نياز خواهد بود. بسياري از ماشينها، از ارتباطات اينترنتي با سرعت فوق العاده پائينتر استفاده مي کنيد و در صورتيکه از اين ماشينها بعنوان مأمور استفاده شود، براي رسيدن به نرخهاي فوق بايستي تعداد بسيار بيشتري از آنها به خدمت گرفته شوند. براي مثال، اگر تمام مأموران براي ارتباط با اينترنت از لينکهاي 56 کيلوبيت بر ثانيه اي استفاده کنند، بزرگترين حمله مشاهده شده توسط CAIDA شامل حداقل 5800 مأمور بوده است. احتمالاً تعداد واقعي مأموران مورد استفاده در اين حمله، رقمي بين اين دو تخمين خواهد بود. حملات Reflected که در آنها ميزبانان حمله، بسته هاي جعلي حمله اي را ارسال مي کنند که باعث تعداد بسيار زيادي از سرورهاي قانوني در سراسر جهان را وادار به پاسخدهي خواهند کرد، حمله را به نسبت فوق العاده اي تشديد مي کنند. يکي از چنين حملات که بر عليه futuresite.register.com انجام گرفت شامل تعداد بسيار کمي از ميزبانان حمله بود، اما باز هم توانائي ايجاد يک سيل 60 تا 90 ميليون بيتي را در محل قرباني داشت. ممکن است به اين فکر افتاده باشيد که مأموران DDoS از کجا مي آيند. اکثر متخصصين بر اين باورند که تعداد اندکي از مهاجمين براي اجراي حملات DDoS از ماشينهاي خودشان استفاده مي کنند، زيرا انجام چنين کاري باعث افزايش ريسک به دام افتادن آنها خواهد شد. در عوض، آنها ماشينهاي ديگري را از راه دور RE: اشنایی با حملات تکذیب سرویس - semolina - 09-09-2012 خیلی هم خوب ممنون RE: اشنایی با حملات تکذیب سرویس - Amin_Mansouri - 09-12-2012 امروزه مقوله امنیت و شاخه های آن در فضای وب به امری حیاتی و همه گیر تبدیل شده است، مخصوصا برای صاحبان سایت ها و مهم تر از آن برای مدیران سرورهای وب، چرا که آسیب پذیری و ضعف امنیتی به عنوان عاملی بازدارنده در مسیر پیشرفت و توسعه اهدافشان در وب است، بعضا شاهد هستیم که افراد مختلف با انگیزه های متفاوت اقدام به هک و ایجاد اختلال در سایت ها و سرورها و در نتیجه باعث از دسترس خارج شدن و یا در حالتی پیشرفته تر از کنترل خارج شدن آنها می شوند، این افراد برای رسیدن به مقاصدشان از شیوه های متفاوتی استفاده می کنند که البته بسته به میزان هوشمندی مدیران سرور و رعایت نکات امنیتی در سیستم های مدیریت محتوا، خیلی از این روش ها به راحتی قابل پیشگیری است؛ اما آنچه در این مطلب قصد داریم به آن بپردازیم، آشنا کردن شما با نوعی از ایجاد اختلال در وب موسوم به حمله های DDOS یا distributed denial of service attack است که بیشترین شیوع را دارد. حمله DDOS چیست؟ حمله ddos یا dos مخفف (denial of service attack) به زبان ساده یعنی سرازیر کردن تقاضاهای زیاد به یک سرور (کامپیوتر قربانی یا هدف) و استفاده بیش از حد از منابع (پردازنده، پایگاه داده، پهنای باند، حافظه و...) به طوری که سرویس دهی عادی آن به کاربرانش دچار اختلال شده یا از دسترس خارج شود (به دلیل حجم بالای پردازش یا به اصطلاح overload شدن عملیات های سرور)، در این نوع حمله ها در یک لحظه یا در طی یک زمان به صورت مداوم از طریق کامپیوترهای مختلف که ممکن است خواسته یا حتی ناخواسته مورد استفاده قرار گرفته باشند، به یک سرور (با آی پی مشخص) درخواست دریافت اطلاعات می شود و به دلیل محدود بودن قدرت پردازش سرور به کاربران در وضعیت عادی (یعنی قدرت سرور را به تعداد کاربرانش در حالت عادی در نظر گرفته اند نه حالت غیر طبیعی)، مثل حالاتی که کامپیوترهای رومیزی دچار کندی یا توقف کامل می شوند، دچار وقفه در سرویس دهی یا حتی down شدن آن می شود. چه کسانی حمله ddos را انجام می دهند؟ اصولا حمله های ddos با انگیزه های متفاوت ممکن است توسط یک یا چند نفر و یا حتی گروهی از افراد صورت گیرد، اما آماری که تا به امروز به ثبت رسیده، حکایت از انگیزه های بیشتر فردی یا چند نفره داشته است، به طور مثال ممکن است افرادی برای از سر راه برداشتن ناجوانمردانه رقیبشان در وب، دست به این نوع اعمال بزنند تا مخاطبان آن سایت یا سرور دچار دلسردی شده و از آن فاصله بگیرند یا برعکس عده ای هکر، خیرخواهانه به سایتی ضد اجتماعی یا به فرض جنگ طلب حمله ddos کنند، لذا گستره افراد و انگیزه ها، بسته به نوع مورد، متفاوت خواهد بود، اما آنچه مسلم است معمولا انسان ها پشت این حملات هستند یا ترکیبی از اندیشه انسان و به کارگیری سیستم، سرور و ابزارهای خاص (DDOS tools) دست به دست هم می دهند تا یک حمله ddos شکل بگیرد. علائم حمله ddos چیست؟ خوشبختانه یکی از موارد مثبت این نوع حملات این است که به سرعت می توان به نحوه عملکرد سرویس مشکوک شد و جلوی اختلال بیشتر را گرفت، پس از اینکه سروری مورد حمله ddos قرار می گیرد ممکن است با توجه به اهداف و شیوه به کار رفته یک قسمت از منابع یا همه ی قسمت های آن دچار اختلال شود، در زیر لیستی از این علائم را ذکر می کنیم. - کندی در پاسخگویی به درخواست ها سروری که مود حمله قرار گرفته باشد، معمولا خیلی کند و با وقفه به درخواست بارگذاری صفحات پاسخ می دهد، البته این نشانه همیشه دلیل حمله ddos نیست، چرا که این اتفاق به طور طبیعی نیز برای سرورها و سایتهای با بازدید بالا ممکن است رخ دهد یا کنترل این امر بستگی زیادی به قدرت سخت افزاری سرور و تنظیمات آن دارد. - عدم اتصال به پایگاه داده گاهی ممکن است صفحات استاتیک که نیازی به اتصال پایگاه داده ندارند به راحتی بارگذاری شوند، ولی اتصال به پایگاه داده برای صفحات داینامیک برقرار نشود، در چنین مواقعی معمولا پیام تکمیل ظرفیت اتصال به پایگاه داده یا too many connection ظاهر خواهد شد، بهترین کار در چنین حالتی این است که با تنظیم یک دستور هِدر 500 HTTP، به ربات های جستجوگر بگوییم که سایت ما فعلا دچار مشکلی است و بعدا مراجعه نمائید!، چرا که در غیر اینصورت با وجود down بودن دیتابیس سرور، ربات ها با دریافت وضعیت HTTP 200، صفحه خالی را ایندکس می کنند که این حالت اصلا مناسب نیست، در php این کار را با دستورات header می توان انجام داد. header('HTTP/1.0 500 Internal Server Error'); - مصرف بیش از حد منابع سرور یکی دیگر از نشانه های حمله ddos می تواند مصرف بیش از حد و غیر طبیعی منابع سرور مثل حافظه و یا پهنای باند در یک بازه زمانی کوتاه باشد. - افزایش انفجاری درخواست ها یکی دیگر از نشانه های حمله ddos، وجود شمار زیادی درخواست http به سرور است که با مشاهده فایل log و قسمت آمار، می توان به این موضوع پی برد. - اختلالات در سرویس های جانبی نظیر ایمیل گاهی مواقع حملات ddos سرویس های جانبی یک سرور نظیر سرویس ایمیل را هدف می گیرند، در این مواقع ارسال و دریافت ایمیل ممکن است به کندی صورت گیرد یا دچار وقفه شود، البته همانطور که گفتیم، هر وقفه و اختلالی به معنی حمله ddos نیست، تنها به عنوان یک نشانه می توان آن را محسوب کرد. در حمله ddos از چه روش هایی استفاده می شود؟ چند روش به عنوان شایع ترین ها در این نوع حملات استفاده می شود، که در زیر به آنها به طور مختصر و جهت آشنایی اشاره می کنیم: - روش Ping Flood یا طوفان درخواست ها در این شیوه مهاجم سعی می کند با ارسال درخواست ها (یا بسته های ping) به سمت کامپیوتر هدف (قربانی)، و با تکرار این عمل، کل منابع سرور را اشغال کند تا در نهایت آن را به طور کامل از کار بیندازد، در این شیوه معمولا از کامپیوترهای موجود در یک شبکه یا از سرورهایی به طور همزمان درخواست به سمت سرور قربانی ارسال می شود تا در نهایت موجب از کار افتادن آن شود. - روش Smurf attack یا استفاده از نقص تنظیمات یک Smurf attack نوع خاصی از طوفان درخواستها به یک سرور است که طی آن به دلیل وجود ضعف در تنظیمات سرویس، اجازه ارسال بسته هایی از اطلاعات به تمام کامپیوتر های موجود در یک شبکه در عوض ارسال آن به یک کامپیوتر خاص از طریق آدرس Broadcast آنها است، آدرس Broadcast می تواند به عنوان مثال آی پی اشتراکی سایت های موجود در یک سرور باشد؛ در این حالت اگر تنظیمات سرور به درستی انجام نشده باشد، ارسال یک درخواست به این آی پی، موجب تقسیم شدن آن بین تمام زیر شاخه ها و در نتیجه overload شدن سرور می شود. - حملات موسوم به SYN یا SYN flood روش اخیر نیز در عمل مشابه با موارد گفته شده است، با این تفاوت که در اینجا مهاجم با ارسال درخواستهایی از نوع بسته های TCP/SYN در پشت چهره ای عادی و تایید شده به عنوان یک کاربر معمولی، از سرور تقاضای اتصال می کند که پس از ارسال پاسخ درخواست، هیچ جوابی به پاسخ سرور داده نمی شود تا اتصال نیمه باز همچنان برقرار باشد (سرور در انتظار پاسخ مهاجم مدتی صبر می کند)، در این بین با افزایش این اتصالات نیمه باز، منابع سرور اشغال شده و نهایتا موجب بروز اختلال و از کار افتادن آن می شود. - روش Teardrop یا Teardrop attacks در این شیوه رشته ای از آی پی های ناقص به هم متصل شده و شبیه به هم را به سرور ارسال می کنند که اگر تنظیمات قسمت TCP/IP fragmentation re-assembly سرور دچار نقص در تشخیص آنها باشد، موجب بروز مشکل اضافه بار یا overload در سرور خواهد شد. حمله ddos چقدر طول می کشد؟ یکی از سوال های همیشگی در چنین موقعیت هایی این است که یک حمله ddos چقدر طول می کشد و ظرف چه مدتی به پایان می رسد، پاسخ این سوال نیز می تواند یک جمله باشد: تا زمانی که به پایان رسد! این موضع بستگی به میزان سماجت مهاجم و ضعف مدافع دارد، یعنی اگر مهاجم بر ادامه حملات خود اصرار داشته باشد و در مقابل مدافع که همان مدیران سرور هستند نتوانند از عهده کنترل اوضاع بر آیند، ممکن است حمله ddos ساعت ها یا روزها به طول انجامد، در خوش بینانه ترین حالت ظرف چند دقیقه و در بدترین حالت چندین و چند روز و به دفعات ممکن است طول بکشد. برای جلوگیری از حمله ddos چه کارهایی را انجام دهیم؟ واقعیت این است که کنترل حمله های ddos پس از وقوع کمی دشوارتر از پیشگیری از آن است، امروزه در سایتها و انجمن های زیادی به افراد آموزش شیوه های هک و ایجاد حمله های ddos داده می شود که این امر با افزایش شمار کاربران اینترنت (که می توانند میانجی و قربانی بالقوه برای حمله به سرورها باشند) رو به گسترش است، البته آسیب پذیری در این رابطه، بیشتر به امنیت سرور برمی گردد تا به امنیت سایت شما، در مورد سرور می توان پس از اطمینان از حمله ddos، آی پی هایی را که بیشترین تقاضا را به سرور داشته اند و ناشناس هستند، توسط فایروال ها بلاک و مسدود کرد، یا با نصب بسته های امنیتی خاص و به روزرسانی و ارتقا سخت افزاری و نرم افزاری، آسیب پذیری سرور را کاهش داد، آگاهی از روند عادی سرور نیز می تواند کمک بزرگی در این خصوص محسوب شود، چرا که اگر مدیر سرور نسبت به عادی یا غیر عادی بودن ترافیک آن، آشنایی داشته باشد، به سرعت می تواند پی به وجود این نوع حمله ها ببرد و در جهت رفع آن برآید، به عنوان یک کاربر در سرویس های میزبانی وب، بهترین کار این است که به محض مشکوک بودن به چنین حمله هایی، موضوع را به هاست خود اطلاع دهید تا در کوتاه ترین زمان جلوی آن گرفته شود. منبع:وب گو |