حمله منع خدمت توزیعشده (DDoS) چیست و چگونه است و چه خطراتی دارد؟
![image](https://s5.gsm.ir/1024x1024/gsm-blog-production/static/files/image/2023/6/17/what_is_ddos_attack.jpg)
حمله DDoS در اصل همان حمله DoS است که از چندین مبدأ صورت میگیرد (علاقمندان میتوانند مقالهی حمله DoS چیست را نیز مطالعه کنند.)
به ایجاد ترافیک کاذب روی سرور یا شبکهای خاص جهت از کار انداختن یا مشغول نگاه داشتن آن، حمله منع خدمت میگویند. اگر حمله فقط از یک مبدأ صورت بگیرد، آنرا صرفاً «حملهی منع خدمت» یا DoS (سرنام Denial of Service) مینامند. اما اگر حمله، هماهنگ و همزمان از چندین مبدأ صورت بگیرد، بهآن حملهی منع خدمت توزیعشده یا DDoS (سرنام Distributed Denial of Service) میگویند.
![وجه تمایز اصلی حمله DDoS با حمله DoS در تعدد مبادیِ آن است.](https://s5.gsm.ir/1024x1024/gsm-blog-production/static/files/image/2023/6/17/what_is_dos_ddos_attack.jpg)
رابطه باتنت و حمله DDoS
مهاجمان در حمله DDoS رایانههای زیادی لازم دارند. هرچه تعداد رایانهها بیشتر باشد، حمله وسیعتر خواهدبود. تهیه هزاران رایانه برای چنین کاری، پرهزینه است. لذا آنها اغلب میکوشند با آلوده کردن رایانههای دیگران در فضای مجازی، آنها را مثل سرباز برای حمله به هدف موردنظرشان به خدمت بگیرند. برای این منظور، ابتدا بدافزارهای خاصی را در اینترنت منتشر میکنند تا رایانههای هرچه بیشتری را بیالایند. به رایانهی آلوده بات (bot) یا اصطلاحا زامبی و به مجموعهی باتها، شبکهی بات یا باتنت (botnet) میگویند. بعضی از باتنتها حاوی میلیونها رایانهی آلوده هستند. پس از به حدنصاب رسیدن تعداد باتها از دید مهاجم، او میتواند با هزاران یا میلیونها بات به هدف موردنظرش حمله کند. در جریان حمله، رایانهها پیوسته خدمات کاذبی سَمتِ شبکه یا سرور موردنظر میفرستند. لذا شبکهی هدف ناگهان با موجی از درخواستها مواجه میشود که پاسخگویی به همه آنها بیش از ظرفیتش است. نتیجتاً حافظه، پردازندهها یا پهنای باندش مشغول میمانند و عملاً قفل میکنند و از خدمت بازمیمانند. در چنین حالتی، کاربران واقعی نیز نمیتوانند از شبکه/وبسایت موردنظر خدماتی دریافت کنند و معمولا از دید آنها شبکه یا بسیار کند و یا کلاً از دسترس خارج میشود.
![مهاجمان برای ترتیب دادن حملهی منع خدمت توزیعشده (DDoS) معمولا ابتدا شبکهای از رایانههای آلوده (باتنت) ایجاد میکنند.](https://s5.gsm.ir/1024x1024/gsm-blog-production/static/files/image/2022/8/30/what_is_botnet_03.jpg)
چگونه جلوی حملههای DDoS را بگیریم؟
در صورت وقوع حمله DDoS میتوانید تمام درخواستهای HTTP از شبکهتان را مسدود کنید. اما در اینصورت، دسترسی کاربران واقعی به شبکه شما نیز قطع میشود و در واقع، مهاجمان عملاً به هدفشان میرسند.
اگر بتوانید ترافیک مخرب را از ترافیک واقعی تفکیک کنید، میتوانید آثار حمله را کاهش دهید و حداقل بخشی از خدماتتان را همچنان برپا نگه دارید. مثلا، اگر میدانید که مبدأ ترافیک DDoS اروپای شرقی است، میتوانید آدرسهای آیپی مرتبط با منطقه جغرافیایی مزبور را مسدود کنید. خاموش کردن خدمات عمومی بلااستفاده شیوهی پیشگیرانهی خوب دیگری است. همچنین میتوانید خدماتی را هم که در برابر حملههای لایهی کاربرد (application-layer) در شبکه آسیبپذیرند، غیرفعال کنید بیآنکه در ارائهی صفحههای وب مشکلی پیش آید.
درکل، هرچه مقاومتتان در برابر حملههای DDoS بیشتر باشد، تبعات حمله کاهش مییابد. مثلا میتوانید از خدمات خاصی موسوم به شبکهی ارائهی محتوا یا CDN (مخفف Content Delivery Network) بهره ببرید که برای پذیرش ترافیکهای سنگین طراحی شدهاند.
![تصویر نمادین فوق، تفاوت ترافیک عادی و کاذب را نشان میدهد. خودروهای قرمز نماد ترافیک مخرب و کاذبی هستند. آنها راهِ خودروهای عادی (آبی) را هم بند میآورند.](https://s5.gsm.ir/1024x1024/gsm-blog-production/static/files/image/2023/6/17/dos_ddos_attack.png)
با شیوهها یا ابزارهایی میتوان اثر حمله DDoS بر سرورها یا شبکهها را کاهش داد یا حتی جلوی وقوعشان را گرفت، مثل:
1. پایش ترافیک شبکه
حتما بر ترافیک برنامههای کاربردی (اپلیکیشنها) بهدرستی نظارت کنید. بیشتر حملهها همینگونه کشف میشوند. حملههای DDoS معمولا روی شبکه ترافیک سنگین ایجاد میکنند و گاهی وجود تنها یک ضعف در اندپوینتِ HTTP راه را برای چنین نفوذی باز میگذارد.
شبکه باید طوری تنظیم شود که هرگاه ترافیک دریافتی از آستانهی تحملش فراتر رفت، به مدیر شبکه اطلاع دهد. لذا بهتر است ابزارهای پایش شبکه را طوری پیکربندی کنید که چنین مواقعی هشدار بدهد. آنگاه وقوع حمله را هرچهزودتر تشخیص میدهید و میتوانید تبعات حمله را کاهش دهید.
2. تهیه طرحی برای نحوه واکنش در برابر حملههای احتمالی DDoS
هنگام وقوع حمله DDoS هر کسی باید وظیفه خود را دقیق و واضح بداند. حملههای DDoS ناگهانی هستند، پس باید قبلا برای مواجهه با آن آماده شوید. درصورت وقوع حمله، ابتدا باید به فکر کاهش خساراتش باشید.اقدامات زیر شاید کمکتان کند.
- چکلیست تهیه کنید: همه فرآیندها و گامهای لازم از جمله ابزارهای موردنیازتان را فهرست کنید و مشخص کنید که هنگام وقوع حمله باید با چه کسی/کسانی تماس بگیرید.
- ارتباطات: باید همه ارتباطاتتان را درست و واضح سازماندهی کنید.
- مسئولیت: وظایف هریک از اعضای گروه و واکنش آن ها را در صورت وقوع حمله مشخص کنید.
3. تهیه دیوار آتش برای برنامههای وب
برای برنامهها یا اصطلاحا اپلیکیشنهای تحت وب خود دیوار آتش (فایروال) مخصوص ایجاد کنید. چنین دیوار آتشی را دیوار آتش برنامههای وب یا WAF (مخفف Web Application Firewall) مینامند. منظور از WAF مجموعه مقررات یا سیاستهایی است که کمک میکند برنامههای وب یا واسطهای برنامهنویسی کاربردی (اصطلاحا API) را از ترافیکهای مخرب دور نگه دارید. دیوار آتش برنامههای وب، بین برنامههای وب و پروتکل HTTP (رابط بین سرور و کاربر) حائل میشود و جلوی خرابکاریهای رایجی را که شبکهها را از دسترس خارج میکنند، میگیرد. باید ببینید کدام دیوار آتش برای برنامههای کاربردی شما مناسبتر است.
4. تعیین حد آستانه
مهاجمان در حملات منع خدمت، واسطهای برنامهنویسی خاصی را بارها و بارها از شبکهتان فراخوانی میکنند و چون شبکه نمیتوان چنان حجمی از درخواستها را پاسخ دهد، مختل میشود. شما میتوانید درخواست هر واسط (API) حد تعیین کنید؛ آنگاه هر کاربر در بازه زمانی خاص فقط میتواند بهتعداد محدودی درخواست ارسال کند و اگر تعداد درخواستها از حد معین فراتر رفت، دسترسی او موقتا قطع و برایش پیغام 429 HTTP error code (بهمعنای درخواستهای خیلی زیاد) ارسال میشود.
بهرهگیری از خدمات ابری
بعضی از شرکتها روشهای مقابله با حملات DDoS را در قالب خدمات نرمافزارمحور یا اصطلاحا SaaS (مخفف Software as a Service) ارائه میدهند که مزیتهایی دارد. برای مثال، آنها کارکنانی دارند که بطور تخصصی برای مقابله با حملههایی DDoS آموزش دیدهاند و همواره آماده واکنش هستند. پهنای باند شبکه آنها نیز بیشتر است و لذا در صورت وقوع حمله DDoS بهتر میتوانند با آن مقابله کنند. آنها بطور خودکار از دادههایتان نسخه پشتیبان میگیرند و چون زیرساختهایشان در نقاط جغرافیایی مختلفی پراکنده است، در صورت بروز حمله در یک نقطه میتوانید برنامههایتان را از نقطه دیگری بارگذاری کنید.
سخن پایانی: حملههای DDoS امروزه بهوفور اتفاق میافتند. لذا پایش مستمر شبکه و بهکارگیری سیاستها و ابزارهای لازم برای مواجهه درست با حمله و کاهش تبعات ناشی از آن، ضروری است.