DDoS یکی از راهکارهای مورد علاقهٔ هکرها به منظور ایجاد اختلال در یک سرور است که در ادامه قصد داریم آناتومی این نوع حملات را مورد بررسی قرار داده و ببینیم که سازوکار چنین حملاتی به چه شکل است، چه انواعی دارا است و راههای مقابله با اینگونه حملات چیست.
تفاوت حملات DDoS با DoS چیست؟
DDoS مخفف واژگان Distributed Denial of Service است که ظاهراً امروزه در میان هکرهای کلاه سیاه طرفداران زیادی پیدا کرده است. در واقع، DDoS نوعی از حملات DoS است که به صورت گسترده و توسط چندین سیستم مختلف عملی میگردد و این در حالی است که حملات DoS بسیار متفاوت از حملات DDoS هستند به طوری که در حملات داس هکر صرفاً توسط یک سیستم و یک ارتباط اینترنتی به سرویس آنلاین هدف حمله میکند در حالی که در حملات دیداس چندین سیستم از طریق چندین ارتباط اینترنتی مختلف از نقاط مختلف دنیا سایت قربانی را هدف قرار میدهند.
برای افراد مبتدی که با چنین اصطلاحی آشنایی ندارند باید گفت که در یک تعریف ساده، دیداس اساساً به حملاتی گفته میشود که از آن طریق یک سرویس/سایت آنلاین با ارسال ترافیک غیرواقعی از منابع مختلف اصطلاحاً Down میشود. به عبارت دیگر، در این دست حملات تعداد بسیار زیادی درخواست HTTP به سمت سایت قربانی ارسال میشود و سروری که سایت هدف روی آن میزبانی میشود دچار کمبود منابع (رَم و سیپییو، پهنایباند و غیره) شده و از همین روی قادر به پاسخگویی به درخواستهای جدید که برخی از آنها جزو کاربران واقعی سایت هستند نخواهد بود و همین میشود که سایت از دسترس خارج میشود.
در چنین مواقعی، هکرها سعی میکنند تا ترافیک بسیار عظیمی در کمترین زمان ممکن روی سروری که سایت قربانی روی آن میزبانی میشود ارسال کنند که در نهایت سایت بالا نخواهد آمد و از دسترس خارج خواهد شد (برخی آمار و ارقام حاکی از آنند که چین، هند و ایالات متحده به ترتیب بزرگترین مَهدهای حملات دیداس هستند که کشور چین با چیزی بیش از ٪50 در جایگاه نخست قرار دارد.)
انواع حملات DDoS
حملات داس و دیداس غالباً توسط Botnet صورت میگیرند که عبارتند از رباتهایی (کامپیوترهایی) که برنامهریزی شدهاند تا به صورت خودکار تَسک خاصی را انجام دهند. لازم به ذکر است که به این باتنتها اصطلاحاً Zombie هم گفته میشود.
در برخی حملات دیداس، هکرها ترافیک قابلتوجهی به طرف سایت قربانی ارسال میکنند که در نهایت منابع سرور با کمبود مواجه خواهد شد. در برخی موارد هم درخواستهای بسیاری از لایهٔ اپلیکیشن به سمت سرور ارسال میشود و با توجه به حجم بالای درخواستها، به طور مثال دیتابیس قادر به پاسخگویی درخواستها نمیباشد و در فعالیت سایت اختلال ایجاد میشود.
به طور مثال، رباتهای دیداسکننده تعداد لاگین به سیستم و یا ارسال درخواست به دیتابیس برای جستجوی یک عبارت خاص را افزایش داده و طبیعتاً سیستم از دسترس خارج میشود. لازم به ذکر است که به این نوع حملهٔ دیداس، حملهٔ لایهٔ هفت نیز گفته میشود و یافتن ریشهٔ اینگونه حملات نسبت به سایر حملات دشوارتر بوده چرا که ربات توانسته همچون یک کاربر عادی ارتباط با سرویس را برقرار سازد و سیستم تصور خواهد کرد که درخواستها از طرف یک کاربر واقعی هستند اما در عین حال اگر بتوان این نوع حملات را ردیابی کرد، به راحتی میتوان جلوی آنها را گرفت.
به طور کلی، از جمله سرویسهایی که برای هکرهای دیدایسکننده هدف خوبی تلقی میشوند میتوان به سایتهای دولتی، مخابراتی، بازیهای آنلاین، تجارت الکترونیک، سرویسهای مالی، خدمات تحت کلود و غیره اشاره کرد که در چنین سرویسهایی یک نسبت مستقیم وجود دارد مابین اصطلاحاً Uptime سایت با میزان درآمدزایی سایت. به عبارتی، اگر یک فروشگاه آنلاین مورد حملهٔ دیداس قرار گرفته و به طور مثال برای 10 ساعت از دسترس خارج شود، در این بازهٔ زمانی متحمل ضرر مالی فراوانی خواهد گشت اما اگر یک سایت معمولی مورد حمله قرار گیرد، احتمالاً آب از آب هم تکان نخورد که در چنین شرایطی هکرها با صاحب سایت وارد مذاکره شده و در ازای مبلغی قابلتوجه، حمله را قطع میکنند!
چگونه جلوی حملات DDoS را بگیریم؟
حال که با اهمیت چنین حملهای آشنا شدیم، نیاز است تا با راهکارهای مقابله با آن نیز آشنا شویم. برای مقابله با حملات دیداس پیش از هر چیز نیاز است تا متوجه شویم که چه موقع به سرویس ما حمله شده است که برای این منظور باید با میزان ترافیک معمول سایت خود آشنا باشیم (مثلاً میدانیم که در روز چیزی در حدود 10000 بازدید داریم) و اگر هرگونه تغییر غیرمعمولی در این میزان بازدیدکننده صورت گرفت، یکی از نشانههای آن میتواند حملات داس یا دیداس باشد.
زمانی که یک حملهٔ دیداس صورت میگیرد، مسدود کردن آدرسهای IP کاری از پیش نخواهد برد چرا که هکرها توسط صدها و شاید هم هزاران سیستم مختلف از اقصی نقاط دنیا این کار را انجام میدهند مضاف بر اینکه در چنین مواقعی تشخیص اینکه کدام IP واقعی است و کدام از طرف هکرها میباشد، کار نسبتاً دشواری است (برای آشنایی بیشتر با مفهوم IP، میتوانید به مقالهٔ IP چیست؟ مراجعه نمایید.)
راه دیگر میتواند تماس با شرکت میزبانیکنندهٔ سرویس شما باشد و کارشناسان شرکت هاستینگ را در جریان حمله قرار داده و از ایشان درخواست کمک کنید. اگر سرویس کوچکی دارید، توصیه این است که به جای راهاندازی سرور شخصی خود، از شرکتهای متعبر هاستینگ استفاده کنید چرا که زیرساخت چنین شرکتهایی به مراتب از سرور اختصاصی شما که روی یک PC کوچک ایجاد شده قدرتمندتر است مضاف بر اینکه بسیاری از این شرکتها تدابیری میاندیشند تا جلوی بسیاری از حملات به صورت خودکار گرفته شود.
اساساً حملات دیداس برای شرکتهای هاستیگ بسیار گران تمام شده و این احتمال نیز وجود دارد که به غیر از سایت شما، به سرویسهای سایر مشتریانشان نیز سرایت کند؛ پس در شرایط منطقی و مشتریمدارانه، به نظر میرسد که کارشناسان چنین شرکتهایی تمام تلاش خود را به کار گیرند تا جلوی حملات صورت گرفته روی سرور شما را بگیرند.
در حملات دیداس، بحث اصلی منابع سرور است؛ لذا اگر منابع سرور شما بیش از منابع هکرهای دیداسکننده باشد، میتوانید در این دست حملات جان سالم به در ببرید اما اختصاص منابع بیشتر و بالتبع خرید پهنایباند بیشتر ارزانترین راه و درستترین راه نیست چرا که هزینههای نگهداری سایت شما را افزایش میدهند. همچنین استفاده Content Delivery Network یا به اختصار CDN نیز میتواند تا حد قابلتوجهی صدمات حملات دیداس را کاهش دهد که در همین راستا توصیه میکنیم به مقالات زیر مراجعه نمایید:
- CDN (شبکهٔ توزیع محتوا) چیست و چگونه کار میکند؟
- معرفی برخی از مطرحترین کمپانیهای فعال در حوزۀ CDN
به عبارت دیگر، شرکتهای عرضهکنندهٔ این سرویسها، در سراسر دنیا سرورهایی دارند که این امکان را برای ویزیتورهای نقاط مختلف فراهم میآورند تا محتوای سایت شما را از سرورهای مختلفی دریافت کنند که در چنین مواقعی، اگر فعالیت یکی از سرورها مختل شود، سایر سرورها به کار خود ادامه خواهند داد که برای آشنایی بیشتر با سازوکار یک شبکهٔ توزیع محتوا، میتوانید به پادکست مصاحبه با پویا پیرحسینلو: همبنیانگذار و مدیرعامل ابرآروان مراجعه نمایید.