DDoS Attack چیست؟

DDoS Attack چیست؟ : DDoS مخفف Distributed Denial of Service است که نوعی از حملات DoS (حمله به سرور) گفته می شود که یک تلاش مخرب برای مختل کردن ترافیک عادی یک سرور،سرویس و یا شبکه که با حجم زیادی از تقاضای کاذب عمدا بهسمت سرور مورد هدف روانه شود، تا آن سرور از کار بیفتد.بارها اتفاق افتاده که یک سایت مانند خرید بلین آنلاین و یا دانشگاها زمانی که با حجم زیادی از بازدیدکنندگان مواجه می شود سایت یا کند می شود و یا از دسترس موقت خارج می شود،حمله DDOS اتک دقیقا به همین صورت است و به عمد با هدف از کار انداختن سایت ،سرور و یا شبکه می باشد.
چگونه یک حمله DDoS کار می کند؟
حمله DDoS برای اجرای حمله نیاز به مهاجم دارد تا بتواند کنترل خود را بر روی شبکه دستگاه آنلاین انجام دهد.رایانه ها و سایر دستگاه ها (مانند دستگاه های IoT) به نرم افزارهای مخرب آلوده شده و باعث می شوند هر یک از آنها به یک ربات (یا زامبی) تبدیل شوند. سپس مهاجم کنترل از راه دور گروهی از رباتها به نام botnets را کنترل می کند.
پس از راه اندازی یک بات نت ، یک مهاجم می تواند با ارسال دستورالعمل های به روز شده به هر ربات ، از راه دور ماشین ها را کنترل کند.هنگامی که آدرس IP قربانی توسط یک بات نت مورد هدف قرار می گیرد.در حملات Dos نفوذگر از یک سیستم درخواستها را ارسال میکند. ولی در حملات DDos که نوعی از حملات از Dos میباشد، حملات از طریق چند سیستم صورت میگیرد. در این نوع حملات نفوذگر امکان دارد از کامپیوتر شما برای حمله به سیستم دیگری استفاده کند به شکلی که کنترل سیستم شما را به دست گرفته و از آن برای حمله به دیگر سرویسها استفاده میکند.
انواع حملات DDoS
این نوع حملات ممکن است در سطح لایههای مختلف شبکه صورت بگیرند. در اینجا به چند نوع اشاره می کنیم:
۱. حملات حجمی :
هدف مصرف کردن پهنای باند وبسایت است. در این روش حجم زیادی از دادهها برای ایجاد ترافیک بالا به سرور هدف ارسال می گردد.
۲. حملات لایهی نرمافزاری :
در این روش مهاجم یک نرمافزار یا سیستمعامل را هدف قرار میدهد. به طور مثال ممکن است روی نرمافزارهای مورد استفاده سیستم، باگی ایجاد شود که منابع سرور توسط این نرمافزار مصرف گردد.
۳. حملات پروتکل :
در این روش هدف مصرف تمام منابع سرور یا منابع سیستمهای وابسته مثل دیوار آتش است.
حملات پروتکل، که به عنوان حملات state-exhaustion نیز شناخته می شوند ، با استفاده از تمام قابلیت های سرورهای برنامه وب یا توسط منابع واسطه ای مانند فایروال ها و خرابی ها باعث ایجاد وقفه در سرویس می شوند. حملات پروتکل از آسیب پذیری در قسمت های ۳ و ۴ لایه پشته پروتکل استفاده می کنند تا هدف را غیرقابل دستیابی کند.
۴. حمله SYN Flood :
حملات SYN flood یکی از شایع ترین حملات DDoS در لایه ۴ شبکه مدل OSI که مثل حمله ACK و دیگر حملات TCP مبتنی بر یک اتصال TCP است که یک اتصال TCP طبق مطالب گذشته دارای سه مرحله است:
A) کلاینت یک بسته SYN به سرور می فرستد.
B) سرور یک بسته SYN ACK به کلاینت می فرستد.
C) کلاینت یک بسته ACK به سرور می فرستد.
هنگامی که این سه مرحله به اتمام برسد یک ارتباط بین سرور و کلاینت برقرار می شود که می توانند به تبادل اطلاعات بپردازند. تمامی سرور ها دارای محدودیت در کانکشن های باز می باشند که این محدودیت می تواند به دلایلی همچون محدودیت های سخت افزاری و یا پیکربندی تنظیمات سرور باشد.در یک حمله SYN flood که اکثرا با IP های جعلی انجام می شود. مرحله اول اتصال انجام می شود؛ یعنی درخواست SYN ارسال می شود ولی مرحله دوم اتصال انجام نمی شود و سرور در انتظار تکمیل ارتباط می ماند و به نوعی کانکشن نیمه باز می ماند، اگر میزان کانکشن های نیمه باز افزایش یابد محدودیت کانکشن ها تمام می شود و هیچ جای خالی برای ایحاد یک کانکشن جدید بین سرور و کاربران واقعی آنها نمی ماند و به اصطلاح سرور DOWN می شود.
۵. حمله DNS Amplification :
بر پایه هدایت ترافیک بدون اتصال از پروتکل UDP استفاده می شود. مهاجم با استفاده از DNS سرور های باز عمومی سعی در هدایت ترافیک بالا به IP قربانی است.در روش اولیه مهاجم یک درخواست DNS name lookup به یک سرور DNS عمومی ارسال می کند اما از IP جعلی ( که همان IP قربانی می باشد) جهت ارسال استفاده می کند و DNS سرور پاسخ را به همین IP ارسال می کند.
عامل تقویت بخش اصلی این حمله است؛ تقویت در این نوع حملات ۵۴X است؛ یعنی هر بایت ترافیک که توسط مهاجم به سرور DNS ارسال می شود؛ پاسخی به اندازه ۵۴ بایت از سمت DNS سرور برای آی پی قربانی به همراه خواهد داشت.
اکثر حملات مشاهده شده از این نوع توسط US-CERT انجام شده؛درخواست های جعلی ارسال شده توسط هکر ها از نوع “ANY” هستند که تمامی اطلاعات شناخته شده در خصوص ناحیه DNS را به IP قربانی بازگشت می دهد که به طور قابل توجهی بسیار بزرگتر از درخواست ارسال شده توسط مهاجم می باشد.
با استفاده از بات نت ها برای تولید تعداد زیادی از درخواست های DNS با IP های جعلی , مهاجم می تواند با کمترین تلاش بیشترین ترافیک را به سمت آی پی قربانی هدایت کند و از طرفی چون ترافیک از سرور های معتبر ارسال می شود؛ مهار و مسدود سازی آن مشکل خواهد بود.
دلیل محبوبیت این حملات وجود تعداد بسیار زیاد resolvers DNS باز بوده که امکان هدایت ترافیک زیادی را به سمت قربانیان فراهم می کند.
۶. حملات HTTP Flood :
یکی از مخرب ترین حملات DDoS محسوب می شود که برای مهاجمان به راحتی در دسترس است؛ HTTP Flood یک حمله در سطح لایه کاربردی (نرم افزاری – لایه ۷ مدل OSI ) است و ساختن بات نت های گسترده برای این نوع حمله برای هکرها بسیار آسان و جلوگیری از آن بسیار دشوار است.زمانی که یک کاربر از یک وب سایت بازدید می کند یک ارتباط TCP میان کاربر و سرور برقرار می شود.اول کلاینت یک بسته SYN به سرور می فرستد،دوم سرور یک بسته SYN ACK به کلاینت می فرستد،سوم کلاینت یک بسته ACK به سرور می فرستد.زمانی که این اتفاق می افتد یک ارتباط باز بین سرور و کلاینت برای انتقال اطلاعات به وجود می آید و پکت های TCP بین آنها منتقل می شود که مرورگر این پکت های TCP را ترجمه کرده و محتوای یک وب سایت را به شما نشان می دهد؛ دقیقا مثل همین صفحه ای که در حال خواندن آن هستید.
حملات HTTP flood شامل باز کردن یک اتصال TCP معتبر در سرور و اقدام به ارسال تعدادی رکوئست به سرور است؛ مثل دانلود هر چیزی که در یک صفحه وب هست یا درگیر کردن بخشی از سایت برای ایجاد پرس و جوی بیش از اندازه در دیتابیس و …
یک حمله HTTP flood ممکن است هدف های مختلفی داشته باشد،اولین و ساده ترین اتفاقی که می افتد تعداد بالای سشن های TCP است که این خود به تنهایی ممکن است فشار بالایی به یک سرور بیاورد.بخش پیچیده تر آن این است که در هر سشن TCP بارها و بارها به صورت مداوم رکوئست هایی به سرور ارسال می شود و سرور نیز تلاش می کند با استفاده از منابع خود به این رکوئست ها پاسخ دهد؛ بنابراین سرور به صورت مداوم در حال پردازش است و بالا بالا رفتن این کانکشن ها سرور از پاسخ دهی به کاربران عادی خود باز می ماند و به اصطلاح منابع سرور فول می شوند.
متاسفانه راه اندازی یک حمله HTTP flood کار دشواری نیست و با اسکریپت هایی که در اینترنت منتشر شده به راحتی قابل انجام است؛ البته برای راه اندازی یک حمله عظیم تر , یک سرور برای هکر کافی نخواهد بود و از روی چند سرور اسکریپت ها را اجرا می کند و هر چه تعداد سرور ها یا بات نت ها بیشتر باشد حمله بزرگتری می تواند انجام دهد.
البته این متود با SYN flood متفاوت است چرا که در SYN flood فقط یک بسته ارسال می شود و پیگیری بسته و مراحل بعدی در کار نخواهد بود.
خطرناک بودن HTTP flood به این دلیل است که یک اتصال کاملا قانونی دارد و دقیقا مثل یک کاربر و مرورگر عمل می کند و تشخیص آن بسیاردشوار است و از روش هایی همچون malformed packets یا spoofing یا بازتابی استفاده نمی کند و هکر برای انجام آن نیاز به پهنای باند بالا ندارد و با کمترین مصرف پهنای باند برای هکر بیشترین خطر را برای یک سرور به وجود می آورد.
Web Application Firewall(WAF)
فایروال برنامه وب (WAF) ابزاری است که می تواند در کاهش حمله ۷ لایه ۷ DDoS کمک کند. با قرار دادن WAF بین اینترنت و سرور مبدا ، WAF ممکن است بعنوان یک پروکسی معکوس عمل کند و از سرور هدفمند در برابر انواع خاصی از ترافیک مخرب محافظت کند. با فیلتر کردن درخواست ها بر اساس یک سری قوانین استفاده شده برای شناسایی ابزارهای DDoS ، می توان از حملات لایه ۷ جلوگیری کرد.