حمله محروم سازی از سرویس (DoS)
حملهٔ محروم سازی از سرویس چیست و چگونه کار میکند؟
فرض کنید یک مدرسه فقط یک در ورودی دارد و هر روز هزاران دانشآموز به طور معمول از آن رفتوآمد میکنند. حالا اگر تعدادی افراد سودجو همزمان جلوی در بایستند و مدام در را باز و بسته کنند یا در صف دروغین تشکیل دهند، دیگر دانشآموزان عادی نمیتوانند وارد مدرسه شوند. این مثال ساده، مفهوم حملهٔ «محروم سازی از سرویس» یا DoS را توضیح میدهد.
در دنیای رایانه، یک وبسایت روی سروری3 اجرا میشود. سرور منابع محدودی دارد مثل حافظه، قدرت پردازنده، و پهنای باند4. در حملهٔ DoS، مهاجم با فرستادن حجم عظیمی از درخواستهای بیمعنی یا جعلی به آن سرور، تمام منابع آن را مصرف میکند. در نتیجه، سرور دیگر نمیتواند به درخواستهای واقعی کاربران پاسخ دهد و وبسایت از دسترس خارج میشود.
انواع حملات DoS و تفاوت آن با حملهٔ DDoS
حملات محروم سازی از سرویس انواع مختلفی دارند. مهمترین دستهبندی بر اساس نحوهٔ مصرف منابع است. در جدول زیر چهار نوع اصلی را مشاهده میکنید:
| نوع حمله | منبع هدف | مکانیزم اصلی |
|---|---|---|
| سیل ارتباطی5 | پهنای باند | ارسال حجم بسیار زیاد داده |
| مصرف منابع | پردازنده و حافظه | اجرای درخواستهای سنگین محاسباتی |
| آسیبشناسی6 | نرمافزار سرور | فرستادن بستههای خراب برای خرابی سرویس |
| توزیع شده (DDoS) | همهٔ منابع | حمله از هزاران دستگاه آلوده به طور همزمان |
تفاوت اصلی بین DoS معمولی و DDoS در تعداد ماشینهای مهاجم است. در DoS، معمولاً یک کامپیوتر حمله را انجام میدهد و مسدود کردن آن آسانتر است. اما در حملهٔ توزیع شده (DDoS)، هکر از «شبکهٔ ربات7» استفاده میکند؛ یعنی هزاران کامپیوتر معمولی که بدون آگاهی صاحبشان به بدافزار آلوده شدهاند. این کامپیوترها همگی با هم به هدف حمله میکنند و جلوی حمله را خیلی سخت میکند.
نمونهٔ واقعی و کاربرد عملی: حمله به وبسایت یک مدرسه آنلاین
فرض کنید یک پلتفرم آموزشی آنلاین مشغول برگزاری امتحانات نهایی است. یک رقیب ناسالم، با حملهٔ DoS ساده میتواند باعث شود دانشآموزان نتوانند به سوالات دسترسی پیدا کنند. در چنین شرایطی:
- سرور به دلیل حجم بالای درخواستهای جعلی از پاسخ دادن بازمیماند.
- صفحات وب با خطای «عدم دسترسی به سرور» مواجه میشوند.
- مدیران وبسایت باید به سرعت حمله را شناسایی و راههای مقابله را فعال کنند.
برای مقابله، میتوان از «فیلتر کردن آیپی8» استفاده کرد: اگر از یک آیپی خاص، دهها هزار درخواست در ثانیه بیاید، آن آیپی را مسدود میکنند. روش دیگر «محدود کردن نرخ درخواست» است؛ یعنی سرور حداکثر تعداد درخواست قابل قبول از هر کاربر را تعیین میکند.
چالشهای مفهومی
پاسخ: خیر، هر سرویس متصل به شبکه مثل بازیهای آنلاین، سرویسهای ایمیل، سرورهای فایل، و حتی دوربینهای مداربسته میتوانند قربانی DoS شوند. هر جا که منبع محدودی وجود داشته باشد و مهاجم بتواند آن را اشباع کند، خطر محروم سازی از سرویس وجود دارد.
پاسخ: دلایل متفاوت است: اخاذی از صاحب وبسایت، رقابت ناعادلانه (مثل مسدود کردن سایت رقیب)، اعتراض سیاسی یا اجتماعی، و گاهی فقط به خاطر تفریح و اثبات توانایی فنی. همچنین برخی هکرها این حملات را به عنوان سرویس به دیگران میفروشند.
پاسخ: بله، در مواردی نادر. مثلاً اگر یک لینک پرطرفدار در شبکههای اجتماعی به سرعت بازنشر شود، تعداد واقعی کاربران میتواند از ظرفیت سرور بیشتر شود. به این پدیده «اثر همنشینی9» میگویند که اگر سرور آماده نباشد، همانند حمله DoS عمل میکند. اما تفاوت در نیت مهاجم است.
راهکارهای تشخیص و جلوگیری
برای تشخیص زودهنگام حمله، میتوان بر روی نمودار ترافیک ورودی نظارت کرد. در شرایط عادی، ترافیک یک الگوی قابل پیشبینی دارد. در لحظهٔ حمله، یک افزایش ناگهانی و شدید دیده میشود که با فرمول زیر قابل مدلسازی ساده است:
$ ترافیک \ مشاهده \ شده (T_{obs}) \gt آستانه \ هشدار \Rightarrow احتمال \ حمله $
برخی از مهمترین روشهای جلوگیری شامل موارد زیر است:
- فیلترینگ بر اساس مکان : مسدود کردن ترافیک کشورهایی که انتظار کاربر ندارید.
- محدودیت نرخ : حداکثر تعداد درخواست از یک آیپی در هر دقیقه.
- شبکهٔ تحویل محتوا10 : پخش کردن ترافیک بین چندین سرور در نقاط مختلف جهان.
- خدمات ضد DDoS : سرویسهای حرفهای که ترافیک مخرب را قبل از رسیدن به سرور شما پاکسازی میکنند.
- حملهٔ محروم سازی از سرویس (DoS) منابع سرور را اشباع کرده و دسترسی کاربران عادی را غیرممکن میسازد.
- نوع توزیع شده (DDoS) به دلیل استفاده از هزاران دستگاه آلوده، بسیار مخربتر و تشخیص آن دشوارتر است.
- روشهای مقابله شامل فیلتر آیپی، محدودیت نرخ درخواست، و استفاده از شبکههای تحویل محتوا میشود.
- با نظارت بر ترافیک و تنظیم آستانه هشدار میتوان حملات را زودتر شناسایی کرد.
پاورقیها
1 محروم سازی از سرویس - معادل انگلیسی Denial of Service (DoS) : حملهای که هدف آن غیرقابل دسترس کردن یک سرویس رایانهای برای کاربران قانونی است.
2 حملهٔ توزیع شده - معادل انگلیسی Distributed Denial of Service (DDoS) : نوعی حمله که در آن از چندین منبع مختلف (اغلب یک باتنت) برای ایجاد محروم سازی از سرویس استفاده میشود.
3 سرور - معادل انگلیسی Server : کامپیوتری قدرتمند که خدمات خود را به کامپیوترهای دیگر (کلاینتها) از طریق شبکه ارائه میدهد.
4 پهنای باند - معادل انگلیسی Bandwidth : حداکثر حجم دادهای که در یک بازهٔ زمانی معین میتواند از یک شبکه عبور کند.
5 سیل ارتباطی - معادل انگلیسی Traffic Flood : ارسال حجم عظیمی از بستههای داده به هدف به منظور اشباع پهنای باند.
6 آسیبشناسی - معادل انگلیسی Vulnerability Attack : سوءاستفاده از یک ضعف یا باگ نرمافزاری برای از کار انداختن سرویس.
7 شبکهٔ ربات - معادل انگلیسی Botnet : شبکهای از رایانههای آلوده که بدون اطلاع کاربر، تحت کنترل مهاجم عمل میکنند.
8 آیپی - معادل انگلیسی Internet Protocol Address : نشانی عددی منحصربهفرد هر دستگاه در شبکه که برای شناسایی آن استفاده میشود.
9 اثر همنشینی - معادل انگلیسی Flash Crowd Effect : افزایش ناگهانی و غیرمنتظرهٔ ترافیک واقعی که ممکن است سرور را از کار بیندازد.
10 شبکهٔ تحویل محتوا - معادل انگلیسی Content Delivery Network (CDN) : مجموعهای از سرورهای توزیع شده در نقاط مختلف جهان که محتوا را به کاربران از نزدیکترین سرور ارائه میدهند.