حمله DDoS (Distributed Denial-of-Service) نوعی جرم سایبری است که در آن مهاجم با ارسال ترافیک های اینترنتی تقلبی به سرور یک سایت، مانع دسترسی دیگر کاربران به خدمات آن سایت می شود.

مهاجمان از انجام یک حمله DDoS اهداف مختلفی دارند. اما هدف اکثر این حملات انگیزه های مالی هستند، برای مثال بعضی افراد برای حذف رقیب خود از بازار دست به این کار می زنند. یعنی با مسدود کردن وب سایت رقیب، کاربران را به وب سایت خود هدایت می کنند تا به این ترتیب ترافیک بیشتر و در نتیجه مشتری بیشتری به دست آورند.

اینگونه حملات در دنیای وب در حال افزایش است و حتی برخی از بزرگترین شرکت های دنیا هم از این حملات در امان نیستند. بزرگترین حمله DDoS تاریخ در فوریه 2020 برای شرکت خدمات وب آمازون (AWS) رخ داد که دو سال پیش از آن، همین اتفاق برای GitHub پیش آمد.

پیامدهای حمله DDoS باعث کاهش ترافیک قانونی سایت، از دست دادن کسب و کار و آسیب به شهرت است.

در دنیا، استفاده از اینترنت اشیا (IoT) در حال گسترش است، افراد زیادی به صورت دورکاری از خانه کار می کنند و تعداد دستگاه های متصل به اینترنت در حال افزایش است. همه این دستگاه ها به طور ایده آلی ایمن نیستند و ممکن است مورد حملات سایبری قرار بگیرند، به همین دلیل حفظ امنیت در برابر حملات DDoS بسیار مهم است.

DoS در مقابل DDoS

DDoS زیرمجموعه ای از حملات DoS است. در یک حمله DoS، مهاجم یا هکر از یک اتصال اینترنتی استفاده می ‌کند تا هدف را با ترافیک های اینترنتی جعلی به رگبار ببندد یا سعی می کند از آسیب ‌پذیری امنیتی سایت مورد نظر، سوء استفاده کند. DDoS نیز همین کار، منتها در مقیاس بزرگتر است. هکر در این نوع حمله از هزاران (یا حتی میلیون ها) دستگاه متصل به اینترنت برای تحقق هدف خود استفاده می کند. حجم زیاد دستگاه های مورد استفاده و متصل به یک شبکه، مبارزه با DDoS را بسیار سخت تر می کند.

حملات DDoS چگونه کار می کنند؟

به عبارت بسیار ساده، هدف حمله DDoS این است که با ایجاد درخواست های تکراری و جعلی، کار دستگاه یا سرور را مختل کند و به این ترتیب سرور نتواند به کاربران اصلی و واقعی خود سرویس بدهد. برای مثال یک فروشگاه را در نظر بگیرید که یک صف طولانی از افراد در آن ایجاد شده است و به صورت پیوسته و بدون وقفه از فروشنده قیمت اجناس مختلف را بدون اینکه خریدی داشته باشند، می پرسند. به این ترتیب حتی اگر یک مشتری واقعی هم بخواهد به فروشگاه وارد شود، با صف طویلی از افراد مواجه می شود و به این ترتیب در زمان معقولی نمی تواند به خواسته اش برسد و ناچارا فروشگاه را ترک کرده و به یک فروشگاه دیگر می رود. این همان کاری است که حمله منع دسترسی به سرویس، انجام می دهد!

به طور کلی این حملات با شبکه ای از دستگاه های متصل به اینترنت انجام می شوند. این شبکه ها از دستگاه های آلوده به بدافزار تشکیل شده اند که از راه دور توسط یک هکر کنترل می شوند. این دستگاه ها به عنوان ربات (زامبی) شناخته می شوند که به آن ها بات نت (Botnet) نیز می گویند.

زمانی که یک بات نت ایجاد شد، مهاجم می تواند با ارسال دستورالعمل های از راه دور، هر ربات را هدایت کند. هنگامی که سرور یا شبکه قربانی توسط بات نت مورد هدف قرار می گیرد، هر ربات ترافیک هایی را به آدرس IP مورد نظر ارسال می کند که به طور بالقوه باعث می شوند سرور یا شبکه تحت فشار قرار گیرد و در نتیجه از دست دیگر کاربران عادی خارج می شود.

از آنجایی که ربات ها، دستگاه هایی قانونی در دنیای اینترنت هستند، جداسازی ترافیک هدایت شده از طرف آن ها از ترافیک عادی، می تواند کار بسیار دشواری باشد. به همین دلیل مقابله با این نوع حمله بسیار سخت و هزینه بر است.

Botnets (ربات های اینترنتی)

بات‌نت ‌ها راه اصلی برای انجام حملات DDoS هستند. مهاجم، رایانه ها یا دستگاه های دیگر را هک می کند و یک کد مخرب یا بدافزاری به نام ربات بر روی آن ها نصب می کند. کامپیوترهای آلوده با هم شبکه ای به نام بات نت را تشکیل می دهند. سپس مهاجم به بات ‌نت دستور می ‌دهد تا سرورها و دستگاه ‌های قربانی را با درخواست های اتصال بیش ‌تر از توان شان، مشغول کرده و از دسترس خارج کنند.

حمله DDoS می تواند میلیون ها درخواست را از طریق هزاران دستگاه مختلف به سرور ارسال کند

علائم حمله و نحوه شناسایی DDoS

یکی از بزرگترین مشکلات شناسایی یک حمله DDoS این است که علائم غیرعادی ندارد. بسیاری از علائم آن مشابه مشکلاتی است که کاربران اینترنت هر روز با آن مواجه هستند، از جمله سرعت پایین آپلود یا دانلود، در دسترس نبودن وب ‌سایت مورد نظر برای مشاهده، قطع شدن اتصال اینترنت، رسانه و محتوای غیرمعمول، یا وجود تعداد زیادی هرزنامه.

علاوه بر این، یک حمله DDoS ممکن است از چند ساعت تا چند ماه طول بکشد و درجه حمله می ‌تواند متفاوت باشد.

اما اگر بخواهیم به طور کلی علائم این حملات را بررسی کنیم، بارزترین علامت حمله DDoS این است که سرعت سایت یا سرویسی ناگهان کاهش می یابد و یا بطور کلی از دسترس خارج می شود. ابزارهای تجزیه و تحلیل ترافیک می توانند به شما کمک کنند برخی از نشانه های حمله DDoS را شناسایی کنید:

  • میزان مشکوکی ترافیک از طرف یک آدرس IP یا محدوده IP.
  • سیل ترافیک از سوی کاربرانی که یک پروفایل رفتاری مشترک دارند، مانند نوع دستگاه، موقعیت جغرافیایی، یا نسخه مرورگر وب یکسان.
  • افزایش درخواست دسترسی غیر قابل توضیح به یک صفحه خاص
  • الگوهای ترافیکی عجیب و غریب مانند افزایش ناگهانی ترافیک در ساعات خاصی از روز یا الگوهایی که غیرطبیعی به نظر می رسند (مثلاً هر 10 دقیقه یک بار افزایش می یابد)

انواع حملات DDoS

انواع مختلف حملات DDoS می توانند اجزای مختلف اتصال شبکه را هدف قرار دهند. برای درک چگونگی عملکرد حملات DDoS مختلف، لازم است بدانید که چگونه یک اتصال شبکه ایجاد می شود.

یک اتصال شبکه در اینترنت از اجزای مختلف یا "لایه ها" تشکیل شده است. مانند ساختن یک خانه از پایه، هر لایه در مدل، هدف متفاوتی دارد.

مدل OSI، یک چارچوب مفهومی است که برای توصیف اتصال شبکه در 7 لایه مجزا استفاده می شود.

7) سطح کاربردی (application layer): لایه تعامل انسان و کامپیوتر، جایی که برنامه ها می توانند به خدمات شبکه دسترسی داشته باشند.

6) لایه نمایش (presentation layer): در این لایه داده ها را از لایه بالایی خود برای لایه پایین تر خود به زبانی قابل فهم ترجمه می کند.

5) لایه نشست (session layer): ارتباطات را حفظ می کند و همچنین مسئول کنترل امنیت ارتباط بین گیرنده و فرستنده است.

4) لایه انتقال (transport layer): داده ها را با استفاده از پروتکل های انتقال از جمله TCP و UDP انتقال می دهد (ایجاد یک ارتباط End-to-End بین مبدا و مقصد).

3) لایه شبکه (network layer): با استفاده از پروتکل معروف این لایه یعنی IP، مسیر یابی در شبکه انجام می شود.

2) لایه لینک داده (data link layer): وظیفه این لایه رساندن پیام های لایه فیزیکی (لایه 1) به دست گیرنده است.

1) لایه فیزیکی (physical layer): وظیفه اصلی آن، انتقال بیت های داده است.

در حالی که تقریبا هدف تمام حملات DDoS غلبه بر یک دستگاه یا سرور با افزایش ترافیک است، می توان این حملات را به 3 دسته تقسیم کرد.

  1. حملات پروتکل
  2. حملات لایه کاربردی
  3. حملات حجمی

حملات لایه کاربردی

هدف از حمله به این لایه تخلیه منابع هدف است. این حملات در صفحات وب و پروتکل های HTTP اتفاق می افتد. از آنجا که سرور از طرف کاربران درخواست هایی را دریافت می کند تا صفحات وب را برای شان پیدا کند از همین رو، دفاع از این لایه در برابر حملات DDoS سخت است زیرا تشخیص ترافیک وب واقعی از جعلی سخت است.

حمله دیداس به لایه کاربردی جزو حملاتی است که مقابله با آن سخت است

Flood HTTP

این حمله شبیه به بروز رسانی مکرر یک صفحه وب در رایانه های متعدد است. ناگهان تعداد زیادی درخواست HTTP به سرور سرازیر می شود و منجر به حمله DDoS می شود. این نوع حمله دارای انواع ساده و پیچیده است:

در نوع ساده ممکن است تنها به یک URL با رنجی از آدرسIP هایی در یک محدوده حمله شود. اما در نوع پیچیده از تعداد زیادی IP مهاجم استفاده و به صورت رندوم به URLهای متعدد حمله می شود.

حملات پروتکل

مصرف بیش از حد منابع سرور یا تجهیزات شبکه مانند فایروال ها منجر به ایجاد اخلال در سرویس های وب می شوند. حملات پروتکل از نقاط ضعف لایه 3 و 4 استفاده می کنند تا به هدف دست پیدا کنند.

حمله DDoS به پروتکل

حمله SYN Flood

SYN Flood شبیه به کارگری است که در یک اتاق، جعبه ‌هایی را از جلوی فروشگاه دریافت می‌ کند. کارگر باید قبل از بیرون آوردن بسته، منتظر تایید بماند. تصور کنید که این کارگر بسته های زیادی دریافت می کند اما تاییدی نمی گیرد و زیر این همه بسته (درخواست) غرق می شود و درخواست ها بدون جواب می مانند.

در این نوع حمله با ارسال تعداد زیادی درخواست اتصال اولیه (TCP) با آدرس IP های جعلی، باعث اختلال در سرور و ناتوانی در تایید این درخواست ها می شود.

حملات حجمی

در این نوع حملات با ایجاد یک ترافیک گسترده از طریق مثلا بات نت ها و ارسال حجم زیادی از داده ها، تمام پهنای باند موجود بین هدف و سرور را درگیر می کنند.

حمله دیداس حجمی به سرور

حمله تقویت DNS

هدف از این حمله افزایش ترافیک DNS بر روی سیستم قربانی می باشد. از طریق این حمله تعداد زیادی درخواست DNS به سیستم قربانی ارسال می شود که باعث مصرف ترافیک و بروز اختلال در سیستم قربانی می شود.

چطور حملات DDoS را کاهش بدهیم؟

نگرانی اصلی در حملات دیداس، تمایز ایجاد کردن بین ترافیک حمله و ترافیک عادی است. ترافیک حمله DDoS به اشکال مختلفی ظاهر می شوند. همان طور که در بالاتر هم گفتیم این حملات می توانند ساده و پیچیده باشند. به همین دلیل برای کاهش حملات DDoS باید از روش های مختلفی استفاده کرد.

به طور کلی هرچه حمله دی داس پیچیده تر باشد، تشخیص ترافیک حمله از ترافیک عادی سخت تر است. یکی از راه های کاهش حملات شامل حذف یا محدود کردن ترافیک ورودی است، البته این کار می تواند علاوه بر کاهش ترافیک بد، ترافیک خوب را هم از بین ببرد.

برای کاهش حملات پیچیده تر باید از راه حل های چند لایه استفاده کرد. در واقع با افزایش امنیت وب سایت و بستن تمام آسیب پذیری ها، می توان علاوه بر مقابله با دیداس، به مقابله با سایر حملات اینترنتی نیز پرداخت.

مسیریابی سیاه چاله (Blackhole routing)

یکی از راه حل های موجود استفاده از یک مسیر سیاه چاله یا قیف ترافیک است. به عبارت دیگر، با استفاده از این مسیر تمام ترافیک های وب، هم قانونی و هم مخرب هر دو به یک مسیر خالی منتهی، و از شبکه خارج می شوند.

اگر یک سرور یا شبکه در حال تجربه حمله DDoS باشد، ارائه دهنده خدمات اینترنت این شبکه، ممکن است تمام ترافیک سایت را به عنوان دفاع در برابر حمله، به سیاه چاله ارسال کند. راه حل ایده آلی نیست زیرا سایت را برای همه کاربران غیرقابل دسترس می کند.

محدود کردن نرخ درخواست (Rate Limiting)

محدود کردن تعداد درخواست های پذیرفته شده در یک بازه زمانی خاص به منظور کاهش حملات.

شاید کاهش نرخ درخواست ها در کاهش حملات DDoS مفید باشد اما به تنهایی موثر نیست. اما با این وجود یک استراتژی مفید محسوب می شود.

فایروال برنامه های وب

فایروال برنامه وب (WAF) ابزاری است که می تواند به کاهش حمله DDoS در لایه 7 کمک کند. با قرار دادن یک فایروال بین اینترنت و سرور مبدا، WAF ممکن است به عنوان یک پروکسی معکوس عمل کند و از سرور مورد نظر در برابر انواع خاصی از ترافیک های مخرب محافظت کند.

در این شیوه برای شناسایی حمله، درخواست های ارسال شده به سرور فیلتر می شوند. یکی از مزیت های فایروال برنامه وب این است که به سرعت می تواند برای پاسخ به یک حمله، قوانین سفارشی شده را اجرا کند.

انتشار شبکه Anycast (Anycast Network Diffusion)

این راه حل از یک شبکه Anycast استفاده می کند، به صورتی که ترافیک های مخرب را در شبکه پراکنده می کند تا بتواند آن ها را کنترل کند. مانند رودخانه بزرگی که به کانال های کوچکتری هدایت می شود.

نتیجه این نوع رویکرد به اندازه حمله و اندازه و کارایی شبکه بستگی دارد.

نتیجه گیری

امیدواریم که با استفاده از این مقاله اطلاعات مناسبی درمورد حملات DDoS به دست آورده باشید و بتوانید از روش های کاهش این حملات استفاده کنید. به طور کلی به عنوان یک صاحب وب سایت باید هر چند وقت یکبار وضعیت ترافیک سایتتان را بررسی کنید تا از سلامت ترافیک ورودی خود با مطلع شوید.

در صورتی که احساس کردید میزان ورودی های سایت شما بیش از حد معمول هست، حتما آن را از نظر حمله DDoS ارزیابی کنید.