شما صاحب یک فروشگاه بزرگ هستید که به خوبی کار میکند، مشتریها میآیند، خرید میکنند و از خدماتتان رضایت کامل دارند. یک روز به صورتی غیرمنتظره هزاران نفر بدون هیچ قصد خریدی به فروشگاه شما هجوم میآورند. فضای روبروی قفسهها را اشغال می کنند، جلوی درها می ایستند و راه ورود دیگران را مسدود میکنند. هر چه تلاش میکنید، نمیتوانید تشخیص دهید چه کسی مشتری واقعی است و چه کسی آمده تا شلوغی ایجاد کند. مشتریهای واقعی به خاطر این ازدحام نمیتوانند به فروشگاه شما دسترسی داشته باشند و در نهایت از دسترسی به خدمات شما ناامید شده و به فروشگاه دیگری میروند.
این دقیقاً همان کاری است که یک حمله DDoS در دنیای دیجیتال انجام میدهد! هزاران درخواست جعلی به سمت وبسایت یا سرور شما فرستاده میشود و مسیر را برای کاربران واقعی مسدود میکند. هدف این نوع حمله این است که سرویس شما از دسترس خارج شده و یا کند شود، به طوری که مشتریان واقعی نتوانند از خدمات شما استفاده کنند.
اما نگران نباشید، در این مقاله یاد میگیریم چگونه میتوانیم از وقوع این وضعیت جلوگیری کنیم و در صورت وقوع، به بهترین نحو آن را مدیریت کنیم.
DDoS چیست؟
حملات DDoS مخفف Distributed Denial-of-Service (محروم سازی توزیع شده از سرویس) یکی از تهدیدات مداوم برای سرویسهای آنلاین هستند. این حملات با ایجاد ترافیک انبوه و ناگهانی میتوانند در عرض چند دقیقه شبکه سازمانها را مختل کنند. از این رو، واکنش سریع و موثر برای کاهش اختلالات ضروری است. هرچند پروتکلهای امنیتی میتوانند در برابر بسیاری از مواقع در برابر این حملات دفاع کنند، اما با پیچیدهتر شدن روشهای مهاجمان، ضروری است که اقدامات دفاعی پیشگیرانه و واکنشی را با هم ترکیب کنیم. در اینجا، گامهای لازم برای شناسایی، مقابله و آمادگی در برابر حملات DDoS را جهت مقاوم سازی سیستم ها با هم بررسی می کنیم.
شناسایی نوع حمله DDoS
شناخت نوع حمله اولین گام در مقابله با آن است، زیرا هر کدام از این حملات جنبههای مختلفی از شبکه را هدف قرار میدهد. حملات DDoS به طور کلی به صورت زیر دستهبندی میشوند:
حملات حجمی ( Volume-Based Attacks)
نوعی از حملات DDoS هستند که هدفشان پر کردن پهنای باند شبکه یا سرور با حجم عظیمی از ترافیک است. در این روش، مهاجمها تعداد زیادی درخواستهای جعلی یا دادههای غیرضروری را به سمت شبکه یا سرور ارسال میکنند تا آن را تحت فشار قرار دهند و در نتیجه، خدمات به کاربران واقعی مختل شود. این حملات معمولاً سادهتر و ارزانتر هستند و به همین دلیل بهطور گسترده توسط مهاجمان مورد استفاده قرار میگیرند.
انواع حملات حجمی
حملات حجمی به روشهای مختلفی صورت می گیرند ، البته تمامی این نوع حملات یک هدف مشترک دارند: مصرف کردن منابع شبکه و محدود کردن دسترسی کاربران واقعی. در ادامه به برخی از انواع اصلی این حملات اشاره میکنیم:
-
حملات UDP Flood: در این نوع حمله، مهاجمها بستههای UDP (پروتکل دیتاگرام کاربر) را به حجم زیادی به پورتهای تصادفی سرور میفرستند. این حملات با ارسال سریع و پیدرپی بستهها، پهنای باند سرور را پر کرده و باعث میشود سیستم نتواند به کاربران واقعی پاسخ دهد.
- حملات ICMP Flood یا (Ping Flood): این نوع حمله با ارسال حجم زیادی از درخواستهای پینگ (ICMP Echo Request) به سمت سرور یا شبکه، پهنای باند را مصرف میکند. از آنجا که سرور باید به هر درخواست پاسخ دهد، پردازش درخواستها به شدت افزایش یافته و سیستم دچار کندی میشود.
- حملات DNS Amplification: در این نوع حمله، مهاجمان از سرورهای DNS برای تقویت حمله استفاده میکنند. آنها با ارسال درخواستهای جعلی به سرورهای DNS و جعل آدرس IP قربانی، باعث میشوند حجم زیادی از پاسخها به سمت سرور قربانی هدایت شود و در نتیجه پهنای باند سرور مصرف شود.
- حملات NTP Amplification: این حمله نیز مشابه حمله تقویتی DNS است، با این تفاوت که مهاجمها از سرورهای پروتکل زمان شبکه (NTP) برای تقویت حجم دادههای ارسال شده به سمت هدف استفاده میکنند.
چرا حملات حجمی مؤثر هستند؟
حملات حجمی به دلیل سادگی و هزینه پایین، در بین مهاجمان محبوبیت دارند. آنها به سادگی میتوانند با استفاده از تعداد زیادی دستگاه آلوده (مانند رباتها در یک باتنت) ترافیک عظیمی تولید کنند و آن را به سمت هدف ارسال کنند.
حملات مبتنی بر پروتکل (Protocol Attacks)
حملات مبتنی بر پروتکل (Protocol Attacks) نوعی دیگر از حملات DDoS هستند که برخلاف حملات حجمی که هدفشان مصرف پهنای باند است، با بهرهگیری از ضعفهای پروتکلی سعی در تخریب منابع سرور یا تجهیزات شبکهای دارند. این حملات بیشتر روی لایههای ۳ و ۴ مدل OSI (لایه شبکه و انتقال) تمرکز دارند و از مکانیزمهای ارتباطی سرور سوءاستفاده میکنند تا باعث از کار افتادن خدمات شوند.
انواع حملات مبتنی بر پروتکل
حملات مبتنی بر پروتکل شامل انواع زیر هستند:
1. TCP SYN Flood: فرستادن تعداد زیادی درخواستهای SYN به سرور بدون تکمیل مرحله اتصال، که باعث مصرف منابع سرور میشود.
2. ACK Flood: ارسال انبوهی از بستههای ACK که سرور را در پردازش درخواستها دچار اختلال میکند.
3. Ping of Death: ارسال بستههای ICMP بزرگتر از حد مجاز که سرور را دچار مشکل و احتمالاً کرش میکند.
4. ICMP Flood: ارسال تعداد زیادی درخواست پینگ که سرور را به شدت مشغول میکند.
5. Smurf Attack: ارسال بستههای ICMP با آدرس جعلی که پاسخها را به سمت سرور قربانی میفرستد.
6. Fraggle Attack: مشابه Smurf، اما با استفاده از پروتکل UDP، که حجم زیادی از ترافیک را به سمت سرور قربانی ارسال میکند.
حملات لایه کاربرد (Application Layer Attacks)
حملات لایه کاربرد (Application Layer Attacks) نوعی از حملات DDoS هستند که هدفشان اختلال در لایه ۷ مدل OSI است؛ جایی که برنامهها و اپلیکیشنهای وب، مانند وبسایتها و APIها، فعالیت میکنند. در این نوع حملات، مهاجمان با ارسال درخواستهای پیچیده و به ظاهر قانونی سعی میکنند سرور را به زانو درآورند و سرویسدهی آن به کاربران واقعی را مختل کنند.
حملات لایه کاربرد شامل حملات DNS Query Flood و DNS Amplification برای ایجاد ترافیک سنگین، HTTP Flood که با ارسال درخواستهای زیاد سرور را از کار میاندازد، Slowloris که ارتباطات نیمهباز را ایجاد میکند و Fragmentation Attacks که سرور را مجبور به بازسازی بستههای کوچکشده میکند، هستند. همه این حملات با تظاهر به ترافیک عادی، منابع سرور را مصرف میکنند.
اقدامات تاکتیکی برای مقابله با حملات DDoS
پس از شناسایی نوع حمله، سازمانها باید برای کاهش اختلالات به سرعت اقدام کنند. اقدامات زیر راهکارهایی هتند که می توانیم برای مقابله با حملات در لایههای مختلف DDoS بکار بگیریم:
اقدامات در برابر حملات لایههای ۳ و ۴:
محدودسازی نرخ درخواستها و بلاککردن IPها
با تنظیم حد مجاز برای درخواستها و بلاک کردن IPهای مشکوک، میتوان تأثیر برخی حملات لایه ۳ را کاهش داد. با این حال، مهاجمان ممکن است با جعل IP از این کنترلها عبور کنند و بلاک کردن IP ممکن است کاربران واقعی را نیز تحت تأثیر قرار دهد.
بلاککردن جغرافیایی
با بلاک کردن کل مناطق جغرافیایی که معمولاً به سرویس دسترسی ندارند، میتوان حملات را محدود کرد، اما اگر مهاجمان باتنت یا موقعیت جغرافیایی خود را تغییر دهند، ممکن است ترافیک مشروع نیز مسدود شود.
راهکارهای مقابله با حملات لایه ۴
مسیریابی به سیاهچاله
با ارسال ترافیک مخرب به یک «سیاهچاله»، ترافیک مضر از بین میرود و ازدحام شبکه کاهش مییابد. این روش میتواند منابع دیگر شبکه را از اختلال محافظت کند.
دفاع در برابر حملات لایه ۷
بازرسی عمیق بستهها (DPI)
DPI با اسکن و فیلتر کردن بستههای مخرب از ترافیک قانونی، روشی موثر برای مقابله با حملات باتنتی لایه ۷ است که در آنها درخواستهای مخرب شبیه به درخواستهای قانونی به نظر میرسند.
ایزولهکردن سیستم
در صورتی که یک منبع خاص هدف حمله قرار گیرد، میتوان به طور موقت آن منبع را ایزوله کرد و سایر قسمتهای شبکه را به فعالیت خود ادامه داد. به عنوان مثال، غیرفعالسازی دسترسی به فایلهای بزرگ میتواند فشار بر روی سرور را کاهش دهد. پس از ایزولهسازی و تأمین امنیت، منبع میتواند مجدداً به شبکه بازگردانده شود.
استفاده از ابزارهای شناسایی و مقابله با DDoS
ابزارهای تخصصی میتوانند الگوهای ترافیکی غیرعادی را شناسایی کرده و به مهار امواج اولیه حملات کمک کنند. اما این ابزارها کامل نیستند و مهاجمان تاکتیکهای خود را سریعاً تغییر میدهند، که نیاز به تنظیم مداوم پیکربندیها را ایجاد میکند.
خدمات DDoS شخص ثالث:
ارائهدهندگانی مانند Cloudflare، Akamai Impervaوخدمات کاهش DDoS را ارائه میدهند که ترافیک ورودی را با سرعت و دقت پردازش و مسیریابی میکنند تا از بروز اختلال در سرویس جلوگیری شود. هرچند این روش تاخیر کمی ایجاد میکند، اما برای برنامههای حیاتی مناسب است.
محافظت در سطح ISP:
با همکاری با ISPها یا CDNها، سازمانها میتوانند ترافیک مخرب را در سطح بالا مسدود کنند و پهنای باند محلی را برای کاربران واقعی حفظ کنند.
مقابله با تاکتیکهای حواسپرتی
حملات DDoS ممکن است به عنوان ابزاری برای منحرف کردن توجه تیمهای امنیتی استفاده شوند، به گونهای که نفوذ یا دستبرد به دادهها از نظر پنهان بماند. تیمهای امنیتی باید حین حمله، لاگهای شبکه را برای نشانههای تهدیدات همزمان بررسی کنند تا از سرقت دادهها یا دسترسی غیرمجاز جلوگیری کنند.
ارتباط و اقدامات پس از حمله
حفظ ارتباطات شفاف در طول حمله DDoS حیاتی است. شبکههای اجتماعی و سایر کانالهای خارجی میتوانند بدون وابستگی به شبکه آسیبدیده، اطلاعات را به کارکنان، مشتریان و شرکا منتقل کنند. پس از فروکش کردن حمله، پیادهسازی راهکارهای پیشگیرانه برای مقاومت در برابر حملات آینده ضروری است.
بهترین اقدامات پس از حمله
تهیه برنامه جامع واکنش به حملات DDoS
پایش مستمر شبکه
رعایت پروتکلهای مدیریت پَچ (Patch)
کاهش سطح حمله شبکه با ایزولهسازی سرویسهای ضروری
افزایش پهنای باند و ظرفیت سرور برای مقابله با حملات احتمالی آینده
استفاده از CDN و تکنولوژیهای بالانس ترافیک برای مدیریت ترافیک ورودی
بهکارگیری فایروالها و کنترلهای محدودسازی نرخ درخواستها
ترکیب این استراتژیها به طور پیشگیرانه و واکنشی، تابآوری سازمانها را در برابر حملات DDoS افزایش میدهد و کمک میکند که سرویسهای حیاتی آنلاین و ایمن باقی بمانند.