بخشی از مقاله
-1 چکیده
در این مقاله به برخی تعاریف اولیه در مورد حملات DDoS ساختار و چگونگی انجام اینگونه حملات و سپس شرح و بررسی انواع آنها و دستهبندی آنها از جهات گوناگون آن پرداخته شده است. در ادامه چند نمونه از ابزارهای مورداستفاده برای حملات DDoSو برخی از حملاتی که با استفاده از این ابزارها ایجاد میشوند و تأثیرگذاری هر یک از آنها را معرفی گردیده است . بعد از شناخت در مورد این حملات و با توجه به گستردگی اینگونه حملات و خسارتهای قابلتوجه آنها در بسیاری از کمپانیهای بزرگ و روشن شدن لزوم دفاع در برابر این حملات انواع مکانیسمهای دفاع در مقابله با این حملات معرفی شده است. مکانیسمهای متفاوت که در این مطلب گنجاندهشده است که با توجه به محل استقرار سیستم دفاعی در شبکه و با توجه به اینکه حمله در کدام لایه شبکه رخداده است موردبررسی قرارگرفتهاند.
-2 مقدمه
امروزه انکار سرویس توزیعی شده 1یکی از عوامل تهدید در تجارتهای اینترنتی به شمار میرود. با بیشتر از 50 هزار حمله مجزا در هفته حملات انکار سرویس توزیعی از هزینهبرترین و همچنین قابلمشاهدهترین شکل جرائم اینترنتی تبدیل شدند. آنها بهسرعت توسط تجارتهای الکترونیکی آدرسدهی میشوند تا از هزینه خرابی این حملات کم شود. [3 ,2] تحلیلگران تخمین زدهاند در طول سه ساعت که یاهو خراب بوده است ضررهای مربوط به تبلیغات تجارت الکترونیکی چیزی در حدود 500 هزار دلار بوده است. همچنین اثر این حملات بر روی سایت آمازون و خرابی آن در طول ده ساعت منجر به 600 هزار دلار خسارت شده است.[4] حملات انسداد سرویس یکی از بزرگترین تهدیدات سیستمهای کامپیوتری محسوب شده و روزبهروز گستردهتر میشود . به همین دلیل نیاز برای مقابله سریع و مؤثر با این حملات روزبهروز افزایش مییابد.
-3 نحوه انجام حملات انکار سرویس توزیعی بهصورت کلی
مرکز بسیاری از این حملات شمار زیادی از کامپیوترهای به خطر افتاده در خانهها، مدارس، ادارت و کامپیوترهای دولت در سراسر جهان است. مهاجم از این کامپیوترها بهعنوان زامبی بهصورت پراکسیهای بینام و بهمنظور مخفی کردن هویت واقعی خود و گسترش دادن حملات استفاده میکند. نرمافزارهای بات یک اپراتور را قادر میکنند هر سیستم از راه دور کنترل کند و آنها را به یک گروه تبدیل کند کهعموماً به آن زامبی2یا ارتش بات نت میگویند.[6 ,5] در حال حاضر دو روش برای مشاهده انکار سرویس توزیعی در اینترنت وجود دارد:
اولین روش فرستادن پاکتهای ناهنجار به قربانی برای گیج کردن برنامه یا پروتکلی روی آن است.[7] روش دیگر که رایجتر نیز هست شامل تلاش مهاجم برای انجام یک یا هر دو مورد زیر است: خراب کردن حق ارتباط کاربر از طریق اشغال پهنای باند، ظرفیت پردازش روتر و یا منابع شبکه کهاساساً سیل آساهای3 سطح انتقال در شبکه هستند.[8 ,7] خراب کردن حق سرویس کاربر با اشغال کردن منابع سرور - مانند سوکت ها، CPU، حافظه، پهنای باند دیسک/ دیتابیس و پهنای باند - I/O کهاساساً شامل سیل آساهای سطح برنامه هستند.[7]
یک حمله انکار سرویس توزیعی شامل 4 جز خواهد بود: مهاجم، گرداننده4، عاملها - که به آنها زامبی یا برده5 میگویند - و قربانی. مهاجم ابتدا میلیونها ماشین را در سراسر اینترنت برای یافتن ماشینهای آسیبپذیر که ازلحاظ امنیت قابل بهرهبرداری هستند را جستوجو میکند. دراینبین ماشینهایی بهعنوان برده انتخاب میشوند که این ماشینها مستقماًی در کنترل مهاجم قرار میگیرند. فرایند انتخاب زامبیها بهصورت خودکار و بهصورت اسکن کردن ماشینهای راه دور برای یافتن دیگر ماشینهای دارای نقاط ضعف انجام میگیرد. مهاجم کدهای مخرب را روی ماشینهای عفونی که میتوانند ماشینهای بیشتری را عفونی کنند نصب میکند,1] .[9
-4 دستهبندی حملات انکار سرویس توزیعی
انواع مختلفی از حملات DDoS وجود دارد. برای یافتن مکانیزم مؤثر در مقابله با این حملات دانستن ماهیت طبقهبندی این حملات لازم است. برای طبقهبندی کردن این حملات چند ویژگی موردبررسی قرار خواهد گرفت. ازجمله معماری، درجه خودکار بودن، محتوای پاکت دادهها و تأثیر حمله. [10]1
1؛-4 طبقهبندی بر اساس معماری
مدل :Agent-Handler این مدل از حمله شامل مهاجم، گرداننده، بردهها و شبکه هدف است. گردانندهها بستههای نرمافزاری هستند که در اینترنت قرار دارند و مهاجم از آنها برای ارتباط با بردهها استفاده میکند. نرمافزار بردهها در سیستمهایی که درنهایت حمله را انجام میدهند نصب میشوند. مهاجم با تعدادی از گردانندهها تماس میگیرد تا بردههای در حال اجرا را در هنگام زمانبندی حمله یا بهروز کردن بردهها شناسایی کند.[10, 11]
مدل بازتابنده: 2 این مدل شامل مهاجم، گرداننده، بردهها و بازتابنده است. مهاجممعمولاً درخواستهای جعلی را بهجای درخواستهای مستقیم به بازتابنده ارسال میکند مانند درخواست اکو . - ICMP ازاینرو بازتابنده پاسخهای خود را به قربانیها ارسال میکنند و باعث اشغال منابع ماشینهای قربانی میشوند.[12 ,11]
مدل بر مبنای :IRC این مدل مشابه با مدل قبلی است ولی بهجای استفاده از برنامه گرداننده از 3IRC برای ارتباط کلاینت و بردهها استفاده میکند.[13 ,10] مهاجم به دلیل ترافیک زیادی که در کانال IRC توسط سرور به وجود میاید بهراحتی میتواند حضور خود را مخفی کند.[7]
2؛-4 طبقهبندی بر اساس خودکار بودن
در این طبقهبندی حملات به سه دسته تقسیم خواهند شد مدل دستی: مهاجم کار جستوجو برای یافتن ماشین راه دور آسیبپذیر را آغاز میکند. سپس به آنها نفوذ کرده و کدهای حمله را نصب میکند و فرمان حمله را صادر میکند.
مدل نیمهخودکار: مزاحم اسکریپتهایی را جهت بررسی ماشینهای هدف برای نصب کدهای حمله ارسال میکند. گرداننده برای مشخص کردن نوع حمله، آدرس قربانی مشغول میشود و پسازآن دستور به برده ایی که باید پاکتها را به قربانی ارسال کند شروع حمله را میدهد.
مدل خودکار: فاز حمله را نیز برای جلوگیری از نیاز به هر ارتباطاتی بین مهاجم و بردهها خودکار میکند. در زمان شروع حمله، نوع حمله، طول مدتزمان حمله و آدرس قربانی نیز در کد حمله برنامهنویسی میشود .[10]
3؛-4 طبقهبندی بر اساس تأثیر حمله
بر اساس این نوع تقسیمبندی حملات DDoS به دو نوع مخرب4و تضعیفکننده5تقسیم میشوند.
مخرب: کل پهنای باند قطع میشود به همین دلیل به این نوع حملات آشوبگرانه میگویند.
تضعیفکننده: اگر حمله DDoS باعث مصرف بخشی از پهنای باند شود گفته میشود حمله تضعیفکننده است. تشخیص این نوع حمله به دلیل قطع تدریجی پهنای باند دشوار است.[10]
4؛-4 طبقهبندی بر اساس محتوای پاکت داده
حملات :Filterable این حملات از پاکت دادههای جعلی و یا پاکت دادههایی برای عملیات سرویسهای غیر بحرانی قربانی استفاده میکنند درنتیجه میتوانند توسط فایروال مسدود شوند.[14] حملات :non-Filterable این حملات از بستههایی استفاده میکند که درخواستهای قانونی از قربانی دارند؛ بنابراین پالایه کردن پاکتهایی که امضای آنها مشابه با مهاجم است منجر به قطع سرویسدهی به مهاجم و همینطور کلاینتهای قانونی میشود. برای مثال یک حمله سیل آسا HTTP یک وب سرور را مورد هدف قرار میدهد و یا سیل آسا DNS یک name serverرا مورد هدف قرار میدهد.[14]
5؛-4 ابزارهای DDoS
مهاجمان برای مجهز کردن خود در برابر مکانیزمهای تشخیصودفاع، بهطور مداوم روند امنیت شبکهها را دنبال میکنند. در ادامه چند نمونه از ابزار معروف حملات DDoS معرفی شده است :Trinoo ابزار ساده ایست که برای انجام سیل آسا UDP بر روی یک یا چند IP استفاده میشود. بستههای با طول ثابت UDP به پورتهای تصادفی ماشین قربانی ارسال میشوند. گرداننده از ارتباط UDP و یا TCP برای ارتباط با بردهها استفاده میکند. این کانال ارتباطی را بهخوبی میتوان توسط پسورد محافظت و رمزنگاری کرد. بااینکه میتوان به trinoo این قابلیت را اضافه کرد ولی trinoo آدرس منبع را جعل نمیکند.[14]
:1TFN ابزاری برای انجام حملات DDoS است که در سال 1999 نوشته شد. این ابزار قابلیت دستیابی به تخریب پهنای باند و همچنین تخریب منابع را برای مهاجم فراهم کرد. از رابط کاربری خط فرمان برای ارتباط بین مهاجم برنامههای مستر استفاده میکند اما رمزنگاریای بین مهاجم و گرداننده و بردهها و گرداننده صورت نمیگیرد.[15] میتواند حملاتی با ساختار ارباب/ برده ایجاد کند.[16] مهاجم میتواند با هر تعدادی از روشهای ارتباط با اربابان تماس برقرار کند.کنترل راه دور بردهها از طریق پاکتهای پاسخ اکو ICMP صورت میگیرد. همهی فرمانها از اربابان به بردهها با استفاده از پاکتهای رمزگذاری شده ICMP و نه با متنهای واضح که باعث عدمتشخیص میشوند فرستاده میشوند.[16]
:TFN2K نسخهی پیشرفتهتر TFN است. از پروتکل کنترل انتقال، UDP،ICMP و یا هر سه برای ارتباط بین مدیریت برنامه اربابان و همچنین ماشینهای برده استفاده میکند.[17] مزیت اصلی TFN2K این است که ارتباطات بین اربابان و بردهها رمزگذاری شده است.[18] :Stacheldraht ترکیبی از نکات مثبت Trinoo و TFN را دارا است. همچنین دارای توانایی انجام بهروزرسانی بر روی ماشینهای برده بهصورت خودکار است. از ارتباط TCP رمزگذاری شده بین مهاجم و برنامه کنترل ارباب استفاده میکند. ارتباط بین ارباب و دیمون مهاجم از TCP و ICMP استفاده میکند.Stacheldraht میتواند حملات ,Smurf سیل آسا ,SYN سیل آسا UDP و سیل آسا ICMP را پیادهسازی کند.[19]
-5 انواع روشهای تشخیص حملات DDoS
1؛-5 روش تشخیص بر اساس ویژگیهای رفتاری
یک روش رایج برای تشخیص ناهنجاریها شناخت یک الگوی نرمال از اشیا موردمطالعه است و هر رفتار نامنطبق با الگو بهعنوان یک ناهنجاری شناخته میشود. این روش در طیف گستردهای برای امنیت استفاده میشود.[20] تشخیص بر اساس پروفایل: یک استراتژی رایج برای مخفی کردن منبع حمله جعل IP است. برای مبارزه با این نوع حقه، استفاده از یک پالایه روی hop-count مؤثر است. توجه کنید که هکر نمیتواند به hop-count که یک پاکت IP برای دستیابی به مقصد میگیرد دست پیدا کند، هرچند که بتواند هر فیلدی را در هدر جعل کند. بهعلاوه گیرنده میتواند اطلاعات hop-count را از فیلد Time-to-Live در هدرIP استنباط کند.[20] تشخیص حملات DDoS با نرخ پایین: حملات با نرخ پایین shrew هم خوانده میشوند و تشخیص آنها سخت است.[21]
2؛-5 روش تشخیص بر اساس ترافیک شبکه
ترافیک شبکه مشخصه پراهمیتی در اینترنت است بنابراین ویژگی مهمی برای یافتن حمله DDoS در لایهی شبکه نیز هست. یک مفهوم به نام فاصله Quadratic وجود دارد که ترافیکهای ناهنجار در شبکه را با ترافیک معمولی قابلتمایز میکند.[22]