بررسی حملات DOS و DDOS و راه های مقابله با آنها

DOS مخفف “Denial Of Service” و DDOS مخفف “Distributed Denial Of Service” می باشد. در این حملات مهاجم مانع از دسترسی کاربران معتبر به سرویس های وب می شود.

DOS و DDOS چه حملاتی هستند؟
حملات اینترنتی و سایبری فقط شامل بدست آورن پسورد و تخریب سیستم ها نمی باشند ، در برخی از حملات ایجاد اختلال در سیستم ها و عدم دسترسی کاربران به سیستم های حمله شده هدف مهاجمان و هکر ها می باشد. این نوع حملات به حملات اختلال سیستم ، عدم دسترسی ، Dos(Denial of Service) و یا DDos ( Distributed Denial of Service ) معروف می باشند.
هدف اکثر مهاجمان در این نوع حملات وب سرورها ی بانکها ، درگاههای پرداخت الکترونیکی و Name server ها می باشد. حملات DoS فقط مختص شبکه های کامپیوتری نمی باشد. برای مثال در برنامه های مدیریت منابع CPU نیز از این حملات استفاده می شود.

حملات DOS و DDOS چگونه عمل می کنند؟
در DOS مهاجم به واسطه یک برنامه درخواست های متعدد به سرور هدف ارسال می کند تا بدین وسیله دسترسی به شبکه را از سرور وب سلب کند. به این سبب دیگر کاربران معتبر قادر به دسترسی به وبسایت نیستند. در این هنگام اگر شما سعی در بارگزاری وبسایت داشته باشید با پیغام خطای Network Timeout مواجه خواهید شد.

تفاوت بین DOS و DDOS در چیست؟
در هر دو این حملات سرور هدف از ادامه فعالیت باز می ماند اما تفاوت این دو در منبع حمله می باشد. در حمله DOS مهاجم  برنامه را از یک کامپیوتر اجرا نموده، در حالی که در حمله DDOS برنامه مهاجم از چندین سیستم یا سیستم هایی که در حیطه یک شبکه گسترش یافته اند اجرا می شود. در DDOS مهاجم از کامپیوترهای دیگر نیز جهت حمله استفاده می نماید. جهت درک روشن این مطلب به تصاویر زیر دقت نمایید:



حمله DOS


حمله DDOS

 روش های حمله:

یک حمله DOS به شیوه های مختلفی انجام می شود. 5 نوع پایه این حملات عبارتند از:

1- مصرف منابع همچون پهنای باند، فضای ذخیره سازی یا زمان پردازنده.

2- قطع اطلاعات پیکربندی، همچون اطلاعات routing.

3- قطع جریان اطلاعات، همچون reset ناخواسته TCP Sessionها.

4- قطع تجهیزات فیزیکی شبکه.

5- انسداد رسانه ارتباطی بین کاربر و سرور قربانی .

برخی متدهایی که برای حملات Dos و DDos مورد استفاده قرار می گیرد در فهرست زیر آمده است. برای درک بهتر و راههای جلوگیری از حملات مشابه به توضیح برخی از این روشها می پردازیم :

  • ICMP flood
  • SYN flood
  • Teardrop attacks
  • Low-rate Denial-of-Service attacks
  • Peer-to-peer attacks
  • Asymmetry of resource utilization in starvation attacks
  • Permanent denial-of-service attacks
  • Application-level floods
  • Nuke
  • R-U-Dead-Yet?
  • Distributed attack
  • Reflected / Spoofed attack
  • Unintentional denial of service
  • Denial-of-Service Level II

ICMP Flood
این روش با ارسال درخواستهای Ping به سمت قربانی، باعث اختلال در سرویس دهی سرور می گردد. ارسال حجم بالایی از درخواستهای ICMP در یک شبکه باعث پاسخگویی تمام هاستهای موجود در آن شبکه می شود. فرض کنید هر هاستی به این درخواست پاسخ دهد. در نتیجه حجم بالایی از پاسخ ها به سمت Access point داخل شبکه مسیر دهی می شود و باعث از کار افتادن این سوئیچ می شود. در نتیجه شبکه بطور کامل از دسترس خارج خواهد شد.

SYN Flood
زمانی که یک host سیلی از packetهای TCP/SYN را با یک نشانی جعلی ارسال می کند SYN Flood رخ می دهد. هر کدام از این packetها همچون connection request در نظر گرفته می شوند که باعث ایجاد یک ارتباط نیمه باز در سرور شده به طوری که سرور با ارسال یک TCP/SYN-ACK packet منتظر دریافت پاسخ از فرستنده می ماند.(در پاسخ به ACK Packet).

Teardrop attacks
حمله Teardrop از طریق ارسال mangled ip با overlap بارگزاری بالایی را برای کارت شبکه سیستم مورد نظر بوجود می آورد. این ضعف به دلیل وجود باگ در لایه های شبکه و TCP/IP می باشد. سیستم عامل های ویندوز 3.1 ، 95 ، NT و لینوکس 2.0.32 و 2.1.63 در برابر این حمله آسیب پذیر می باشد. در سپتامبر 2009 این حمله در ویندوز ویستا دیده شد. اما این حمله در لایه SMB2 بالاتر از لایه TCP انجام شده بود. استفاده از سیستم عامل بروز و استفاده از بروز رسانی های امنیتی سهم بسزایی در جلوگیری از این نوع حملات دارد.

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

 

 floodهای مرتبه Application
بهره برداری های متنوعی با عاملیت DOS همچون سرریز buffer می تواند موجب سردرگمی نرم افزار در حال اجرا و پرشدن فضای دیسک یا مصرف تمامی حافظه RAM در دسترس یا زمان CPU شود.

Nuke
یکی از قدیمی ترین روش های حملات Dos می باشد. با ارسال درخواستهای اشتباه Ping اقدام به از کار انداختن شبکه می نماید. یکی از نرم افزارهای معروف که این حمله را انجام میدهد WinNuke می باشد. این برنامه با استفاده از ضعف در Netbios ویندوز 95 اقدام به حمله می نماید. با ارسال یک رشته اطلاعات به پورت 139 باعث نمایش صفحه آبی در این نسخه از سیستم عامل ویندوز می شود.

R-U-Dead-Yet?
این حمله با استفاده از session هایی که توسط web application ها در انتظار درخواست هستند مورد حمله قرار می گیرد. slowloris برنامه ای است که اکثر session های مربوط به وب سرور را برای برقراری ارتباط باز نگه میدارد. RUDY با استفاده از ارسال درخواست با هدرهای حجم بالا به این Session های در حال انتظار، باعث از کار افتادن وب سرور می شود.

پیشگیری و مقابله
دفاع در برابر حملات DOS مستلزم درگیر شدن ترکیبی از ابزارهای کشف حمله، ابزارهای پاسخ و دسته بندی ترافیک(به منظور بلوک کردن ترافیک غیرقانونی و اجازه ترافیک قانونی) می باشد. با این حال برای جلوگیری از اینگونه حملات نخست استفاده از سیستم عامل های update از اهمیت بسیار بالایی برخوردار است. ضعف های امنیتی که در حملات قبلی مورد استفاده قرار گرفته اند در این سیستم عامل ها تا حدودی از بین رفته است.
فهرستی از ابزارهای پیشگیری و مقابله در ادامه آمده است:

Firewalls
Firewallها به گونه ای تنظیم می شوند تا بر طبق قوانین ساده ای، پروتکل ها را بپذیرند یا رد کنند. برای مثال در صورتی که حملاتی از سمت چند IP غیرمعمول اتفاق بیافتد، می توان با تعیین یک rule ساده نسبت به نادیده گرفتن بسته های ارسالی از سمت مهاجمان اقدام نمود.

Switches

بیشتر switchها دارای قابلیت rate-limiting و ACL می باشند. بعضی از سوئیچ ها به صورت خودکار و یا system-wide قابلیت های
rate limiting، traffic shaping، delayed binding(TCP splicing)، deep packet inspection و Bogon filtering،  را جهت کشف و اصلاح حملات DOS از طریق automatic rate filtering و WAN Link failure و balancing ارائه می نمایند.

Routers
همانند سوئیچ ها، مسیریاب ها نیز قابلیت rate-limiting و ACL را دارا هستند. همچنین آنها به صورت دستی نیز تنظیم می شوند. بیشتر مسیریاب ها به آسانی در برابر حملات DOS در هم میشکنند. اگر قوانینی را در مسیریاب به گونه ای تنظیم نمایید که در هنگام حملات statistics ارائه دهند، مسیریاب بیشتر کند شده و مسئله پیچیده و دشوارتر خواهد شد.Cisco IOS قابلیتهایی دارد که مانع از flooding می شوند.

Application front end hardware
Application front end hardware سخت افزار هوشمندی است که در شبکه قبل از رسیدن ترافیک به سرور قرار می گیرد. می توان از آن در ارتباط بین مسیریاب ها و سوئیچ ها استفاده نمود. این سخت افزار packetها را به محض ورود به سیستم آنالیز کرده و آنها را بر اساس اولویت، معمول بودن یا خطرناک بودن شناسایی می کند.

پیشگیری بر پایه IPS
سیستم های پیشگیری از نفوذ(Intrusion-prevention systems (IPS)) در حملاتی که signature associated هستند موثرند. اگرچه گرایش حملات به داشتن محتویات مشروع باشد اما قصد نادرستی را دنبال می کنند. IPSهایی که بر اساس تشخیص محتوا کار می کنند نمی توانند حملات behavior-based DOS را بلوک کنند.

دفاع بر اساس DDS
برخلاف مشکلی که IPS ها دارند، DOS Defence System یا DDS قادر است تا حملات DOS connection-based و حملاتی که محتویاتی مشروع اما قصد بدی دارند را بلوک کنند. یک DDS هر دوی حملات protocol base(همچون Treadrop و Ping of death) و حملات rate-based(همچون ICMP floods و SYN floods) را اداره نماید.

Blackholing  و  sinkholing
با استفاده از blackholding تمامی ترافیک DNS مورد تهاجم یا نشانی IP به (black hole(null interface، non-existent server، ارسال می شود. جهت موثرتر بودن و دوری از تحت تأثیر قرار گرفتن ارتباطات شبکه، این راه حل توسط ISP مورد استفاده قرار می گیرد.

Clean pipes
تمامی ترافیک از “cleaning center” یا یک “scrubbing center” به واسطه روش هایی همچون پروکسی ها، تونل ها یا حتی مدارات مستقیم که ترافیک “بد” (DDOS و همچنین دیگر حملات اینترنتی) را تفکیک می کنند و تنها ترافیک خوب را به سرور انتقال می دهند، عبور می کنند. اجراکننده می بایست ارتباط مرکزی به اینترنت داشته باشد تا این نوع سرویس را مدیریت نماید مگر اینکه آنها را بتوان به آسانی استفاده از “cleaning center” یا “scrubbing center” پیاده سازی نمود.

منابع:

این متن برگرفته از منابع زیر می باشد:

1. http://www.jafaloo.com/2011/08/04/what-are-dos-and-ddos-attacks/

2. http://en.wikipedia.org/wiki/Denial-of-service_attack

3. http://www.ashiyane.org