حملات DoS (Denial of Service) و DDoS (Distributed Denial of Service) از جمله تهدیدات رایج در دنیای امنیت سایبری هستند که به منظور ایجاد اختلال در دسترسی به یک سرویس یا وبسایت مورد استفاده قرار میگیرند. در این حملات، مهاجم سعی میکند با ارسال حجم زیادی از درخواستهای جعلی، منابع سرور هدف را مصرف کند و آن را از دسترس کاربران عادی خارج کند.
هدف اصلی این حملات ایجاد خرابی در سرویسهای آنلاین، وبسایتها و اپلیکیشنها است که میتواند منجر به خسارات اقتصادی و تخریب اعتماد کاربران شود. با افزایش روزافزون استفاده از اینترنت و سرویسهای آنلاین، اهمیت حفاظت از سیستمها در برابر این حملات بیشتر از همیشه شده است.
با پیروی از تکنیکهای پیشگیرانه و استفاده از ابزارهای امنیتی مناسب میتوان ریسک این حملات را به حداقل رساند و از خسارات ناشی از آنها جلوگیری کرد.
تعریف و تفاوت بین حملات DoS و DDoS
حملات DoS و DDoS هر دو با هدف جلوگیری از دسترسی کاربران به منابع یک سرویس یا وبسایت انجام میشوند. این حملات بهگونهای طراحی شدهاند که با مصرف بیش از حد منابع سرور مانند پردازنده، حافظه یا پهنای باند عملکرد آن را دچار اختلال کنند.
تعریف حمله DoS
حمله DoS نوعی از حملات سایبری است که در آن مهاجم با ارسال تعداد زیادی درخواست به سرور یا سرویس هدف، قصد دارد آن را غرق کند و از کار بیندازد. در این حمله تنها یک منبع (معمولاً یک کامپیوتر) مسئول ارسال این درخواستهاست.
تعریف حمله DDoS
حمله DDoS نسخه گستردهتر حملات DoS است. در این نوع حمله، مهاجم از شبکهای از کامپیوترهای آلوده (باتنت) برای انجام حمله استفاده میکند. این دستگاهها که ممکن است در سراسر جهان پراکنده باشند بهصورت همزمان به هدف حمله میکنند و باعث میشوند که سرور با حجم بسیار بیشتری از درخواستها روبهرو شود.
تفاوتهای اصلی بین DoS و DDoS
-
منبع حمله:
در حمله DoS تنها یک منبع یا کامپیوتر برای انجام حمله وجود دارد در حالی که در حمله DDoS از چندین منبع آلوده (باتنت) استفاده میشود.
-
مقیاس و تأثیر:
حملات DDoS به دلیل استفاده از منابع متعدد میتوانند تأثیر بسیار گستردهتر و مخربتری داشته باشند. شناسایی و مقابله با این نوع حمله دشوارتر است چرا که درخواستها از چندین نقطه مختلف ارسال میشوند.
-
تکنیکهای دفاعی:
مقابله با حمله DoS نسبتاً سادهتر است زیرا منبع حمله قابل شناسایی است. اما حملات DDoS به دلیل ماهیت توزیعشده خود نیاز به تکنیکهای پیچیدهتری مانند فایروالهای هوشمند و سیستمهای شناسایی رفتار دارند.
نحوه عملکرد حملات DoS و DDoS
حملات DoS وDDoS به گونهای طراحی شدهاند که دسترسی کاربران قانونی به سرویسها و سرورهای آنلاین را مختل کنند. این حملات با هدف غرق کردن منابع سرور یا شبکه باعث از کار افتادن یا کاهش شدید سرعت سرویس میشوند. در ادامه به نحوه عملکرد این حملات پرداختهایم:
نحوه عملکرد حمله DoS
در حمله DoS مهاجم از یک دستگاه استفاده میکند تا حجم زیادی از درخواستهای جعلی را به سمت سرور هدف ارسال کند. این درخواستها معمولاً به شکلهای زیر انجام میشود:
-
حمله پرفشار:
مهاجم حجم زیادی از درخواستهای داده را به سمت سرور ارسال میکند. این درخواستها اغلب بهطور مداوم و با سرعت بالا ارسال میشوند تا سرور نتواند به درخواستهای واقعی کاربران پاسخ دهد.
-
مصرف منابع:
مهاجم به شکلی درخواستهای پیچیده یا منابع بر (مثل پردازشهای سنگین) را به سرور ارسال میکند که سرور نتواند درخواستهای دیگر را پردازش کند.
نحوه عملکرد حمله DDoS
حملات DDoS مشابه DoS هستند اما با مقیاسی بزرگتر. مهاجم برای انجام حمله DDoS از یک شبکهی گستردهای باتنتها استفاده میکند. این دستگاهها در نقاط مختلف جهان قرار دارند و بهطور همزمان به سرور یا شبکهی هدف حمله میکنند. روند انجام حمله DDoS به شرح زیر است:
-
ایجاد باتنت:
مهاجم با استفاده از بدافزارها و نرمافزارهای مخرب، تعداد زیادی از دستگاهها را آلوده میکند. این دستگاهها به بخشی از شبکه باتنت تبدیل میشوند.
-
شروع حمله:
مهاجم به تمام دستگاههای آلوده دستور میدهد تا حجم بزرگی از درخواستها را به سرور هدف ارسال کنند. این درخواستها میتوانند از پروتکلهای مختلف شبکه مانند HTTP، TCP یا UDP استفاده کنند.
-
غرق کردن سرور:
به دلیل تعداد زیاد درخواستها از منابع مختلف (از جمله دستگاههای مختلف در سراسر جهان)، سرور هدف نمیتواند درخواستها را مدیریت کند و به حالت قطع یا اختلال شدید وارد میشود.
حملات DDoS به دلیل استفاده از چندین منبع مختلف برای ارسال درخواستها، بسیار خطرناکتر از حملات DoS هستند و شناسایی منبع اصلی این حملات سختتر است. این موضوع به دلیل پراکندگی دستگاهها و منابع مورد استفاده در این حملات است که از مناطق مختلف جغرافیایی صورت میگیرد.
انواع حملات DoS
حملات DoS و DDoS به روشهای مختلفی انجام میشوند که هر کدام با استفاده از تکنیکها و پروتکلهای مختلف شبکهای صورت میگیرند. در این بخش به معرفی برخی از مهمترین انواع حملات DoS و DDoS پرداختهایم:
-
حمله SYN Flood
این نوع حمله از یک ضعف در پروتکل TCP استفاده میکند. پروتکل TCP برای برقراری ارتباط با سرور از فرآیندی به نام “Three-Way Handshake” استفاده میکند. در حمله SYN flood مهاجم با ارسال تعداد زیادی درخواستهای SYN (اولین مرحله از فرآیند سهمرحلهای TCP) به سمت سرور، بدون اینکه به پاسخهای سرور واکنش نشان دهد؛ سرور را در وضعیت نیمهباز قرار میدهد. سرور منتظر میماند تا اتصال تکمیل شود اما چون این اتفاق نمیافتد منابع آن بهسرعت به پایان میرسند و سرور نمیتواند به درخواستهای قانونی پاسخ دهد.
-
حمله UDP Flood
حمله UDP flood از پروتکل UDP برای ایجاد اختلال در سرویسها استفاده میکند. پروتکل UDP برخلاف TCP فاقد مکانیزمهای تصدیق و بررسی است و این ویژگی باعث میشود که حملات UDP بهسادگی قابل انجام باشند. در این نوع حمله، مهاجم حجم زیادی از بستههای UDP را به سمت پورتهای تصادفی سرور ارسال میکند. سرور باید این بستهها را پردازش و تلاش کند تا سرویس مناسبی برای هر درخواست پیدا کند که این امر منجر به مصرف بیش از حد منابع سرور میشود.
-
حمله HTTP Flood
در این نوع حمله، مهاجم حجم زیادی از درخواستهای HTTP (مانند درخواستهای GET یا POST) را به سمت سرور وبسایت ارسال میکند. برخلاف دیگر انواع حملات که بیشتر بر لایههای پایینتر شبکه تمرکز دارند حمله HTTP flood به لایه اپیکیشن (لایه ۷) اختصاص دارد و باعث مصرف منابع پردازشی سرور میشود. این نوع حمله میتواند پیچیده باشد زیرا مهاجم از درخواستهای به ظاهر معتبر استفاده میکند تا شناسایی آن بهعنوان حمله دشوارتر شود.
-
حمله ICMP Flood (Ping Flood)
در این حمله تعداد زیادی درخواستهای ICMP Echo (معروف به Ping) را به سمت هدف ارسال میشود. این درخواستها بهطور مداوم ارسال میشوند تا پهنای باند شبکه هدف اشغال شود و سرور مجبور به پاسخگویی به این درخواستهای پینگ باشد. این امر میتواند منجر به قطع سرویس یا کاهش شدید عملکرد شبکه شود.
روشهای مقابله با حملات DoS و DDoS
مقابله با حملات DoS و DDoS نیازمند استفاده از مجموعهای از تکنیکها و ابزارهای پیشرفته است که بتوانند ترافیک مخرب را از ترافیک مشروع تشخیص داده و از دسترسی مهاجم به منابع سرور جلوگیری کنند. در این بخش به برخی از روشهای موثر برای مقابله با این نوع حملات میپردازیم:
-
استفاده از فایروال و سیستمهای تشخیص نفوذ (IDS/IPS)
فایروالها و سیستمهای تشخیص و پیشگیری از نفوذ (IDS/IPS) اولین خط دفاع در برابر حملات DoS و DDoS هستند. این سیستمها میتوانند ترافیک ورودی را نظارت کرده و بستههای مخرب را شناسایی و مسدود کنند. برخی از فایروالهای پیشرفته قادرند بر اساس الگوهای ترافیک و رفتار مهاجمان، به طور خودکار قوانین جدیدی برای مقابله با حملات ایجاد کنند.
-
استفاده از سرویسهای محافظت از DDoS مبتنی بر ابر(Cloud)
یکی از راهکارهای موثر برای مقابله با حملات DDoS استفاده از سرویسهای مبتنی بر ابر است. این سرویسها ترافیک ورودی به وبسایت یا سرور را از طریق شبکههای جهانی خود پخش میکنند و به این ترتیب بار ترافیک را بین سرورهای مختلف توزیع میکنند. به عنوان مثال، سرویسهایی مانند Cloudflare و Akamai میتوانند ترافیک مخرب را تشخیص داده و از ورود آن به سرور اصلی جلوگیری کنند.
-
محدود کردن نرخ درخواستها (Rate Limiting)
محدود کردن نرخ درخواستها یکی از روشهای موثر در جلوگیری از حملات DoS است. با تنظیم قوانین Rate Limiting میتوان تعداد درخواستهایی که یک کاربر یا IP میتواند در یک بازه زمانی معین ارسال کند را محدود کرد. این کار مانع از ارسال حجم بالایی از درخواستهای جعلی توسط مهاجم میشود و منابع سرور تنها برای درخواستهای معتبر و محدود اختصاص مییابد.
-
بهرهگیری از شبکههای توزیع محتوا (CDN)
استفاده از شبکههای توزیع محتوا (CDN) باعث میشود که محتوای وبسایت شما در سرورهای مختلف در سراسر جهان قرار گیرد. این امر نه تنها سرعت بارگذاری وبسایت را افزایش میدهد بلکه میتواند ترافیک ورودی را توزیع کند و از بار بیش از حد سرور اصلی جلوگیری کند. با استفاده از CDN درخواستها از نزدیکترین سرور پاسخ داده میشوند و بدین ترتیب احتمال موفقیت حملات DDoS کاهش مییابد.
-
مدیریت و تنظیم زیرساخت شبکه
یکی از اقدامات مهم برای مقابله با حملات DoS و DDoS طراحی و تنظیم صحیح زیرساخت شبکه است. این شامل استفاده از روترها و سوییچهای هوشمند با قابلیتهای ضد DDoS، تنظیم فیلترهای ترافیکی و اطمینان از اینکه زیرساخت شبکه به گونهای طراحی شده که بتواند ترافیک غیرمنتظره و سنگین را مدیریت کند.
-
استفاده از پروتکلهای پیشرفته نظارت و تحلیل ترافیک
مانیتورینگ مداوم ترافیک شبکه و استفاده از ابزارهای تحلیل رفتار کاربران میتواند به شناسایی رفتارهای غیرعادی و حملات در حال وقوع کمک کند. این ابزارها قادر به تشخیص افزایش ناگهانی ترافیک یا رفتارهای مخرب هستند و میتوانند به مدیران شبکه در واکنش سریعتر کمک کنند.
موارد واقعی از حملات بزرگ DoS و DDoS
در طول سالها، حملات بزرگ DoS و DDoS توانستهاند آسیبهای جدی به سازمانها، شرکتها و زیرساختهای اینترنتی وارد کنند. این حملات نهتنها از نظر گستردگی ترافیک قابل توجه بودهاند، بلکه پیامدهای اقتصادی و امنیتی گستردهای نیز داشتهاند. در این بخش، به بررسی چند نمونه از بزرگترین و شناختهشدهترین حملات DDoS در تاریخ میپردازیم:
-
حمله DDoS به GitHub در سال 2018
یکی از بزرگترین حملات DDoS ثبتشده در تاریخ، در فوریه 2018 به GitHub صورت گرفت. این حمله با استفاده از روش Amplification و ارسال ترافیک مخرب به حجم 1.35 ترابایت بر ثانیه سرورهای GitHub را هدف قرار داد. مهاجمان از آسیبپذیری سرویسهای Memcached برای ارسال حجم عظیمی از درخواستها به سرورهای GitHub استفاده کردند. خوشبختانه این حمله پس از حدود 10 دقیقه توسط سرویسهای حفاظتی GitHub و شرکت Akamai کنترل شد.
-
حمله به Dyn در سال 2016
حمله به Dyn یکی دیگر از نمونههای معروف حملات DDoS است که در اکتبر 2016 رخ داد. Dyn یک ارائهدهنده سرویسهای DNS بود و این حمله باعث شد وبسایتهای مشهوری مانند Twitter، Netflix، Reddit و CNN دچار اختلال شوند. حجم حمله نزدیک به 1.2 ترابایت بر ثانیه بود و از یک شبکه بزرگ باتنت شامل دستگاههای IoT به نام Mirai استفاده شد. این حمله ضعف امنیتی دستگاههای IoT را نشان داد و به جامعه امنیت سایبری هشدار داد که چنین دستگاههایی میتوانند به راحتی به ابزارهایی برای حملات گسترده تبدیل شوند.
-
حمله به بانکهای کره جنوبی در سال 2011
در مارس 2011 بانکهای مهم و وبسایتهای دولتی کره جنوبی تحت یک حمله گسترده DDoS قرار گرفتند. این حمله باعث شد تا بسیاری از خدمات مالی و اینترنتی در کره جنوبی برای مدت چند ساعت قطع شود. اگرچه ابعاد دقیق این حمله فاش نشد اما تأثیرات آن بر زیرساختهای ملی و مالی کره جنوبی به وضوح نمایان شد. برخی از تحلیلگران این حمله را به گروههای هکری مرتبط با دولتهای مخالف کره جنوبی نسبت دادند.
-
حمله به Spamhaus در سال 2013
در سال 2013، یک حمله DDoS علیه Spamhaus رخ داد که به عنوان یکی از بزرگترین حملات آن زمان شناخته شد. Spamhaus یک سازمان است که با اسپمهای ایمیلی مبارزه میکند. این حمله به حجم 300 گیگابایت بر ثانیه اجرا شد و از روشهای پیچیده مانند تقویت DNS (DNS Amplification) استفاده کرد. در نتیجه این حمله بخشی از زیرساخت اینترنتی اروپا دچار اختلال شد.
-
حمله DDoS به Cloudflare در سال 2020
Cloudflare یکی از ارائهدهندگان اصلی خدمات محافظت از DDoS در سال 2020 گزارش داد که یک حمله DDoS به حجم 1.1 ترابایت بر ثانیه را متوقف کرده است. این حمله با استفاده از یک باتنت گسترده صورت گرفت و توانست برای مدتی شبکه Cloudflare را تحت فشار قرار دهد. اما با وجود این Cloudflare با استفاده از تکنیکهای پیشرفته مقابله با DDoS موفق به خنثی کردن حمله شد.
جمعبندی…
حملات DoS و DDoS از تهدیدات مهم دنیای امنیت سایبری هستند که میتوانند به طور چشمگیری دسترسی کاربران به سرویسها و وبسایتها را مختل کنند. این حملات با ارسال حجم زیادی از درخواستهای جعلی به سرورهای هدف، منابع آنها را مصرف کرده و منجر به خرابی یا کندی شدید سرویسها میشوند.
تفاوت اصلی بین حملات DoS و DDoS در منبع حمله است؛ در حملات DoS تنها یک منبع حمله میکند در حالی که حملات DDoS از منابع متعددی (معمولاً از طریق باتنتها) بهره میبرند و تاثیرات مخربتری دارند. مقابله با این نوع حملات نیاز به راهکارهای دفاعی متنوعی دارد از جمله ابستفاده از فایروالهای هوشمند، سرویسهای ابری محافظت از DDoS، محدودیت در نرخ درخواستها و استفاده از شبکههای توزیع محتوا (CDN).
تجربه حملات بزرگ DDoS مانند حمله به GitHub، Dyn و Cloudflare نشان میدهد که حتی بزرگترین شرکتها نیز از این حملات در امان نیستند و اهمیت محافظت از زیرساختها بیشتر از همیشه احساس میشود. با وجود تهدیدات جدی ناشی از این حملات، پیشرفتهای چشمگیری در زمینه تکنولوژیهای مقابله با DDoS انجام شده است و ابزارهای پیشرفتهای برای تشخیص و متوقف کردن این حملات در اختیار سازمانها قرار گرفته است.