حمله Flood چیست؟ آشنایی با انواع حملات فلود و راهکارهای مقابله با آن
یکی از تهدیدات امنیتی شایع در شبکهها، حمله Flood است. حملات فلود مجموعهای از حملات هستند که به منظور از بین بردن عملکرد سیستمها و شبکهها یا اخلال در عملکرد آنها صورت میگیرند. این حملات با ارسال بیش از حد ترافیک، دادهها یا درخواستها به یک سیستم یا شبکه، قصد اشباع منابع محدود سیستمی از جمله پهنای باند شبکه، پردازنده، حافظه و منابع سختافزاری دیگر را دارند. با ابر زَس همراه باشید تا با حمله فلود، انواع و راهکارهای مقابله با آن آشنا شوید.
حملات Flood چیست؟
در حملات Flood با ارسال بیش از حد ترافیک، دادهها یا درخواستها به یک سیستم، منابع سیستمی اشباع شده و عملکرد کلی سیستم دچار مشکل میشود. این حملات مخرب، از همان سالهای اولیه رشد و گسترش شبکههای کامپیوتری مشهور شدند. در ابتدا، حملات Flood به صورت ارسال ترافیک بیش از حد به یک سرور یا شبکه صورت میگرفت. این حملات ابتدا در شبکههای محلی و پس از آن در شبکههای بزرگتر از طریق اینترنت گسترش یافتند. خوشبختانه با شناخت دقیق این نوع حملات، میتوان برنامههای مقابله و پیشگیری مناسب را طراحی و پیاده سازی کرد. همچنین، درک عملکرد حمله Flood به مدیران شبکه و متخصصان امنیت اجازه میدهد تا توسعههای لازم در زیرساختهای شبکهای خود اعمال کنند و در صورت حمله، به سرعت واکنش مناسبی نشان دهند. با توجه به اهمیت حملات Flood و ضرر جدی که بر سیستمها و شبکهها میزند، در این مقاله به بررسی آنها، انواع حملات فلود و راهکارهای مقابله با آنها خواهیم پرداخت.
تاثیر حملات فلود
اگر سیستم یا شبکه مورد حمله Flood قرار بگیرد، احتمالاً آسیبهای زیر اتفاق خواهد افتاد:
- اشباع پهنای باند شبکه با بستههای داده نامعتبر
- اخلال در سرویسدهی و ارتباطات شبکه
- ایجاد عدم قابلیت اطمینان در سازمانها و سرویسدهندگان
- کاهش سرعت و عملکرد شبکه و سیستمها
- دسترسی ناپایدار به سرویسهای مورد نظر و احتمال قطع سرویسها
- از دست رفتن اطلاعات مهم و آسیب به امنیت سیستمها
انواع حملات Flood
حملات Flood انواع مختلفی دارند. در ادامه مهمترین این حملات را تشریح خواهیم کرد.
حمله SYN Flood
در حمله SYN Flood مهاجمان با ارسال تعداد زیادی درخواست TCP SYN (Synchronize) به سرور هدف، سعی در اشباع منابع سیستمی سرور میکنند. برای درک نحوه اجرای این حمله، باید به طور خلاصه با فرایند handshake (دستدادن) آشنا شویم. برای برقراری یک ارتباط TCP، نیاز به طی شدن چند فرایند رفت و برگشتی بین دستگاه مبدا و مقصد است. برای برقراری این ارتباط، ابتدا دستگاه مبدا (کلاینت)، یک بسته SYN به مقصد (سرور) ارسال میکند تا به مقصد بگوید که قصد شروع یک ارتباط را دارد. از طرف دیگر، مقصد نیز در حال گوش دادن به درخواستهای ورودی است. پس از آن اگر دستگاه مقصد آماده برقراری ارتباط باشد، یک بسته SYN/ACK به مبدا میفرستد و به نوعی میگوید که درخواست SYN مبدا را شنیده و آماده برقراری ارتباط است. سپس مبدا، یک بسته ACK را میفرستد و ارتباط از طریق پروتکل TCP آغاز میشود.
اما سوالی که پیش میآید این است که حمله SYN Flood در کدام مرحله اتفاق میافتد؟ در این حمله، هکر، درخواستهای اولیه SYN را با تعداد بالا، معمولا با آدرسهای آیپی جعلی و با نرخی فراتر از قدرت پردازش سرور ارسال میکند. به این ترتیب سرور توان پردازش بستههای دریافتی متعدد را از دست میدهد و در نهایت از تمامی پورتهای موجود، برای برقراری ارتباط استفاده میشود و عملکرد عادی سرور مختل میگردد. برای آشنایی بیشتر با این حمله میتوانید مطلب «آشنایی با حمله SYN Flood و نحوه مقابله با آن» را مطالعه نمایید.
حمله UDP Flood
حمله UDP Flood یکی از انواع حملات Flood است که مهاجمان با ارسال تعداد زیادی پیامهای UDP (مخفف User Datagram Protocol) به سرور هدف، سعی در اشباع منابع سیستمی سرور و شبکه دارند.
پروتکل UDP یک پروتکل سریع و سبک برای ارسال دادهها بدون برقراری ارتباط پایدار است. مشکل پروتکل UDP، غیرقابل اعتماد بودن (non-reliable) و فقدان احراز هویت (non-authenticated) است و مهاجمان معمولاً از طریق ارسال پیامهای UDP با آدرس نامعتبر، منابع سرور را به طور غیرطبیعی برای پردازش پیامها بهکار میبرند.
حمله DNS Flood
در این حمله، مهاجمان با ارسال تعداد زیادی درخواست DNS به سرور DNS هدف، سعی در اشباع منابع سیستمی سرور دارند و سبب قطعی سرویس DNS میشوند. این حمله میتواند تأثیرات جدی بر دسترسی به وبسایتها و سرویسهای متکی به DNS داشته باشد. در مطلبی دیگر به طور کامل تشریح کردهایم که حمله DNS Flood چیست.
حمله HTTP Flood
در این نوع حمله، مهاجمان با ارسال تعداد زیادی درخواست HTTP (شامل GET یا POST) به سرور هدف، سعی در اشباع منابع سرور و شبکه را دارند. این حمله میتواند منجر به قطعی سرویسهای وب و اختلال در دسترسی به سایتها شود. برای آشنایی بیشتر با این حمله پیشنهاد میکنیم مطلب «حمله HTTP Flood چیست؟» را مطالعه نمایید.
حمله NTP Flood
پروتکل NTP (مخفف Network Time Protocol)، ساعت را در سیستمهای کامپیوتری همگامسازی میکند. در این حمله، مهاجمان با ارسال تعداد زیادی درخواست NTP به سرور NTP هدف، سعی در اختلال منابع سرور دارند و سبب قطعی سرویس NTP میشوند. با این توصیف، این حمله میتواند منجر به عدم همگامسازی زمان سرورها و دستگاهها شود.
حمله SSDP Flood
پیدا کردن خدمات و اطلاعات سرویسهای شبکه، بر عهده پروتکل SSDP (مخفف Simple Service Discovery Protocol) قرار دارد. در حمله SSDP، مهاجمان با ارسال تعداد زیادی درخواست SSDP به دستگاه هدف، سعی در اشباع منابع دستگاه دارند. این حمله میتواند منجر به کاهش عملکرد دستگاه و قطعی سرویسهایی که از SSDP استفاده میکنند، شود.
حمله QUIC Flood
پروتکل QUIC یک پروتکل رمزنگاری شده و مبتنی بر ارتباط UDP است که میتواند جایگزین TCP در کنار پروتکل رمزنگاری TLS باشد. در حمله QUIC Flood بستههای متعدد از طریق این پروتکل به سمت سرور ارسال شده و منابع را اشغال میکنند.
حمله ICMP Flood
ICMP Flood یک حمله DDoS است که با عنوان Ping flood نیز شناخته میشود و از پروتکل ICMP سو استفاده میکند. در این حمله مهاجم تلاش میکند منابع سیستم مقصد را با درخواستهای ICMP اشباع کند. اگر با ابزار Ping آشنا باشید احتمالا میدانید که از پروتکل ICMP برای تشخیص اتصال دستگاه و ارتباط آن با فرستنده استفاده میکند.
در حمله ICMP Flood، مهاجمان از تکنیکهای مختلف برای ایجاد پیامهای ICMP بسیار بزرگ و پرترافیک استفاده میکنند. این پیامها ممکن است شامل درخواستهای Echo (ping) با اندازه بسیار بزرگ یا پیامهای اشغال منابع (Resource Exhaustion) باشند. مهاجمان معمولاً از برنامههای خودکار و ابزارهای مخصوص برای انجام حمله ICMP Flood استفاده میکنند.
حمله ACK Flood
در حمله ACK Flood با ارسال تعداد بسیار زیادی بستههای ACK (یا به عبارتی Acknowledgment) به سرور هدف، سعی در اشباع منابع شبکه و ایجاد اختلال در ارتباطات TCP دارد. در این حمله، بستههای ACK به سرور ارسال میشوند، بدون اینکه به طور معمول دریافت بستههای داده انجام شده باشد.
حمله SNMP Flood
پروتکل SNMP (مخفف Simple Network Management Protocol) یک پروتکل مدیریت ساده است که برای مانیتورینگ و کنترل دستگاههای شبکه استفاده میشود. در حمله SNMP Flood با ارسال تعداد قابل توجه درخواست SNMP به سیستم هدف، در عملکرد نقل و انتقال اطلاعات مدیریت شبکه اختلال ایجاد میشود. این حمله میتواند منجر به اختلال در عملکرد دستگاه، کاهش سرعت شبکه و سرویسدهی ناپایدار در سیستم مدیریت شبکه شود.
حمله CHARGEN Flood
پروتکل CHARGEN یک پروتکل ساده و قدیمی است که برای تست و عیبیابی سیستمهای شبکه استفاده میشد. طی حمله CHARGEN Flood درخواستهای متعدد CHARGEN به سرور هدف ارسال میشود. این حمله قصد دارد منابع شبکه را با ایجاد بار زیاد روی سرور، به اختلال بکشاند.
روشهای پیشگیری و تشخیص حملات Flood و مقابله با آنها
به منظور پیشگری از حملات Flood و نیز تشخیص و مقابله با آنها میتوان راهکارهای زیر را در نظر گرفت:
- استفاده از سیستمهای تشخیص نفوذ (IDS): این سیستم با استفاده از الگوریتمها و قوانین تشخیص حملات Flood میتوانند به تشخیص و هشداردهی حملات کمک کنند.
- استفاده از سیستمهای جلوگیری از حملات (IPS): این سیستمها با استفاده از قوانین و راهکارهای خاص، میتوانند حملات Flood را متوقف کرده و سیستم را محافظت کنند.
- استفاده از Firewall: فایروال با قابلیت تشخیص و جلوگیری از حملات Flood میتواند به محافظت از سرور و شبکه در برابر حملات کمک کند. قوانین فایروال از جمله ریتلیمیترها، محدودیتهای ترافیک و نیز محدود نمودن درخواستهای مرتبط با هر نوع حمله فلود باید براساس الگوها و الگوریتمهای تشخیص حملات فلود تنظیم شوند.
- استفاده از Load Balancer: با کمک توازن بار میتوان بار درخواستها را بین سرورها و دستگاهها توزیع کرد و از حملات Flood جلوگیری نمود.
ارزیابی تأثیر حملات Flood در مقیاسهای مختلف
تأثیر حملات Flood در مقیاسهای مختلف میتواند متفاوت باشد و بستگی به ظرفیت و قدرت سرور، شبکه و سیستمهای مورد هدف و نیز راهکارهای تشخیص و مقابله با حملات دارد. تاثیر حملات فلود، بسته به ابعاد شبکه و نیز ابعاد حمله میتواند از تاخیر در ارتباط یا اختلال در دسترسی به خدمات، تا قطعی سرویس و از دست رفتن دادهها متفاوت باشد. در نهایت این حملات میتوانند هزینه قابل توجهی را به سازمانها تحمیل کنند و حتی از دست رفتن اعتماد کاربران به سازمان را به همراه داشته باشند.
سخن پایانی
انتخاب راهکار مناسب برای مقابله با حملات Flood باید بر اساس نیازها و ویژگیهای سازمان و سیستم تعیین شود. باید مقایسه راهکارهای مختلف از جمله قابلیتها، هزینهها، عملکرد، پشتیبانی و سازگاری با محیط سیستمی صورت گیرد. راهکارهای مقابله با حملات Flood همیشه حفاظت صد در صدی ندارند و فقط میتوانند با توجه به پیچیدگی و نوع حمله، یک حاشیه امن ایجاد کنند. به همین دلیل، لازم است که به طور دورهای، راهکارها را مورد بررسی و ارزیابی قرار داده و توسعههای لازم را در این حوزه انجام داد. با اجرای راهکارهای مناسب، میتوان از خسارات ناشی از حملات Flood جلوگیری کرده و امنیت و پایداری سیستمها را تضمین کرد.
سرویس کلود گارد زَس علاوه بر اینکه سرویس CDN را در اختیارتان قرار میدهد، به لطف اسکرابینگسنترهای توزیع شده و پهنای باند بسیار بالای شبکه، از حملات DDoS شامل هر نوع حمله فلود نیز جلوگیری میکند.