وب بستری است که همه چیز در آن مشخص شده، اما به این معنا نیست که حفرهها و ضعفهای امنیتی ندارد. روشهای زیادی برای سوءاستفاده از وب وجود دارد که یکی از آنها، حمله عدم پذیرش سرویس یا عدم پذیرش سرویس توزیعشده است. حتی مشاهده شده که سرویسهای بزرگ و قابل اعتماد نیز تحت چنین حملاتی از کار افتادهاند. بنابراین بهتر است نگاهی به شیوه کارکرد این حملات بیندازیم تا با شناخت آنها، بهتر عمل کنیم.
حملات Dos
دو نوع حمله DOS وجود دارد: یکی به نام عدم پذیرش سرویس و دیگری به نام عدم پذیرش سرویس توزیعشده. همانطور که از نام این عبارات برمیآید، تفاوت بین این دو، ریشه و منبع حملات است. یک حمله Dos معمولا از سوی یک شبکه یا یک شخص وارد میشود؛ در حالی که یک حمله توزیعشده از سوی شبکههایی از تمام نقاط جهان رخ میدهد که هم وسعت حمله را بیشتر میکند، هم جلوگیری از آن را دشوارتر.
بیشتر حملههای DoS که تا به امروز رخ دادهاند، از نظر فنی در دسته حملههای توزیعشده قرار میگرفتند چرا که از شبکههای رباتی استفاده و عنصری توزیعشده برای خود ایجاد میکردند و نیازی به دخالت افراد مختلف نداشتند. این شبکهها عموما کامپیوتری که به باتنت آلوده شده را با دیگر بدافزارها پر کرده و بدون کسب اجازه کاربر، کنترل سیستم را به دست میگرفتند. این بخش خطرناکترین بخش حملات است.
در اینجا به هر دوی این حملات اشاره خواهیم کرد، هر چند که بیشتر حملات DOS از نوع توزیعشده هستند.
شیوه کارکرد حملات Dos
با وجود این که تعاریف زیادی از شیوه کارکرد اینگونه حملات وجود دارد، ایده اصلی آن ثابت است: ارسال درخواستهای بیفایده فراوان به یک سرور یا یک کامپیوتر به حدی که دیگران نتوانند به آن وارد شوند.
این اتفاق مشابه جمعیت انسانهایی است که پشت یک در کوچک گرفتار شدهاند. از این رو اتصالات سرور، منابع و پهنای باند آن صرف درخواستهایی میشود که بدون هیچ منظوری ایجاد شدهاند و کاربران اصلی آن، موقع از استفاده از سرویس بیبهره میمانند.
از آنجا که حتی سرورهای کوچک میتوانند میزان مشخصی از ترافیک را کنترل کنند، برای حمله به سرور این روش ناکارآمد است، حتی اگر تمام کامپیوترها نیز تمام تلاش خود را بکنند تا سرور را از کار بیندازند. از این رو مهاجمین به این نتیجه رسیدهاند که بهتر است راهی را بیابند که سرور تمام اموری که برای یک درخواست کاملا معمولی انجام میدهد، برای این حمله نیز انجام بدهد.
این روش که شامل اسپوف کردن آدرس آیپی است به روش زیر انجام میشود:
ماشین مهاجم یک بسته SYN به سرور میفرستد، اما طوری وانمود میکند که از جای دیگری ارسال شده است. سرور، پاسخ این بسته را با یک بسته SYN/ACK میدهد، اما آدرس تقلبی است و هیچ پاسخی دریافت نمیشود. سرور که نمیخواهد فورا اتصال را قطع کند، چند لحظه صبر میکند و اتصال را باز نگه میدارد و در حافظه خود آن را ذخیره میکند تا بسته به پایان عمر خود برسد.
از آنجا که هر ماشین میتواند تا صدها درخواست تقلبی در لحظه بفرستد، این باعث میشود سرور با حجم عظیمی از اتصالات باز همزمان مواجه شود (حتی وقتی هیچ پاسخی ارسال نمیشود) و نتیجه این میشود که تعداد اندکی ماشین قادر خواهند بود یک سرور بزرگ را از کار بیندازند.
این حمله میتواند توسط یک کامپیوتر، یک باتنت که توسط یک شخص کنترل میشود یا در عملیات بزرگتر، توسط گروهی از افراد انجام شود.
این استراتژی در سالهای اخیر بسیار موثر بوده و سایتهای بسیار بزرگی را کند کرده یا از کار انداخته است، هر چند شرکتها و سازمانها در مقابل این حملات هشیارتر شدهاند.
دفاع در مقابل DoS
برای دفاع در مقابل یک حمله DoS توزیعشده (DDOS)، راههای مختلفی وجود دارد، البته اگر یکی از این روشها درست کار نکند، سرور قطعا با مشکل مواجه شده و برای بازه کوتاهی از زمان، زمینگیر حملات خواهد شد. با این وجود، اگر یکی از حملات رخ داد، 3 حالت برای رفع آن وجود دارد:
فیلترینگ: بیشتر حملات DDOS قابل شناسایی و فیلترشدن هستند. مسیریابهای لبه شبکه میتوانند طوری تنظیم شوند که اتصالات DDOS را تشخیص داده و قبل از رسیدن به سرور، آنها را از کار بیندازند تا شبکه یا سرور را کند نکنند.
انتقال: اگر حمله به یک آدرس آیپی خاص مسیریابی شده، میتوان با جابهجا کردن سایت به یک شناسه آیپی دیگر در همان شبکه، از این حمله فرار کرد. این اقدام را یک بار کاخ سفید در مقابل با حمله ویروسی DDOS به سایتهایش انجام داده است.
سیاهچالهسازی: این روش به عنوان روشی ناامیدانه مطرح است، اما صاحب سایت میتواند تمام ترافیک دریافتی را به یک آدرس نامعتبر منتقل کند تا فشار حملات روی سرور خود یا هیچ سرور دیگری تاثیر نگذارد.
علاوه بر این روشها، نرمافزارها و سختافزارهای خاص بسیاری تولید شدهاند که بتوانند حملات DDoS را تشخیص داده و دفع کنند.
با این وجود، بیشتر مواقع باید صبر کرد و منتظر به پایان رسیدن موج حملات بود. بیشتر حملات کوتاه هستند، چرا که باتنتها نمیخواهند شبکههای خود را دچار مشکل کنند و گروههای مهاجم هم نمیتوانند بهصورت پیوسته به حملات ادامه دهند. در نهایت، بزرگترین و طولانیترین حملات یکیدو روز به طول خواهد انجامید و پس از آن شرایط به حالت سابق باز خواهد گشت.
به هر حال حملات DOS وجهی از وب را نشان میدهد که متاسفانه وبمسترهای سرورهای بزرگ و کوچک باید گاه و بیگاه با آن مواجه شوند. بهتر است به ذهن بسپاریم که حملات DDOS هک کردن نیستند (سیستم مورد نفوذ قرار نمیگیرد، دادهای دزدیده نمیشود و...) بلکه تنها سرور را از سرویسدهی درست به کاربران هدف باز میدارند. کسانی هم که از این حملات استفاده میکنند، هکرهای ماهری نیستند و ابزارهای لازم برای این اقدامها به صورت گسترده در اینترنت پخششده است.
محمد مرادزاده
در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم