حمله DoS یک تهدید امنیتی است و زمانی رخ میدهد که مهاجم دسترسی کاربران مجاز به سیستمهای کامپیوتری، شبکه، خدمات یا سایر منابع فناوری اطلاعات را غیرممکن کند. در این نوع حملات مهاجمان معمولاً سیل ترافیک را به سمت سرورهای وب، سیستمها یا شبکهها سرازیر میکنند تا منابع قربانی را تحت تأثیر قرار داده و دسترسی به آنها را دشوار و یا غیرممکن سازند.
معمولاً راهاندازی مجدد یک سیستم، حملهای که سرور را از کار انداخته بود برطرف میکند، اما بازیابی از یک حمله DDoS که در آن ترافیک حمله از منابع زیادی میآید، دشوارتر است.
حملات DoS و DDoS اغلب از آسیبپذیریهای موجود در پروتکلهای شبکه و نحوه مدیریت ترافیک شبکه استفاده میکنند. به عنوان مثال، یک مهاجم ممکن است با ارسال بستههای زیاد از IPهای مختلف به یک سرویس شبکه آسیب پذیر، سرویس را تحت الشعاع قرار دهد.
حمله DoS چگونه کار میکند؟
حملات DoS و DDoS یک یا چند لایه از هفت لایه مدل OSI را هدف قرار میدهند. رایجترین لایههای هدف حمله در مدل OSI عبارتند از: لایه 3 (شبکه)، لایه 4 (انتقال)، لایه 6 (نمایش) و لایه 7 (برنامه).
عوامل مخرب راههای مختلفی برای حمله به لایههای OSI دارند. استفاده از بستههای پروتکل دیتاگرام کاربر (UDP) یکی از رایجترین این راههاست. UDP قبل از اینکه گیرنده موافقت خود را اعلام کند دادهها را میفرستد.
یکی دیگر از روشهای رایج حمله، حملات بسته SYN (همگام سازی) است. در این حملات، بستهها با استفاده از آدرسهای IP جعلی یا فریبنده به تمام پورتهای باز سرور ارسال میشوند. حملات UDP و SYN معمولاً لایههای 3 و 4 مدل OSI را هدف قرار میدهند.
دست تکانیهای پروتکلی که دستگاههای اینترنت اشیا (IoT) انجام میدهند، معمولاً برای شروع حملات به لایههای 6 و 7 استفاده میشوند. شناسایی و جلوگیری از این حملات میتواند دشوار باشد زیرا دستگاههای IoT همه جا وجود دارند و هر کدام یک مشتری هوشمند مجزا هستند.
علائم حمله انکار سرویس (DoS)
US-CERT (تیم آمادگی اضطراری رایانهای ایالات متحده)، دستورالعملهایی را برای تعیین زمان انجام حمله DoS ارائه میدهد. موارد زیر ممکن است نشان دهنده وقوع یک حمله باشند:
- عملکرد شبکهی کندتر یا ضعیفتر، که مخصوصا هنگام تلاش برای دسترسی به یک وب سایت یا باز کردن فایلها در شبکه قابل توجه است.
- ناتوانی در دسترسی به یک وب سایت
- ایمیلهای اسپم بیشتر از حد معمول
جلوگیری از حمله DoS
کارشناسان چندین استراتژی را برای دفاع در برابر حملات DoS و DDoS توصیه میکنند که با تهیه یک طرح واکنش به حادثه شروع میشود. سازمانی که مشکوک به حمله DoS است باید با ارائه دهنده خدمات اینترنتی خود تماس بگیرد تا مشخص کند آیا کندی عملکرد و سایر نشانهها ناشی از یک حمله است یا به عامل دیگری مربوط میشود.
ISP میتواند ترافیک مخرب را برای مقابله با حمله تغییر مسیر دهد. همچنین میتواند از متعادل کنندههای بار برای کاهش شدت حمله استفاده کند. همچنین ISPها دارای محصولاتی هستند که حملات DoS را شناسایی میکنند، مانند برخی از سیستمهای تشخیص نفوذ (IDS)، سیستمهای پیشگیری از نفوذ (IPS) و فایروالها.
استراتژیهای دیگر شامل قرارداد با یک ISP پشتیبان و استفاده از اقدامات ضد DoS مبتنی بر ابر است.
مواردی وجود داشته که مهاجمان برای پایان دادن به حملات DoS یا DDoS از قربانیان درخواست پرداخت کردهاند، اما معمولاً سود مالی انگیزه این نوع از حملات نیست. در اکثر موارد، مهاجمان میخواهند به کسبوکار یا شهرت سازمان یا فرد مورد نظر آسیب برسانند.
انواع حملات DoS
حملات DoS و DDoS به روشهای مختلفی انجام میشوند. انواع رایج حملات انکار سرویس عبارتند از:
- لایه برنامه: این حملات ترافیک جعلی را برای سرورهای برنامههای اینترنتی، به ویژه DNSها یا سرورهای وب تولید میکنند. برخی از حملات DoS لایه برنامه، سرورهای هدف را با دادههای شبکه غرق میکند. برخی دیگر سرور یا پروتکل برنامه قربانی را هدف قرار داده و به دنبال آسیبپذیری میگردند.
- سرریز بافر (Buffer Overflow): این نوع حمله، حملهای است که ترافیک بیشتری را برای مدیریت سیستم مورد نظر به منبع شبکه ارسال میکند.
- تکثیر DNS: در این حمله، مهاجم درخواستهای DNSی را ایجاد میکند که به نظر میرسد از یک آدرس IP در شبکه هدف نشات گرفتهاند و آنها را به سرورهای DNS با پیکربندی نادرست که توسط اشخاص ثالث مدیریت میشوند ارسال میکند.
تکثیر زمانی رخ میدهد که سرورهای DNS میانی به درخواستهای جعلی DNS پاسخ میدهند. پاسخ سرورهای DNS میانی به درخواستها ممکن است حاوی دادههای بیشتری نسبت به پاسخ DNS معمولی باشد بنابراین برای پردازش به منابع بیشتری نیاز دارد که این امر میتواند منجر به محرومیت کاربران مجاز از دسترسی به این سرویس شود.
- پینگ مرگ (Ping of Death): این حملات با ارسال پیامهای درخواست با پی آیندهای بزرگ از پروتکل پینگ سوء استفاده کرده و باعث میشوند سیستمهای هدف تحت فشار قرار بگیرند، پاسخ به درخواستهای مجاز برای سرویس را متوقف کنند و احتمالاً سیستمهای قربانی را خراب کنند.
- فرسودگی حالت (State Exhaustion): این حملات که به عنوان حملات پروتکل کنترل انتقال (TCP) نیز شناخته میشوند زمانی رخ میدهند که مهاجم جداول وضعیت موجود در فایروالها، مسیریابها و سایر دستگاههای شبکه را هدف قرار داده و آنها را با دادههای حمله پر کند.
هنگامی که این دستگاهها بازرسی حالت مدارهای شبکه را ثبت میکنند، مهاجمان ممکن است بتوانند با باز کردن مدارهای TCP بیش از آنچه سیستم قربانی میتواند کنترل کند، جداول حالت را پر کرده و از دسترسی کاربران مجاز به منبع شبکه جلوگیری کنند.
- SYN Flood : این حمله از پروتکل دست تکانی TCP سوء استفاده میکند که توسط آن مشتری یک اتصال TCP را با یک سرور برقرار میکند. در حمله Flood SYN، مهاجم بدون اینکه قصد تکمیل مدارها را داشته باشد، یک جریان با حجم بالایی از درخواستها را برای باز کردن اتصالات TCP به سرور قربانی هدایت میکند. یک حمله موفقیتآمیز میتواند مانع دسترسی کاربران مجاز به سرور مورد نظر شود.
- Tear Drop: این حملات از نقایصی مانند نحوه مدیریت بستههای IP قطعهشده توسط سیستم عاملهای قدیمیتر استفاده میکنند. مشخصات IP، قابلیت قطعه شدن بستهها را زمانی که بیش از حد بزرگ هستند و توسط مسیریابهای واسطه مدیریت نمیشوند، فعال میکند.
در حملات Tear Drop، آفستهای قطعه به گونهای تنظیم میشود که روی یکدیگر همپوشانی داشته باشند. پس از آن سیستمعاملهای میزبان هدف قادر به جمعآوری مجدد قطعات نبوده و حمله میتواند سیستم را خراب کند.
- حملات Volumetric: این حملات DoS از تمام پهنای باند موجود برای دسترسی به منابع شبکه استفاده میکنند. برای انجام این کار، مهاجمان باید حجم بالایی از ترافیک شبکه را به سمت سیستمهای قربانی هدایت کنند. حملات حجمی DoS دستگاههای قربانی را با بستههای شبکه توسط UDP یا پروتکل پیام کنترل اینترنت (ICMP) پر میکند.
این پروتکلها به سربار نسبتا کمی برای ایجاد حجم زیادی از ترافیک نیاز دارند، درحالیکه در همان زمان، دستگاههای شبکه قربانی مملو از بستههای شبکه میشوند و سعی میکنند دیتاگرامهای مخرب دریافتی را پردازش کنند.
تفاوت حملات DoS و DDoS چیست؟
بسیاری از حملات DoS شناخته شده در واقع حملات DDoS هستند، زیرا ترافیک حمله از چندین سیستم میآید. مقابله با حملات DoS که از یک مبدا یا آدرس IP سرچشمه میگیرد آسانتر است، زیرا میتوان ترافیک شبکه را از منبع متخلف مسدود کرد.
شناسایی و دفاع در برابر حملاتی که از چندین سیستم مهاجم انجام میشود بسیار دشوارتر است. تشخیص ترافیک مجاز از ترافیک مخرب و فیلتر کردن بستههای مخرب زمانی که از آدرسهای IP که ظاهراً در سراسر اینترنت قرار دارند ارسال میشوند، دشوار است.
در یک حمله انکار سرویس توزیع شده، مهاجم ممکن است از رایانهها یا سایر دستگاههای متصل به شبکه که توسط بدافزار آلوده شده و بخشی از یک بات نت شدهاند استفاده کند.
حملات DDoS از سرورهای فرمان و کنترل (سرورهای C&C) برای کنترل باتنتهایی که بخشی از حمله هستند استفاده میکنند. سرورهای C&C تعیین میکنند که چه نوع حملهای انجام شود، چه نوع دادههایی منتقل شوند، و چه سیستمها یا منابع اتصال شبکهای با حمله مورد هدف قرار گیرند.
تاریخچه حملات انکار سرویس
حملات DoS به سیستمهای متصل به اینترنت سابقه طولانی دارد و در اصل با حمله کرم Robert Morris در سال 1988 آغاز شد. در آن حمله، Morris (دانشجوی فارغالتحصیل در موسسه فناوری MIT)، یک بدافزار خودتکثیر را منتشر کرد. یک کرم که به سرعت از طریق اینترنت پخش میشود و باعث سرریز بافر و حملات DoS بر روی سیستمهای آسیب دیده میشود.
در آن زمان بیشتر مؤسسات تحقیقاتی و دانشگاهی به اینترنت متصل بودند، اما تخمین زده میشود که 10 درصد از 60000 سیستم در ایالات متحده تحت تأثیر قرار گرفتند. اداره حسابداری عمومی ایالات متحده در آن زمان، تا 10 میلیون دلار خسارت برآورد کرد.
حملات DoS و DDoS از آن زمان متداول شدهاند. برخی از حملات اخیر شامل موارد زیر است:
- GitHub: در 28 فوریه 2018، GitHub.com به دلیل یک حمله DDoS از دسترس خارج شد و برای کمتر از 10 دقیقه آفلاین بود. براساس گزارش GitHub، “این حمله در دهها هزار نقطه پایانی که از طریق 126.9 میلیون بسته در ثانیه به حداکثر 1.35 ترابیت در ثانیه (Tbps) رسید، انجام شد.”
- Imperva: در 30 آوریل 2019، بخش امنیت شبکه Imperva اعلام کرد یک حمله DDoS بزرگ علیه یکی از مشتریان خود ثبت کرده است. به گفته این شرکت، این حمله با 580 میلیون بسته در ثانیه به اوج خود رسید، اما با نرم افزار محافظت DDoS کاهش یافت.
- خدمات وب آمازون (AWS): در گزارش AWS Shield Threat Landscape Q1 2020، ارائهدهنده خدمات ابری (CSP) اعلام کرد که یکی از بزرگترین حملات DDoS که تا به حال در فوریه 2020 دیده بود روی داده است.
حجم حمله 2.3 ترابیت بر ثانیه بود و از نوعی بردار UDP استفاده میکرد که به عنوان بازتاب پروتکل CLDAP شناخته میشود. آمازون گفت که از AWS Shield خود برای مقابله با این حمله استفاده کرده است.