Categories: امنیتشبکه

بررسی جامع حملات DOS و DDOS – بخش اول

حملات DoS معمولا از یک یا چند نقطه که از دید سیستم یا شبکه قربانی عامل بیرونی هستند، صورت می گیرند. در بسیاری موارد، نقطه آغاز حمله شامل یک یا چند سیستم است که از طریق سوءاستفاده های امنیتی در اختیار یک نفوذگر قرار گرفته اند و لذا حملات از سیستم یا سیستم های خود نفوذگر صورت نمی گیرد. بنابراین، دفاع برعلیه نفوذ نه تنها به حفاظت از اموال مرتبط با اینترنت کمک می کند، بلکه به جلوگیری از استفاده از این اموال برای حمله به سایر شبکه ها و سیستم ها نیز کمک می کند. پس بدون توجه به اینکه سیستم هایتان به چه میزان محافظت می شوند، قرار گرفتن در معرض بسیاری از انواع حمله و مشخصاً DoS، به وضعیت امنیتی در سایر قسمت های اینترنت بستگی زیادی دارد.

مقابله با حملات DoS تنها یک بحث عملی نیست. محدودکردن میزان تقاضا، فیلترکردن بسته ها و دستکاری پارامترهای نرم افزاری در بعضی موارد می تواند به محدودکردن اثر حملات DoS کمک کند، اما بشرطی که حمله DoS در حال مصرف کردن تمام منابع موجود نباشد. در بسیاری موارد، تنها می توان یک دفاع واکنشی داشت و این در صورتی است که منبع یا منابع حمله مشخص شوند. استفاده از جعل آدرس IP در طول حمله و ظهور روش های حمله توزیع شده و ابزارهای موجود یک چالش همیشگی را در مقابل کسانی که باید به حملات DoS پاسخ دهند، قرار داده است.

تکنولوژی حملات DoS اولیه شامل ابزار ساده ای بود که بسته ها را تولید و از «یک منبع به یک مقصد» ارسال می کرد. با گذشت زمان، ابزارها تا حد اجرای حملات از «یک منبع به چندین هدف»، «از چندین منبع به هدف های تنها» و «چندین منبع به چندین هدف»، پیشرفت کرده اند. با توجه به اهمیت فراگیری این گونه حملات توسط مدیران سایت ها به معرفی انواع اینگونه حملات در آی تی پورت می پردازیم. در بخش دوم به راهکارهای مقابله با اینگونه حملات خواهیم پرداخت.

بررسی انواع حملات DOS

حملات DoS معمولا از یک یا چند نقطه که از دید سیستم یا شبکه قربانی عامل بیرونی هستند، صورت می گیرند. در بسیاری موارد، نقطه آغاز حمله شامل یک یا چند سیستم است که از طریق سوءاستفاده های امنیتی در اختیار یک نفوذگر قرار گرفته اند و لذا حملات از سیستم یا سیستم های خود نفوذگر صورت نمی گیرد. بنابراین، دفاع برعلیه نفوذ نه تنها به حفاظت از اموال مرتبط با اینترنت کمک می کند، بلکه به جلوگیری از استفاده از این اموال برای حمله به سایر شبکه ها و سیستم ها نیز کمک می کند. پس بدون توجه به اینکه سیستم هایتان به چه میزان محافظت می شوند، قرار گرفتن در معرض بسیاری از انواع حمله و مشخصاً DoS، به وضعیت امنیتی در سایر قسمت های اینترنت بستگی زیادی دارد.

حمله SYN flood

این حمله با ارسال درخواست‌های متعدد با علامت SYN به ماشین قربانی باعث پر شدن سف Backlog می‌شود. اما Backlog چیست؟ تمامی درخواست‌هایی که به ماشین وارد می‌شوند و شامل علامت SYN برای برقراری ارتباط می‌باشند در قسمتی از حافظه به ترتیب ذخیره می‌شوند تا پس از بررسی جواب آنها داده شده و ارتباط برقرار شود، این قسمت از حافظه Backlog Queue نام دارد. وقتی که این قسمت به علت درخواست‌های زیاد پر شود، سرویس دهنده مجبور به رها کردن درخواست‌های جدید می‌شود و در نتیجه از رسیدگی به این درخواست‌ها باز می ماند.

 

حمله SYN Flood Attack

 

حمله Reset یا RST

پاکت‌هایی که به علامت RST ارسال می‌گردند باعث می‌شوند که ارتباط مورد نظر قطع گردد. در واقع اگر ماشین A به سمت ماشین B پاکتی را با علامت RST ارسال کند درخواست اتصال مورد نظر از Backlog پاک خواهد شد.

از این حمله می توان برای قطع اتصال دو ماشین استفاده کرد. به این ترتیب که اتصالی که بین دو ماشین A و B برقرار است را نفوذگر با ارسال یک در خواست RST به ماشین B از طرف ماشین A قطع می‌کند. در واقع در داخل پکتی که از سوی ماشین نفوذگر به سمت قربانی ارسال می‌شود IP مشتری گذاشته می‌شود و در این صورت ماشین B که سرویس دهنده می‌باشد ارتباط مورد نظر ماشین A را از Backlog حذف می‌کند.

در این روش شخص حمله کننده بوسیله ابزاری می‌تواند IP جعلی تولید کرده و در واقع درخواست خود را جای ماشین دیگری ارسال کند. به این تکنیک Spoofing نیز گفته می شود.

با کمی دقت در شکل در می‌یابید IP مبدا (SourceIP) که در پکت ارسالی از سوی ماشین حمله کننده به سمت ماشین B می رود همان IP ماشین شماره A می باشد. در صورتیکه IPماشین شماره C که نفوذگر از آن استفاده می‌کند چیز دیگری است.

 

حمله RST Attack

 

حمله Land Attack

در این حمله با استفاده از روش Spoofing در پاکت‌هایی که به سمت سرویس دهنده ارسال می‌شود به جای IP و Port مبداء و مقصد IP و Port خود ماشین سرویس دهنده قرار داده می‌شود.

در واقع IP و PORT ماشین سرویس دهنده به سمت خود سرویس دهنده ارسال می‌شود. این عمل باعث می شود تا در سیستم عامل‌های قدیمی یک حلقه داخلی Routing به وجود بیاید که باعث پر شدن حافظه و به وجود آمدن حمله DOS می شود.

این حمله در ماشین‌های (Win 95 (winsok 1.0 و Cisco IOS ver 10.x و سیستم‌های قدیمی باعث از کار افتادن سیستم می‌شد اما امروزه تمامی سیستم های هوشمند مانند IDS ها قادر به شناسایی این حملات می باشند و این حمله تاثیر زیادی بر روند کاری سرویس دهنده ندارد.

 

حمله Land Attack

 

حمله Smurf Attack

این حملات با ارسال درخواست‌های ICMP به سمت محدوده‌ای از IP های amplifier باعث وسعت دادن ترافیک و به وجود آمدن حمله DOS می شوند.

حمله کننده می‌تواند درخواست‌های ICMP خود را به صورت Spoof شده و از طرف ماشین قربانی به IP های amplifier ارسال کند با ارسال هر درخواست صدها جواب برای درخواست ICMP به سمت ماشین قربانی سرازیر می شوند و ترافیک آن را بالا می برند.

Amplifier : تمام شبکه‌هایی که درخواست‌های ICMP را برای IP broadcast خود فیلتر نکرده‌اند یک Amplifier محسوب می شوند.

حمله کننده می‌تواند در خواست‌های خود را مثلا به IP هایی مانند: ۱۹۲٫۱۶۸٫۰٫xxx که X می تواند ۲۵۵, ۲۲۳, ۱۹۱, ۱۵۹, ۱۲۷, ۹۵, ۶۳, ۳۱, ۱۵, ۷, ۳ یعنی IP های Broadcast باشند ارسال کند. البته قابل ذکر است IP broadcast بستگی به چگونگی بخش‌بندی IP در شبکه دارد.

 

حمله Smurf Attack

 

حمله Ping Flood یا Ping of death

در این نوع حمله با ارسال مستقیم درخواست Ping به کامپیوتر قربانی سعی می گردد که سرویس ها بلاک و یا فعالیت آن ها کاهش یابد. در این نوع حمله اندازه بسته های اطلاعاتی به حدی زیاد (بالای K64 که در Ping غیر مجاز) می شودکه کامپیوتر قربانی قادر به برخورد مناسب با آمیختن بسته های اطلاعاتی نیست و مختل می شود.

 

استاندارد فرمت Ping

 

حمله Ping of death

 

حملات Teardrop

هنگامی که اطلاعات از یک سیستم به سیستم دیگر منتقل می شود به تکه های کوچکی تقسیم شده و در سیستم مقصد این تکه مجددا به هم متصل شده و کامل می شود. این بسته هر کدام دارای یک فیلد افست هستند که نشان می دهد بسته حاوی چه قسمتی از اطلاعات است. این فیلد به همراه شماره ترتیب به سیستم مقصد کمک می کند تا بسته ها را مجددا به هم متصل کند. در صورتی که بسته ها با شماره افست و ترتیب نامربوط ارسال شوند باعث می شود سیستم مقصد از مرتب کردن آنها عاجز شده و در هم بشکند.

 

حملات Teardrop

 

بررسی حملات عدم سرویس دهی توزیع شده D.DoS

حملات DDoS -Distributed Denial of Service حمله گسترده ای از DoS است. در اصل DDos حمله هماهنگ شده ای برعلیه سرویس های موجود در اینترنت است. در این روش حملات DoS بطور غیرمستقیم از طریق تعداد زیادی از کامپیوترهای هک شده بر روی کامپیوتر قربانی انجام می گیرد. سرویس ها و منابع مورد حمله، (قربانی های اولیه) و کامپیوترهای مورد استفاده در این حمله (قربانی های ثانویه) نامیده می شوند. حملات DDoS عموماً در از کار انداختن سایت های کمپانی های عظیم از حملات DoS مؤثرتر هستند.

این نوع حمله طبیعت توزیعی اینترنت را با میزبان هایی که دارای ماهیت جداگانه اطراف دنیا می باشند را به هم وصل می نماید تا جریان یکسوی حجیمی از بسته ھا در برابر یک یا چند قربانی ایجاد نماید. برای اجرای جریان یکسوی DDoS ھکر در ابتدا کنترل تعداد بسیار زیادی از دستگاه ھای قربانی را بدست خواھد گرفت، که زومبی نامیده می شوند.

سیستم ھای زومبی در ھر جای اینترنت واقع شده اند و دارای یک سری آسیب پذیریھای ساده می باشند که ھکر میتونه به سرعت برای بدست آوردن کنترل سیستم استفاده نماید. تا کنون در این نوع حملات، زومبی ھا در سرویس دھندگان آسیب پذیر دانشگاه ھا، سیستم ھای شرکتھای بزرگ، دستگاه ھای سرویس دھنده و حتی سیستم ھای کاربران خانگی که به Loop Digital-Subscriber یا سرویس ھای کابل مدم متصل می باشند نصب می شود. ھکر نوارھای بزرگی از اینترنت را پویش خواھد نمود که به دنبال دستگاه ھای آسیب پذیر استفاده از آنھا و نصب نرم افزار زومبی بر روی سیستم ھای آنھا می باشد. بیشتر دستگاه ھایی که در آن زومبی ھا نصب میشود با استفاده از حمله پر نمودن بیش از حد توده بافر، یا برنامه آسیب رسان مربوطه نصب می شوند. ھکرھا گروه ھایی از صدھا، ھزاران زومبی را ایجاد خواھند کرد.

 

حملات D.DoS

در زیر چند مورد از حملات گسترده عدم سرویس دهی D.DoS معرفی و نحوه عملکرد حملات را توضیح داده ایم.

 

حملات Trinoo

Trinoo در اصل از برنامه های Master/Slave است که با یکدیگر برای یک حمله طغیان UDP بر علیه کامپیوتر قربانی هماهنگ می شوند. در یک روند عادی، مراحل زیر برای برقراری یک شبکه Trinoo DDoS واقع می شوند.

 

حمله Trinoo

مرحله۱: حمله کننده، با استفاده از یک میزبان هک شده، لیستی از سیستم هایی را که می توانند هک شوند، گردآوری می کند. بیشتر این پروسه بصورت خودکار از طریق میزبان هک شده انجام می گیرد. این میزبان اطلاعاتی شامل نحوه یافتن سایر میزبان ها برای هک در خود نگهداری می کند.

مرحله۲: به محض اینکه این لیست آماده شد، اسکریپت ها برای هک کردن و تبدیل آنها به اربابان (Masters) یا شیاطین (Daemons) اجراء می شوند. یک ارباب می تواند چند شیطان را کنترل کند. شیاطین میزبانان هک شده ای هستند که طغیان UDP اصلی را روی ماشین قربانی انجام می دهند.

مرحله۳: حمله DDoS هنگامی که حمله کننده فرمانی به میزبانان Master ارسال می کند، انجام می گیرد. این اربابان به هر شیطانی دستور می دهند که حمله DoS را علیه آدرس IP مشخص شده در فرمان آغاز کنند و با انجام تعداد زیادی حمله DoS یک حمله DDoS شکل می گیرد.

حملات TFN/TFN2K

TFN -Tribal Flood Network یا شبکه طغیان قبیله ای، مانند Trinoo ، در اصل یک حمله Master/Slave است که در آن برای طغیان SYN علیه سیستم قربانی هماهنگی صورت می گیرد. شیاطین TFN قادر به انجام حملات بسیار متنوع تری شامل طغیان ICMP ، طغیان SYN و حملات Smurf هستند، بنابراین TFN از حمله Trinoo پیچیده تر است.

TFN2K نسبت به ابزار TFN اصلی چندین برتری و پیشرفت دارد. حملات TFN2K با استفاده از جعل آدرس های IP اجرا می شوند که باعث کشف مشکل تر منبع حمله می شود. حملات TFN2K فقط طغیان ساده مانند TFN نیستند. آنها همچنین شامل حملاتی می شوند که از شکاف های امنیتی سیستم عامل ها برای بسته های نامعتبر و ناقص سوءاستفاده می کنند تا به این ترتیب باعث از کار افتادن سیستم های قربانی شوند. حمله کنندگان TFN2K دیگر نیازی به اجرای فرمان ها با وارد شدن به ماشین های مخدوم (Client) به جای Master در TFN ندارند و می توانند این فرمان ها را از راه دور اجراء کنند. ارتباط بین Clientها و Daemonها دیگر به پاسخ های اکوی ICMP محدود نمی شود و می تواند روی واسط های مختلفی مانند TCP و UDP صورت گیرد. بنابراین TFN2K خطرناک تر و همچنین برای کشف کردن مشکل تر است.

 

حملات TFN/TFN2K

 

حملات Stacheldraht

کد Stacheldraht بسیار شبیه به Trinoo و TFN است، اما Stacheldraht اجازه می دهد که ارتباط بین حمله کننده و Masterها (که در این حمله Handler نامیده می شوند) رمزنگاری شود؛ عامل ها می توانند کد خود را بصورت خودکار ارتقاء دهند، می توانند اقدام به انواع مختلفی از حملات مانند طغیان های ICMP ، طغیان های UDP و طغیان های SYN کنند.

 

حملات Stacheldraht

امیدوارم از بخش اول آموزش تنهایت استفاده را کرده باشید.

حسین جاهدی

مهندس فناوری اطلاعات IT علاقه مند به مباحث امنیت شبکه ، برنامه نویسی و طراحی وب - مدیر راهبردی و نویسنده آی تی پورت

View Comments

      • ممنونم از مطالب عالی شما

        چقدر خوبه ک ب زبان عامیانه بیان شده،ممممممممنووووونم

        مشکلات زیادی در رابطه با امنیت دارم ممنون میشم اگ بتونم سوالاتمو ازتون بپرسم

  • با سلام مطلبتون خیلی عالی بود.

    اگه ممکنه قسمت دوم را هم قرار دهید.

  • عالی ممنون

    لطفا از امنیت اطلاعات و امنیت شبکه های کامپیوتری مطالب بیشتری در سایت قرار دهید.

    با تشکر

  • دستت درد نکنه، مطلب خوبی بود

  • سلام خسته نباشید

    چطوری می تونم حمله dos و ddos بصورت حرفه ای یاد بگیرم؟

  • من همینکه به وبلاگم حمله سایبری نشه باید خدا رو شکر کنم. البته آنقدر متخصصان امنیت هستند که بتونم ازشون در این زمینه کمک بگیرم.

  • سلام

    میشه لطفا منبع مطالب مفیدی را که اینجا بیان کردید هم بذارین یا برای بنده ایمیل کنید.

    بسیار بسیار ممنون میشم .

    ضمنا مطالبتون هم بسیار عالی بود

    متشکرم

Recent Posts

نکات ضروری برای دانلود ایمن؛ چگونه از ورود به دام سایت‌های مخرب جلوگیری کنیم؟

در دنیای بی‌پایان نرم‌افزارها و فایل‌های دیجیتال، امنیت در دانلود و استفاده از آنها یک…

9 ماه ago

معرفی و بررسی سری های لپ تاپ ایسوس

شرکت ایسوس یکی از پیشتازان در صنعت فناوری اطلاعات و الکترونیک است که در زمینه…

9 ماه ago

آموزش دستورات پاورشل به همراه فهرست کامل کد های ویندوز پاورشل

آیا شما هم به دنبال کار با کد های پاورشل برای هک هستید؟ در این…

11 ماه ago

شغل ادمین اینستاگرام چیست و چگونه ادمین اینستاگرام شویم؟

این روزها که همه افراد به دنبال یک شغل پردرآمد می گردند، مشغول به کار…

11 ماه ago

آموزش حل مشکل page isn’t available right now در اینستاگرام

خطای page isn’t available right now یکی از آزار دهنده ترین مشکلاتی است که کاربران…

11 ماه ago

ویندوز پاورشل چیست ؟ کاربرد ها و نحوه فعال سازی powershell

ویندوز پاورشل چیست؟ پاورشل ابزاری قدرتمند به حساب می آید که همه افراد علاقه مند…

11 ماه ago