حمله DDOS یا Distributed Denial-of-service attack به معنی حمله توزیع شده جهت مختل سازی سرویس میباشد.
این حمله با سرازیر کردن سیگنال های زیادی از چند سیستم به یک سرور، با هدف استفاده بیش از حد از منابع آن صورت میگیرد، به طوری که سرویس دهی عادی سرور به کاربرانش دچار کندی و یا به طول کامل قطع شود.
حمله DDOS به صورتی که cpu, RAM و Port سرور را به شدت درگیر میکند. در نتیجه سیستم های عادی که قصد دریافت سرویس از این سرور دارند دچار مشکل میشوند و این مسئله کاربران سرویس دهنده قربانی را دچار مشکلات عدم دریافت سرویس می کند. سرور های مجازی قوی دارای firewall هایی هستند که مانع از ورود این حملات میشوند. برای آشنایی بیشتر با سرور مجازی به صفحه سرور مجازی چیست و کاربردهای آن در دنیای آی تی مراجعه کنید.
در بسیاری از حوزه های قضایی در آمریکا انجام حمله DDOS جزئی از جرائم کامپیوتری حساب میشود و دارای مجازات چند ساله میباشند.
تفاوت حمله DDOS با حمله DOS
DOS به معنی حمله ای که سرویس سرور قربانی را مختل میکند میباشد. تفاوت بین حمله DOS و حمله DDOS در این است که در حملات DOS شخص مخرب از یک سیستم به صورت مستقیم برنامه خود را اجرا و درخواست ها را به سمت سرور قربانی ارسال میکند ولی در حمله DDOS هکر از چندین سیستم مختلف و یا کامپیوترهای موجود در شبکه ای تحت عنوان بات نت برای اجرای برنامه خود استفاده میکند. کنترل کردن حمله DOS برای سیستم راحت تر است و قابل رفع است. ولی کنترل حمله DDOS بسیار دشوار تر است.
نحوه اجرای حمله DDOS
فردی که قصد تخریب سرور مورد نظر را دارد، با استفاده از بد افزار های خود به سیستم های متعدد متصل می شود و با آن ها سیگنال های بسیار زیادی را به سمت سرور هدف میفرستد. یکی از راه های پخش شدن بد افزار بر روی سیستم های کاربران ارسال ایمیل های آلوده برای آن ها میباشد که به محض باز شدن این ایمیل سیستم آلوده به بد افزار خواهد شد و شروع به ارسال سیگنال به سمت سرور قربانی خواهد کرد.
شخصی که قصد انجام حمله DDOS را دارد از طریق BotNet این حمله ها را انجام میدهد. باتنت شبکه ای است که با در دست گرفتن کنترل منابع مجموعهای از سیستم ها که بد افزار مورد نظر بر روی آن ها نصب شده است بوجود می آید. کنترل این شبکه به دست فردی به نام بات مستر است.
در این جا بات مستر یک بدافزار را روی یک سیستم میزبان نصب میکند و میزبان را آلوده میکند و آن را عضوی از شبکه ی خود میکند. وقتی میزبان آلوده شد برنامه ای را اجرا میکند و دیگر به صورت کامل به یک ربات تبدیل میشود . از این پس ربات هربار منتظر دستور بات مستر برای ارسال سیگنال های مخرب به سمت سرور های قربانی حمله DDOS میباشد. این ارسال به گونه ای است که در مدت زمان کوتاهی تعداد زیادی سیگنال فرستاده میشود.
انواع حمله DDOS
حملات DDOS انواع زیادی دارد. در این بخش به چند نوع از متداول ترین های آن اشاره میکینم.
حمله Ping Flood : فرد مخرب با ارسال تعداد زیادی ICMP – Echo Request که یکی از پروتوکل های TCP/IP است و به اسم پینگ شناخته میشود، سعی دارد که روی سیستم هدف اختلال ایجاد کند یا آن را کاملا از دسترس خارج کند. در اینجا سیستم هدف تلاش می کند تا به درخواست های بی شماری پاسخ دهد، در نتیجه پهنای باند شبکه خود را به طور کامل به این پاسخ ها اختصاص داده و سرویس دهی مختل می شود.
حمله SYN Flood :در اینجا درخواست SYN که یک بسته TCP است که به سیستم دیگر ارسال شده و درخواست می کند ارتباط بین آنها برقرار شود به سرور قربانی فرستاده میشود.ولی چون این آدرس جعلی است ،مرحله دوم اتصال انجام نمی شود و سرور در انتظار تکمیل ارتباط می ماند. با فرستادن درخواست های زیاد، محدودیت کانکشن ها تمام می شود و جایی برای ایحاد کانکشن جدید بین سرور و کاربران واقعی نمی ماند و سرویس دهی مختل می شود.
حمله UDP Flood : در این روش فرد مخرب بستههای UDP بسیاری به پورتهای مختلف و تصادفی ارسال میکند وهیچ ترتیبی برای انجام این کار ندارد. در این حالت سرور ابتدا تلاش میکند که از باز بودن پورت مورد نظر مطمئن شود،در اینجا ممکن است پورت ها بسته باشند، یا هیچ برنامه ای برای شنیدن این پکت آماده نباشد در این صورت سرور، بستههای ICMP از نوع Destination Unreachable میفرستد که میزان بالایی از منابع سرور را درگیر میکند.
حمله HTTP Flood : معمولاً برای لود کردن صفحات وب یا ارسال محتوای از طریق اینترنت از HTTP استفاده می شود. HTTP اساسی ترین پروتکل اینترنت میباشد که برای رد و بدل کردن درخواست ها و پاسخ های مبتنی بر متن استفاده می شود. فرد مخرب با به کارگیری چند نفر یا با استتفاده از بات نت ها تعداد زیادی درخواست HTTP به سمت سرور یا دستگاهی میفرستد و سرور را مشغول نگه میدارد. درخواستها مشابه درخواست یک کاربر واقعی هستند. از طرفی این حمله نسبت به حملههای دیگر نیاز به پهنای باند کمتری دارد. در نتیجه تشخیص و جلوگیری این حمله دشوار تر میشود.
حمله IP Fragmentation: با سوء استفاده از MTU که حداکثر واحد انتقال است، انجام میشود. در این نوع از حمله های DDOS با ارسال بسته های ICMP و UDP جعلی که بیش تر از حد مجاز MTU شبکه است، به این صورت که با تکه تکه کردن ip تعداد زیادی بسته میفرستد، در نتیجه سیستم توانایی شناسایی و بازسازی بسته ها را ندارد و از دسترس خارج میشود.
حمله Smurf Attack : در این نوع حمله DDOS فرد مخرب با جعل کردن ip سیستم های دیگر تعداد زیادی پینگ به سرور هدف می فرستد درنتیجه سرور میخواهد تعداد زیادی echo reply بفرستد که یا هنگ میکند یا بسیار کند میشود.
حمله DNS Amplification: در این نوع از حمله DDOS شخص مخرب ip خود را با ip سرور قربانی عوض میکند در نتیجه وقتی درخواست می فرستد تا dns server یک ip را ترجمه کند، پاسخ این درخواست به خود سرور هدف میرود. حالا این شخص مخرب این درخواست ها را از چندین سرور میفرستد به این صورت که معمولا برای افزایش بار بر روی سرور از DNS Server ها تمام ساب دامنه های سرور قربانی را هم درخواست میکند که به این صورت سرور قربانی زمان بیشتری برای پاسخگویی به درخواست ها لازم داشته باشد. درنتیجه تعداد زیادی پاسخ با حجم بالا به سمت سرور هدف فرستاده میشود و سرور قربانی هنگ میکند.
حمله Ping of Death : حداکثر سايز پکتی که ميتوان ارسال کرد 65,535 بايت است، حالا اگر شخص مخرب پکت هایی باحجم بالاتر از این ارسال کند، مثلا با روش تکه تکه فرستادن پکت، در این صورت سرور مقصد وقتی میخواهد پکت ها را به صورت منسجم کنار هم بگذارد هنگ میکند. در این نوع از حمله DDOS یک مهاجم ، به جز آدرس IP به اطلاعات دقیقی از دستگاهی که او حمله می کرد ، نیاز ندارد؛ از همین رو این نوع حمله به سادگی قابل اعمال است.
حمله Fork Bomb : یک process بیش از حد مجاز process تولید میکند. و به همین ترتیب باعث اشغال منابع سیستم وکرش کردن سیستم هدف می شود. به عنوان مثال با ایجاد یک حلقه تکرار بی نهایت در برنامه میتوان منابع سرور را به طور کامل درگیر برنامه کرده و باعث هنگ کردن سرور قربانی شد.
در لینوکس نوعی Fork Bomb وجود دارد با نام Bash fork Bomb که اگر رخ دهد، سیستم قربانی را از مدار خارج می نماید . شخص مخرب برای اجرای Bash fork Bomb کد زیر را در ترمینال هر نوع لینوکسی تایپ میکند و دکمه Enter را میزند، پس از گذشت مدت کوتاهی سیستم قربانی کرش می شود و برای این که به حالت اولیه خود بازگردد، باید سرور را ریست کرد.
در ویندوز با اجرا دستورات زیر در یک فایل .bat و اجرای آن در زمان startup میتوان به محض بالا آمدن ویندوز باعث هنگ کردن سرور شد.
تفاوت حمله DDOS با حمله DOS
تفاوت بین حمله DOS و حمله DDOS در این است که در حمله DOS هکر از یک سیستم به صورت مستقیم برنامه خود را اجرا و درخواست ها را به سمت سرور قربانی ارسال میکند ولی در حمله DDOS هکر از چندین سیستم مختلف و یا کامپیوترهای موجود در شبکه ای تحت عنوان بات نت برای اجرای برنامه خود استفاده میکند. کنترل کردن حمله ی DOS برای سیستم راحت تر است و قابل رفع است. ولی کنترل حمله DDOS بسیار دشوار تر است.
پیشگیری از حمله DDOS
- در تعدادی از حملات اشخاص مخرب میتوانند با Spoofed Source IP ها (IPهای گمراه کننده) ترافیک بالایی را به وجود بیاورند. سیستم ها باید از فیلترهای Anti-Spoofing استفاده نمایند تا از اقدام هکرها برای ارسال Packet های مخرب جلوگیری کنند.
- استفاده از سیستم حفاظتی IDS که یک سیستم تشخیص نفوذ هستند و با آنالیز ترافیک شبکه، نشانه هایی برای حمله ی سایبری را تشخیص میدهد.
- نصب و کانفیگ حرفهای آنتیویروس برای اسکن خودکار سرور.
- بستن دسترسی فایلهای مهم و خطرناک سیستم عامل برای امنیت بیشتر.
- بستن پورتهای سرور و حذف کردن سرویسهایی که در سرور ضروری نیستند .
سرور Anti DDOS
DDoS Protected VPS یک سرور مجازی است که بر روی شبکه ای مجهز شده است که بتواند حمله DDOS بزرگ را مدیریت کنند و به آن ها رسیدگی کنند این سرور ها با استفاده از ابزارهای قدرتمند کاهش حمله DDOS این رسیدگی را انجام میدهند. برای مشاهده انواع سرور مجازی به صفحه سرور مجازی مراجعه کنید
این ابزار شامل یک شبکه که بتواند درخواستهای ورودی زیادی را به منظور تجزیه ترافیک درست از ترافیک DDOS کنترل کند و ابزارهای سبک سازی سخت افزاری و نرم افزاری ، که امکان کنترل هجوم ترافیک را در هنگام حملات پیچیده فراهم می کنند، میباشد.