اگر وبسایت یا اپلیکیشن شما به علت هجوم گسترده ترافیک به ناگهان آفلاین شده است به احتمال خیلی زیاد مورد هدف حملات دیداس (DDoS) یا همان Denial-of-Service Attack قرار گرفته است. این نوع از حملات سایبری با سرعت بالایی روبه افزایش هستند. در صورت بروز می توانند خرابی های قابل توجهی برای یک کسب و کار به وجود آورند. آنچه در این مقاله می خواهیم به آن بپردازیم آشنا شدن با حملات DDoS و نحوه جلوگیری از بروز آنها است، پس با داناپ تا انتهای این مطلب همراه باشید.
حملات DDos چیست؟
حمله DDoS زمانی اتفاق می افتد که هکر برای ایجاد اختلال در عملکرد یک سیستم و از کار انداختن آن سیل عظیمی از ترافیک را به یک شبکه یا سرور سرازیر می کند. این حملات معمولا برای از کار انداختن یا آفلاین کردن موقتی یک وبسایت انجام می شوند و ممکن است برای چند روز یا بیشتر ادامه داشته باشند.
از لحاظ فنی، اصطلاح محروم سازی سرویس یا همان Denial-of-Service برای این حملات استفاده می شود. چرا که وبسایت یا سرور در زمان حمله قادر به ارائه سرویس خدمات به ترافیک مشروع نمی باشد. اصطلاح محروم سازی سرویس توزیع شده (Distributed Denial-of-Service) نیز برای این حملات استفاده می شود زیرا ترافیک غیرمشروع از طرف صدها، هزاران و در برخی اوقات میلیون ها سیستم کامپیوتری تولید می شود. البته در صورتی که ترافیک تنها از یک منبع ارسال شود به نام حمله DoS شناخته می شود.
حملات DDoS با استفاده از یک Botnet (مجموعه ای از سیستم های کامپیوتری یا دستگاه های متصل به اینترنت که از راه دور کنترل می شوند) که به آن زامبی نیز می گویند، بدافزارهای مخرب (Malware) را به سیستم کامپیوتری مورد نظر ارسال می کنند.
انواع حمله DDoS
زامبی های DDoS معمولا لایه های مختلف OSI (اتصال متقابل سامانه های باز) را مورد هدف قرار می دهند که بر طبق آمار کمپانی Cloudflare به ۳ دسته کلی تقسیم می شوند:
۱- حمله لایه Application
حمله لایه اپلیکیشن ساده ترین و شایع ترین شکل حملات DDoS به شمار می رود. به گونه ای که از ریکوئست سرورهای معمولی تقلید می کند. به عبارت دیگر سیستم های کامپیوتری یا دستگاه های موجود در Botnet درست همانند یک کاربر معمولی برای دسترسی به وبسایت یا سرور گرد هم می آیند ولی با افزایش مقیاس حمله، تعداد ریکوئست های به ظاهر عادی نیز بیشتر می شود به گونه ای که سرور قادر به پردازش آنها نبوده و در نهایت از کار می افتد.
۲- حمله پروتکل
در حمله پروتکل مهاجمان با سوء استفاده از منابع پردازش دیتای سرور سعی می کنند سیستم را دچار اضافه بار (Overload) کنند که در نهایت باعث از کارافتادگی آن می شود. در برخی اوقات نیز Botnet بسته های دیتا (Packet Data) را به منظور جمع آوری به سرور ارسال می کنند. سپس سرور منتظر دریافت تاییدیه از IP آدرس منبع می ماند. که البته هرگز آن را دریافت نمی کند ولی دریافت دیتا توسط سرور همچنان ادامه پیدا می کند.
در برخی اوقات نیز سرور نمی تواند به راحتی بسته های دیتای دریافتی را گردآوری کند برای همین باید تمام منابع خود را برای این کار به کار گیرد که باعث اختلال در عملکرد آن می شود.
۳- حملات حجمی
حملات حجمی تا حدودی شبیه به حملات اپلیکیشن هستند. با این تفاوت که حملات حجمی پیچیدگی بیشتری دارد. در این نوع از حملات DDoS تمام پهنای باند یک سرور توسط Botnetهایی که تقویت شده اند مصرف می شود. برای مثال بات نت ها در برخی اوقات می توانند سرور را به گونه ای فریب دهند. حجم عظیمی از دیتا را به سمت خود ارسال کنند. به عبارت دیگر یک سرور باید مجددا عملیات دریافت، گردآوری و ارسال را پردازش کند.
از دیگر متدهای حملات DDOS می توان به موارد زیر اشاره کرد که در ادامه چند مورد از مهم ترین آنها را معرفی خواهیم کرد :
- ICMP flood
- SYN flood
- Teardrop attacks
- Low-rate Denial-of-Service attacks
- Peer-to-peer attacks
- Asymmetry of resource utilization in starvation attacks
- Permanent denial-of-service attacks
- Application-level floods
- Nuke
- R-U-Dead-Yet
- Distributed attack
- Reflected / Spoofed attack
- Unintentional denial of service
- Denial-of-Service Level II
ICMP Flood
در این روش با ایجاد درخواست های مختلف و افزایش Ping بر روی سرور، سرویس دهی وبسایت مختل می شود. ارسال حجم عظیمی از درخواست های ICMP در یک شبکه باعث پاسخگویی تمامی هاست های موجود بر روی آن شبکه می شود. بنابراین اختلال بر روی تمامی سایت های موجود در آن شبکه ایجاد خواهد شد. در نتیجه حجم بالایی از پاسخ ها به سمت Access point داخل شبکه مسیردهی می شود و باعث از کار افتادن سوئیچ می شود.
teardrop attacks
در این نوع حملات از طریق ارسال Mangled IP با Overlap حجم لود بالایی را برای کارت شبکه سیستم ایجاد می کنند. تا به طور کلی باعث ایجاد اختلال در سرویس دهی شود. این ضعف در واقع از وجود یک باگ در لایه های شبکه و TCP/IP نشات می گیرد. باید توجه داشته باشید که سیستم عامل های ویندوز ۳٫۱ و ۹۵ و NT و همچنین لینوکس ۲٫۱٫۶۳ و ۲٫۰٫۳۲ در برابر اینگونه حملات کاملا آسیب پذیر هستند.
البته در سال ۲۰۰۹ نمونه ای از این حمله به ویندوز Vista انجام شد با این تفاوت که در یک لایه بالاتر یعنی در لایه SMB2 این حمله انجام شده بود. بنابراین استفاده از سیستم عامل های آپدیت شده و جدید می تواند از بروز این مشکل و ضعف امنیتی جلوگیری کند.
Nuke
یکی از قدیمی ترین روش های حمله DDOS است که با ارسال درخواست های اشتباه Ping سعی در اختلال و از کار انداختن سرور می کند. این حمله معمولا با نرم افزاری به نام WinNuke انجام می شود که در واقع از ضعف Netbios در ویندوز ۹۵ جهت حمله استفاده می کند. این نرم افزار از طریق ارسال یک رشته اطلاعات به پورت ۱۳۹ باعث نمایش صفحه آبی در این نسخه از سیستم عامل ویندوز می شود.
R-U-Dead-Yet
این نوع حملات با استفاده از Session هایی که توسط وب اپلیکیشن ها در انتظار درخواست هستند انجام می شود. Slowloris نام برنامه ای است که اکثر Session های مربوط به وب سرور را برای برقراری ارتباط باز نگه می دارد. RUDY نیز با استفاده از ارسال درخواست با Header های حجیم به این Session های در حال انتظار باعث از کار افتادن وب سرور می شود.
SYN flood
در حملات از نوع SYN هدف پروسه Hand-shake در پروتکل TCP است. در این نوع حملات پروسه سه مرحله ای ایجاد ارتباط TCP از سمت مهاجم نیمه کاره رها می شود که این کار باعث می شود تا سرور مورد هدف برای انجام باقی مراحل منتظر بماند و زمانی که تعداد این درخواست ها افزایش یابد باعث می شود سرور دیگر توانایی برقراری ارتباط با درخواست های جدید را نداشته باشد و از دسترس خارج شود!
اولین مورد حمله DDoS
اولین حمله دیداس در سال ۲۰۰۰ میلادی توسط یک پسربچه ۱۵ ساله به اسم Michael Calce انجام شد. او برای از دسترس خارج کردن موقتی وبسایت های بزرگی مانند یاهو، CNN و eBay این حملات را طراحی کرد. در طی این حملات اروری که در عکس زیر مشاهده می کنید بر روی صفحه مانیتور ظاهر شده بود.
چه کسانی از حملات DDoS استفاده می کنند؟
اگرچه حملات دیداس از لحاظ قدرت تخریب بسیار پیشرفت کرده اند. اما تقریبا همه افراد می توانند شکل اولیه و ساده این حملات را اجرا کنند. افراد عادی می توانند هزینه یک حمله DDoS را در بازار سیاه یا آنلاین پرداخت کرده و یا برای اجرای اهداف مخرب خود یک Botnet اجاره کنند.
به طور کلی افراد زیر با یک سری دلایل خاص حملات دیداس را اجرا می کنند:
- صاحبان کسب و کار : برای کنار زدن رقبا
- گیمرها : برای از بین بردن رقبا
- فعالان (Activists) : برای جلوگیری از دسترسی افراد به محتوایی خاص
- ترول ها (Trolls) : برای انتقام گرفتن از یک شخص
چه اشخاصی در معرض خطر حملات DDoS هستند؟
افراد معمولی نباید خیلی در این باره نگران باشند. چرا که در حملات DDoS اغلب شرکت های بزرگ مورد هدف قرار می گیرند. آنها در اثر خرابی به بار آمده توسط حملات DDoS ممکن است میلیون ها دلار ضرر کنند. البته کسب و کارهای کوچکتر نیز در صورت بروز این حملات سختی های زیادی را متحمل می شوند. به طور کلی تمام سازمان هایی که در فضای آنلاین حضور دارند باید برای رویارویی با حملات دیداس در هر زمان به طور کامل آماده باشند.
نحوه جلوگیری از بروز DDoS
شما نمی توانید از ارسال ترافیک غیرمجاز به سمت سرورهای وبسایت خود جلوگیری کنید. بلکه می توانید خود را از قبل برای مقابله با آن آماده کنید. برای این کار باید اقدامات زیر را انجام دهید:
۱- نظارت بر ترافیک :
شما باید درک صحیحی از میزان ترافیک کم، متوسط و زیاد وبسایت خود داشته باشید. در حقیقت شما می توانید یک محدوده برای نرخ ترافیک خود تعیین کنید. به گونه ای که میزان آن از حد مجاز فراتر نرود. در این صورت سرور تا جایی که قادر به پردازش باشد. ریکوئست های ارسالی را دریافت می کند. علاوه بر این، رصد کردن همیشگی ترافیک به شما کمک می کند تا مشکلات مربوط به ترافیک وبسایت را به سرعت شناسایی کنید.
شما همچنین باید در فصول خاص یا حین برگزاری کمپین های تبلیغاتی که ترافیک زیادی به سمت وبسایت سرازیر می شود آمادگی لازم را داشته باشید. در برخی اوقات ترافیک مجاز و معتبری که از طرف لینک های وایرال شبکه های اجتماعی به سمت وبسایت سرازیر می شود نیز قادر است مشکلاتی مشابه با حملات DDoS ایجاد کند. به عبارت دیگر حتی اگر ترافیک از یک منبع موثق سرچشمه گرفته باشد می تواند باعث خرابی در سرور شود که در نهایت هزینه های جبران ناپذیری روی دست شما می گذارد.
۲- افزایش پهنای باند :
شما بر اساس میانگین و حداکثر ترافیک باید ظرفیت سرور وبسایت خود را مشخص کنید. البته شما همواره باید بیش از میزان مورد نیاز خود، پهنای باند برای سرور در نظر بگیرید. این کار باعث می شود که در صورت بروز حمله DDoS زمان بیشتری قبل از خرابی کامل وبسایت، سرور یا اپلیکیشن در اختیار شما قرار داشته باشد.
۳- استفاده از شبکه توزیع محتوا (CDN) :
هدف اصلی حملات DDoS این است که سرور وبسایت شما را به طور کامل دچار اضافه بار (Overload) کند بنابراین یکی از بهترین روش های مقابله با آن در واقع توزیع دیتای وبسایت بر روی چند سرور در نقاط مختلف دنیا است.
این کار به راحتی توسط یک شبکه توزیع محتوا یا همان CDN انجام می پذیرد. وظیفه CDN این است که دیتای وبسایت شما را از نزدیکترین سرور به کاربران ارائه کند. علاوه بر این، استفاده از چند سرور باعث می شود که در صورت بروز اضافه بار در یک سرور مابقی آن ها به راحتی به کار خود ادامه دهند.
علاوه بر این سرویس های ابری مانند Cloudflare یا ابرآروان امکانی را در اختیار شما قرار می دهند. که با فعال کردن یک گزینه وبسایت را در مقابل حملات DDos محافظت کنید که معمولا دارای چند سطح پایه ای تا پیشرفته هستند. بنابراین می توانید با توجه به حجم ریکوئست های ارسالی گزینه مورد نظر را انتخاب کنید.
نکات مهم در صورت مواجهه با حملات DDoS
امروزه حملات دیداس بسیار قدرتمند هستند و رویارویی و برطرف سازی آنها به تنهایی امکان پذیر نیست. بنابراین بهترین کار برای محافظت از خود در برابر این حملات رعایت نکات امنیتی و پیشگیری از آن است. به هر حال اگر وبسایت شما در اثر بروز حملات DDos از کار افتاده است با انجام راه کارهای زیر می توانید آن را به حالت عادی برگردانید.
۱- انجام سریع اقدامات دفاعی :
همانطور که قبلا نیز به آن اشاره کردیم. اگر شما از ترافیک نرمال وبسایت خود آگاه باشید می توانید به راحتی حملات دیداس را شناسایی کنید. در این صورت شما حجم عظیمی ترافیک وب یا ریکوئست های سرور از منابع مشکوک ارسال می شوند را مشاهده می کنید با این تفاوت که قبل از خرابی کامل سرور زمان کافی برای مقابله با آن را در اختیار دارید.
البته به خاطر داشته باشید که در اولین فرصت باید محدودیت ترافیک سرور را مشخص کرده و با پاک کردن تاریخچه log سرور فضای بیشتری در اختیار آن قرار دهید.
۲- تماس با پشتیبانی هاست :
در صورت بروز حملات دیداس سریعا شخصی پشتیبانی هاستیگ خود را مطلع کنید. آنها می توانند تا زمانی که حمله متوقف شود با ایجاد یک مسیر سیاه چاله (Blackhole) تمام ریکوئست های ورودی (مشروع یا مخرب) به سرور را از بین ببرند. در حقیقت این موضوع کاملا به نفع آنهاست. چون در غیر این صورت اگر هاست شما اشتراکی باشد، هاست مشتریان دیگر نیز ممکن است دچار خرابی و از کار افتادگی شوند.
در مرحله آخر آنها برای جداسازی ریکوئست های مشروع از مخرب با استفاده از یک اسکرابر (Scrubber) تمام ترافیک موجود در سیاه چاله را مورد بازبینی قرار می دهند.
۳- تماس با یک متخصص شبکه :
اگر وبسایت شما در مقیاس بزرگی دچار حمله دیداس شده باشد باید با یک متخصص DDoS تماس بگیرید. در حقیقت آنها ترافیک شما را به سمت سرورهای عظیم خود هدایت کرده. در آنجا ریکوئست های مخرب و مشکوک را حذف می کنند. البته استخدام متخصص DDoS هزینه های زیادی را بر روی دوش شما می گذارد.