بررسی حملات DOS و DDOS در شبکه
در این مقاله به بررسی حملات DOS (حملات داس) و حملات DDOS (حملات دیداس) در شبکه پرداخته و آنها را به صورت کامل توضیح می دهیم و در نهایت راه های مقابله با این حملات بیان کرده و جزئیات آنها را ذکر می کنیم.
حملات DOS یا Denial Of Service
حمله DOS یا Denial Of Service باعت بوجود آوردن اختلال در سرویس دهی ماشین در شبکه می شود و از هزینه بالایی برخوردار است و نیازی به پهنای باند دارد.
دسته بندی حملات DOS
- حملاتی که توقف کامل یک سرویس را در پیش دارند: حمله مستقیم به پروسه سرویس دهنده و از کار افتادن آن پروسه.
- حملاتی که منابع یک سرور را تلف می کنند: حمله بر منابع یک سرویس دهنده مثل حافظه و CPU که با وجود فعال بودن سرویس دهنده، کاربران امکان سرویس گرفتن را نداشته باشند.
1- اختلال در کار سرویس دهنده از درون
معنی حمله از درون این است که نفوذگر قابلیت یک حق دسترسی مجاز بر روی ماشین شبکه را داشته باشد که برای انجام این کار وجود فیزیکی الزامی نیست و نفوذگر در پایان توانایی انجام حداقل کارهایی را پیدا می کند به طور مثال به وسیله مجوز Admin یا root به یک سیستم وارد شده، مستقیماً به یک پروسه در حال اجرا پایان داده یا به گونه ای در تنظیمات تغییراتی ایجاد کرده که کاربر قابلیت دسترسی به سیستم را نداشته باشد. حتی نفوذگری که مجوز سطح بالا نداشته باشد می تواند با مجوز کاربر عادی برنامه ای بنویسد و با اجرای آن سرویس دهنده را سرگرم کند و درخواست زیادی برای آن ارسال کند.
حمله از نوع بمباران
بمباران اصطلاحی است که به ارسال پی در پی درخواست برای یک فرآیند به صورتی که نتواند به درخواست واقعی پاسخگو دهد گفته می شود. نفوذگر منابع ماشین را بدون اینکه کاری با پروسته سرویس دهنده داشته باشد می تواند در دست بگیرد برای مثال برنامه ای بنویسید که زمان پردازنده یا حافظه یا دیسک یا پهناسی باند شبکه ی زیادی معرفی می کند.
راه های مقابله با این نوع حملات :
- استفاده از IDS
- اختصاص مناسب به افراد
- تنظیم دقیق سطوح دسترسی افراد
- سرور از منابع کافی استفاده کند.
2- حملات DOS از بیرون
بمباران با استفاده از بسته های ناقص و دارای اشکال
در این حالت برای درهم شکستن یک سرویس دهنده، با بسته های مشکل دار آن را بمباران می کنند و برای درهم شکستن یک سرویس دهنده که بسته های مشکل دار دارد آن را بمباران می کنند.
انواع حملات با استفاده از بسته های ناقص و دارای اشکال :
- حمله Land
- حمله Ping of Death
- حمله Jolt2
- حمله SYN Flood
- حمله Smurf
- حمله Fraggle
1- حمله Land
حمله Land یکی از خطرناک ترین حمله های است که بر علیه پروتکل TCP/IP صورت می گیرد و اگر این نوع حمله را بر روی چندین پورت باز انجام دهیم به عنوان Latierra شناخته خواهد شد.
مشخصات بسته های ارسالی در حمله Land به هدف:
- تنظیم فیلدهای پورت مبدأ و مقصد
- تنظیم فیلدهای آدرس IP مبدا و مقصد با یک مقدار
2- حمله Ping of Death
اندازه بسته های Ping حداکثر 64 KB می باشد و بسته های بزرگتر از آن غیر مجاز هستند و اگر به یک ماشین، یک بسته Ping با اندازه بیشتر از 64 KB ارسال شود، چون در پروسه ICMP هیچ تمهیدی برا آن در نظر گرفته نشده است، پروسه ICMP به راحتی مختل می شود و عملکرد صحیح خود را از دست می دهد.
3- حمله Jolt2
امکان تبدیل بسته های IP به قسمت های کوچکتر وجود دارد و فیلد fragment offset نشان دهنده جایگاه قطعه جاری در بسته اصلی است. مهاجم در این حمله قطعات زیادی را برای هدف می فرستد که در بین آنها هیچ قطعه ای با Fragment-Offset=0 وجود ندارد، از این رو IP برای تصمیم گیری بابت هر بسته در شروع آن را بازسازی کرده و برای این کار همه قطعات را در حافظه نگه می دارد و تمام حافظه ای که در اختیار IP است تمام شده و بسته جدیدی را نمی توان پیدا کرد.
راه های مقابله با حمله Jolt2 :
- به روز کردن و شناسایی نقاط ضعف OS
- استفاده از یک دیواره آتش قوی
4- حمله SYN Flood
از بین بردن منابع سیستم از راه دور یکی از اهداف این حمله می باشد.
مراحل ارتباط TCP براساس یک دست تکانی :
- ارسال یک بسته syn=1 توسط مشتری برای سرور
- ارسال یک بسته Akc=1 و syn=1 توسط سرور به مشتری
- ارسال یک Ack=1 توسط مشتری برای سرور
سرویس دهنده مشخصات تقاضا را بعد از مرحله دوم در جایی ذخیره می کند در واقع مقداری از فضای حافظه خود را برای ذخیره بعضی از اطلاعات مربوط به این درخواست صرف می کند که بین 40 تا 360 ثانیه اطلاعات را نگه می دارد در صورتی که مرحله دوم تکمیل نشد اطلاعات را دور می ریزد. نفوذگر در حمله SYN flood تعدادی بسته syn را در یک حلقه بی نهایت تولید می کند و با استفاده از آدرس های IP برای سرور مبدأ دروغین ارسال می کند و سرور باید در قبال هر درخواست مشخصات آن را در حافظه خود ذخیره کند. اگر نفوذگر این بسته ها با سرعتی مناسب برای سرور بفرستد حافظه سرور پر شده و دیگر توانایی دریافت درخواست های واقعی را نخواهد داشت.
راه های مقابله با حمله SYN Flood :
- حافظه بالا برای سرور و استفاده از پهنای باند
- کوتاه کردن مدت زمان نگهداری یک ارتباط نیمه تمام
- در Linux صفی تشکیل نمی شود و اطلاعات به طور مخفیانه و رمز شده در بسته Syn-Ack که سرور برای مشتری می فرستد قرار دارد و این اطلاعات در مرحله سوم برای سرور دوباره فرستاده می شود.
5- حمله Smurf
نفوذگر بسته ping را با آدرس فراگیر برای همه ماشین های شبکه می فرستد و Broadcast بسته را توسط ماشین های شبکه دریافت و هر یک را به صورت جداگانه سعی می کند پاسخ دهد. اکنون تصور کنید آدرس ماشین قربانی توسط نفوذگر در فیلد آدرس مبدأ بسته ping اولیه، قرار داده شده بدین ترتیب ماشین قربانی با سیل بسته های پاسخ روبرو می شود. نفوذگر بسته هایی را که از ماشین قربانی دریافت می کند برای ماشین های محلی است و اگر در هر ثانیه چندین بسته برای شبکه فرستاده شود ماشین قربانی از کار می افتد.
بخش های آدرس IP
- آدرس شبکه
- آدرس میزبان
مقابله با حمله Smurf :
- مسیریاب اجازه نمی دهد از بیرون شبکه، بسته broadcast به داخل شبکه فرستاده شود.
- بسته های ICMP در مسیریاب حذف می شود.
- ICMP برای ماشین هاش شبکه غیر فعال می شود.
6- حمله Fraggle
پورت شماره 7 در UDP برای echo تهیه شده است و هر داده ای که برای آن فرستاده شود دقیقا به مبدأ فرستاده می شود. نفوذگر در این حمله یک بسته UDP بر روی پورت 7 را با آدرس broadcast به شبکه می فرستد و آدرس مبدأ را به ماشین SET قربانی می کند و ماشین شبکه بسته را دریافت همان را برای ماشین قربانی می فرستد.
راه مقابله با حمله Fraggle :
- مسیریاب اجازه نمی دهد از بیرون شبکه یک بسته broadcast به داخل شبکه فرستاده شود.
- پورت 7 مربوط به UDP را بر روی ماشین ها می بندد
حملات DDOS یا Distributed Denial of Service
حملات DDOS اولین بار در سال 1999 استفاده شدند و نفوذگر در بیشتر حملات پهنای باند بالایی را باید در اختیار داشته و به خاطر طولانی شدن حمله مثل Syn flood هویت نفوذگر آشکار می شود و این عمل هزینه بالایی دارد.
خصوصیات و اهداف کلی حملات DDOS :
- نداشتن هزینه برای نفوذگر
- پنهان ماندن هویت نفوذگر
- موفقیت در آنها زیاد است
- مبارزه کردن با آنها سخت است
- استفاده از ماشین ها در سراسر اینترنت برای هدف خود
Zombie به ماشین های که بدون اطلاع و از طریق نفوذگر به عنوان ابزاری برای حملات DDOS مورد سوء استفاده قرار می گیرد گفته می شود. نفوذگر از طریق روش هایی نرم افزار Zombie را روی ماشین های کاربران نصب می کند که این نرم افزارها مثل تروجان در قالب برنامه رایگان بین کاربران توزیع شده و هر کدام از این برنامه ها بخشی از حمله DDOS را برعهده دارد که در ماشین مورد نظر اجرا و منتظر فرمان از جانب نفوذگر می باشد.
حمله TFN2K یا Tribe Flood Network 2000 :
نفوذگر در این حمله ماشین های Zombie را به گروه هایی تقسیم و برای هر کدام یک سرگروه انتخاب کرده و فرمان حمله را به سرگروه اعلام می کند و ماشین های Zombie از طریق سرگروه فرمان را دریافت می کنند. از شگفت انگیزترین مسئله که در TFN2K وجود دارد می توان به این اشاره کرد که نرم افزار در ماشین های Zombie پورت جدیدی را باز نمی کند و صاحب ماشین به نرم افزارهای اسکن پورت ها نمی تواند مشکوک شود و آدرس صدور بسته پاسخ ping جعلی تنظیم می شود تا ماشین های نفوذگر و سرگروه کشف نشود نفوذگر برای فرستادن دستور حمله از بسته های پاسخ ping (ech reply packet) استفاده می کند که اغلب مسیریاب ها و دیواره های آتش اجازه می دهند این بسته وارد شبکه شود برای اینکه فکر می کنند این بسته در پاسخ دستور ping به شبکه بازگشته و نحوه صدور فرمان حمله دهنده از موارد هوشمندانه TFN2K می باشد.
دلایل پیگیری ماشین های Zombie :
- زیاد بودن تعداد آنها
- در کل دنیا پراکنده و به ISP متفاوتی وصل هستند از این رو پیدا کردن آنها زمان گیر و غیر ممکن است.
- بی گناه بدون آنها
نفوذگر بعد از پایان حمله ماشین های Zombie را وادار به پاک کردن نرم افزار TFN2K و حتی کل اطلاعات دیسک سخت سخت ماشین Zombie را پاک می کند که به این عمل انفجار قرارگاه گفته می شود.
راه های مقابله با حمله DDOS :
- ماشین های شبکه باید مورد آزمایش قرار بگیرد تا به عنوان Zombie استفاده نشوند.
- این نرم افزار اجازه نمی دهد که ماشین از داخل شبکه با آدرس مبدأ برای بیرون شبکه داده ارسال کند و در این مسیریاب ها از نرم افزار Anti-spoof دو طرفه استفاده می شود که عملا در حمله مؤثر Zombie است.
هیچ نظری ثبت نشده است