بررسی حملات D.O.S
شاید بیشتر مدیران شبکهها و علاقه مندان به امنیت اسم حملاتی موسوم
به DOS را در سالهای اخیر شنیده باشند. اما بیشتر آنها ندانند DOS چگونه
عمل میکند و پیامدهای ناشی از این حمله چیست ؟ گروهی نیز تفکرات نادرسی
از حملات DOS در ذهن دارند و فکر میکنند که می توان با استفاده از یک
دیوار آتش نرمافزاری یا برنامههایی دیگر از این قبیل با حملات DOS و
DDOS مقابله کرد و جلوی آن را گرفت.
سیاری از سایتهای بزرگ نیز در حال حاضر قادر به مقابله با حملات DOS
نیستند زیرا این حملات به نوع متفاوتی سازماندهی میشوند و در بیشتر اوقات
با ایجاد ترافیکی بالا لشکری از Packet های TCP را به سمت سرویسهای خدمات
دهنده سرازیر میکنند. به عنوان مثال در هنگام به وجود آمدن و شناسایی
ویروس Blaster پس از آلوده شدن صدها هزار کامپیوتر در سراسر دنیا بوسیله
این کرم کامپیوتری که از یک ضعف در سیستم عاملهای ویندوز مایکروسافت
استفاده میکرد، خبری با این عنوان که این ویروس در روز 20 اگوست شروع به
فرستادن پاکتهایی به سمت سایت windowsupdate.com مینماید در رسانههای
امنیتی انتشار یافت که در پی آن مسئولین امنیتی مایکروسافت چارهای جز از
کار انداختن سایت Windowsupdate.com و حذف آن از DNSهای جهانی ندیدند. با
اینکه آنها تا آخرین لحظات از عنوان کردن روش خود یعنی از کار انداختن
سایت مورد نظر خودداری مینمودند، اما قابل پیشبینی بود که به هیچ وجه
سرویسهای خدمات دهنده مایکروسافت نیز قادر به مقابله با این حجم ترافیک
بالا نخواهند بود و دیر یا زود از سرویس دهی باز میمانند.
http://img37.exs.cx/img37/1738/Death1.gif
چگونگی عملکرد ویروس Blaster برای ایجاد یک حمله DOS
1- در طی یک هفته ویروس Blaster انتشار یافت و حدود 50000 هزار ماشین را در سراسر دنیا آلوده ساخت.
2- پس از رسیدن به روزی که کرم Blaster برای آن تاریخ برنامهریزی شده
بود، قرار بر این بود که ماشینهای آلوده از سراسر دنیا شروع به ارسال
پاکتهایی به پورت 80 سایت www.windowsupdate.com کنند که یکی از سایتهای
مایکروسافت میباشد در نتیجه با مشغول شدن سرویس دهندگان سایت برای رسیدگی
به درخواستهای ماشینهای آلوده امکان جوابگویی به درخواستهای مشتریان
واقعی نبود و همین باعث به وجود آمدن یک حمله DOS میشد.
امروزه نسل جدیدی از حملات DOS به وجود آمدهاند که DDOS نام گرفتهاند.
این حملات نوع گسترش یافته حملات DOS هستند که از اواخر سال 1999 مورد
استفاده قرار گرفتهاند . در سال 2000 حملات DDOS توسط نفوذگران برای از
کار انداختن و حمله به سایتهای بزرگی مانند, e-Bay CNN , Amazon مورد
استفاده قرار گرفته است.
بررسی حملات D.D.O.S
در چند ماه گذشته در گیرودار دادگاه جنجالی شرکت SCO سایت این شرکت توسط
طرفداران سیستم عاملهای لینوکس و کدباز مورد حمله DDOS قرار گرفت و برای
چند روز از کار افتاد، این حمله یکی از بیسابقهترین و سختترین حملات
DDOS در چند سال اخیر محسوب میشود.
نمودار زیر میزان Hit های وارد شده به سایت Sco را در ثانیه نشان می دهد .
منظور از Hit درخواست هایی می باشند که از سرویس دهنده تقاضا می شوند.
http://www.itna.ir/archives/images/ddos_1.jpg
همانطور که در شکل مشاهده میکنید این حملات از تاریخ چهارشنبه 10 دسامبر
و در ساعت 3:20 شروع شده که تعداد پاکتهای ارسالی 34000 پاکت در ثانیه
بوده است. در روز پنجشنبه 11 دسامبر و در ساعت 2:50 صبح حمله کنندگان دست
به حمله دیگری زدند این بار با هزاران ماشین از سراسر دنیا سرویس Ftp و
WEB شرکت Sco را با آدرس های www.Sco.com و Ftp.Sco.com مورد حمله SYN
Flood قرار دادند.
تعداد درخواستها برای حمله در این روز به حداکثر خود یعنی 50000 درخواست
در ثانیه رسید و بالاخره در ساعت 10:45 روز پنجشنبه شرکت Sco مجبور به حذف
ماشین سرویس دهنده وب خود شد تا با این کار از ورود درخواستهای حمله
کنندگان برای اتصال به این ماشین جلوگیری کند.
این روزها نسل جدیدی از ویروس ها که پس از Blaster به وجود می آیند از
تکنیک DOS برای حمله به اهداف خود استفاده میکنند . این کرم های اینترنتی
پس از آلوده کردن تعداد زیادی ماشین در سراسر دنیا در تاریخی خاص شروع به
ارسال پکت به سوی اهداف از قبل تعیین شده میکنند و حمله ای را به صورت
DOS به وجود می آورند مانند انواع ویروس MY. doom . این حملات به علت
گستردگی ارسال درخواستها ترافیک زیادی را بر روی اینترنت ایجاد میکنند و
شرکت های مورد حمله قرار گرفته کار زیادی در جهت مقابله با آن نمیتوانند
انجام دهند.
در مورد دیگر می توان به ویروسCycle اشاره کرد که یک ویروس ایرانی بود و در اهداف خود را به همین وسیله مورد حمله قرار می داد.
با بررسی این حملات میتوان نتیجه گرفت با این که در روش DDOS از
تکنیکهای ساده و قدیمی استفاده میشود اما میتوان با ترتیب دادن حملات
گسترش یافته شرکتهای بزرگی مانند Microsoft و Sco را نیز دچار مشکل کرد
تا جایی که تنها چارهای که برای مسئولین امنیتی این شرکتها باقی می ماند
قطع ارتباط ماشینهایی است که مورد حمله قرار گرفتهاند.
در ادامه به بررسی روشنتری از حملات DOS و آشنایی با چگونگی عملکرد
پروتکل TCP میپردازیم. سپس انواع حملات DOS را طبقهبندی کرده و تشریح
میکنیم و ابزاری که نفوذگران از آن برای ایجاد این حملات استفاده میکنند
را معرفی خواهیم کرد.
D.O.S (Denial Of Service Attack
حملهای که باعث جلوگیری از کار یک سرویس یا مانع دسترسی به منابعی شود را
حمله DOS گویند . به عنوان مثال حملات D.O.S بر روی ماشینهای سرویس دهنده
وب ممکن است منجرب به این شود که سرویس دهنده قادر به سرویس دهی به
مشتریان نباشد. یا پر کردن پهنای باند یک ماشین باعث قطع ارتباط این ماشین
با شبکه اصلی می شود.
برای بررسی دقیقتر و بیان نحوه عملکرد حملات D.O.S احتیاج به بررسی
پاکتهای TCP و چگونگی برقراری ارتباط تحت پروتکل TCP/IP است که در این
مقاله به بررسی اجمالی از آن می پردازیم .
بررسی اجزای داخل یک پکت TCP :
http://www.itna.ir/archives/images/ddos_2.jpg
اجزای داخلی یک پکت TCP شامل اطلاعاتی در مورد درگاه مبدا درگاه مقصد
شماره رشته داده ها و... میباشد که باعث میشود اطلاعات در مسیر اینترنت
جا به جا شوند.
بررسی عملکرد پروتکل TCP
سه مرحله اصلی دست دادن یا برقراری ارتباط بین یک سرویس دهنده و یک مشتری:
در این شکل سرویس دهنده(Server) با اسم TCP B و مشتری(Client) با اسمTCP A نشان داده شده است.
1 - مشتری پکت TCP را با علامت SYN برای سرویس دهنده ارسال می نماید . این
پکت باعث می شود سرویس دهنده متوجه گردد که مشتری درخواست ارسال اطلاعات
را دارد. در این هنگام مشتری منتظر جواب از سوی سرویس دهنده باقی میماند
تا در صورت برگشت جواب اطلاعات را ارسال کند .
2 - سرویس دهنده پس از دریافت در خواست مشتری یک پکت را با علامت SYN/ACK
در پاسخ برای مشتری ارسال مینماید. این پکت نشان دهنده اجازه برقراری
ارتباط و ارسال اطلاعات میباشد.
3- مشتری پس از دریافت پکت از سوی سرویس دهنده یک ACK برای سرویس دهنده ارسال میکند .
4 - سپس مشتری اقدام به ارسال اطلاعات میکند.
http://www.itna.ir/archives/images/ddos_3.jpg
بررسی انواع روشهای DOS
بررسی حمله SYN flood :
این حمله با ارسال درخواستهای متعدد با علامت SYN به ماشین قربانی باعث
پر شدن سف Backlog میشود. اما Backlog چیست؟ تمامی درخواستهایی که به
ماشین وارد میشوند و شامل علامت SYN برای برقراری ارتباط میباشند در
قسمتی از حافظه به ترتیب ذخیره میشوند تا پس از بررسی جواب آنها داده شده
و ارتباط برقرار شود، این قسمت از حافظه Backlog Queue نام دارد. وقتی که
این قسمت به علت درخواستهای زیاد پر شود، سرویس دهنده مجبور به رها کردن
درخواستهای جدید میشود و در نتیجه از رسیدگی به این درخواستها باز می
ماند (Denial Of Service) . ) شکل شماره 4-1 (
http://www.itna.ir/archives/images/ddos_4.jpg
بررسی Reset(RST) :
پاکتهایی که به علامت RST ارسال میگردند باعث میشوند که ارتباط مورد
نظر قطع گردد. در واقع اگر ماشین A به سمت ماشین B پاکتی را با علامت RST
ارسال کند درخواست اتصال مورد نظر از Backlog پاک خواهد شد.
از این حمله می توان برای قطع اتصال دو ماشین استفاده کرد. به این ترتیب
که اتصالی که بین دو ماشین A و B برقرار است را نفوذگر با ارسال یک در
خواست RST به ماشین B از طرف ماشین A قطع میکند. در واقع در داخل پکتی که
از سوی ماشین نفوذگر به سمت قربانی ارسال میشود IP مشتری گذاشته میشود و
در این صورت ماشین B که سرویس دهنده میباشد ارتباط مورد نظر ماشین A را
از Backlog حذف میکند.
در این روش شخص حمله کننده بوسیله ابزاری میتواند IP جعلی تولید کرده و
در واقع درخواست خود را جای ماشین دیگری ارسال کند. به این تکنیک Spoofing
نیز گفته می شود . (شکل شماره 5-1(
با کمی دقت در شکل شماره 5-1 در مییابید IP مبدا (SourceIP) که در پکت
ارسالی از سوی ماشین حمله کننده به سمت ماشین B میرود همان IP ماشین شماره
A می باشد(1.1.1.1( . در صورتیکه IP ماشین شماره C که نفوذگر از آن
استفاده میکند چیز دیگری است . (1.1.1.3(
http://www.itna.ir/archives/images/ddos_5.jpg
بررسی حمله Land Attack :
در این حمله با استفاده از روش Spoofing در پاکتهایی که به سمت سرویس
دهنده ارسال میشود به جای IP و Port مبداء و مقصد IP و Port خود ماشین
سرویس دهنده قرار داده میشود.
در واقع IP و PORT ماشین سرویس دهنده به سمت خود سرویس دهنده ارسال
میشود. این عمل باعث می شود تا در سیستم عاملهای قدیمی یک حلقه داخلی
Routing به وجود بیاید که باعث پر شدن حافظه و به وجود آمدن حمله DOS می
شود. این حمله در ماشینهای Win 95 (winsok 1.0) و Cisco IOS ver 10.x و
سیستمهای قدیمی باعث از کار افتادن سیستم میشد اما امروزه تمامی سیستم
های هوشمند مانند IDS ها قادر به شناسایی این حملات می باشند و این حمله
تاثیر زیادی بر روند کاری سرویس دهنده ندارد.
بررسی حمله Smurf Attack :
این حملات با ارسال درخواستهای ICMP به سمت محدودهای از IP های
amplifier باعث وسعت دادن ترافیک و به وجود آمدن حمله DOS می شوند.
حمله کننده میتواند درخواستهای ICMP خود را به صورت Spoof شده و از طرف
ماشین قربانی به IP های amplifier ارسال کند با ارسال هر درخواست صدها
جواب برای درخواست ICMP به سمت ماشین قربانی سرازیر می شوند و ترافیک آن
را بالا می برند. ( شکل شماره 6 - 1)
Amplifier: تمام شبکههایی که درخواستهای ICMP را برای IP broadcast خود ----- نکردهاند یک Amplifier محسوب می شوند.
حمله کننده میتواند در خواستهای خود را مثلا به IP هایی مانند:
192.168.0.xxx که X می تواند 255, 223, 191, 159, 127, 95, 63, 31, 15, 7,
3 یعنی IP های Broadcast باشند ارسال کند . البته قابل ذکر است IP
broadcast بستگی به چگونگی بخشبندی IP در شبکه دارد.
http://www.itna.ir/archives/images/ddos_6.jpg
IDS: این برنامه ها نسل جدید برنامه های امنیتی هستند که قادرند ترافیک یک
شبکه را مورد بررسی قرار داده و حملات جدید نفوذگران را شناسایی کرده و
جلوی آن را بگیرند خصوصیت این برنامه ها هوشمند بودن آنها است. این برنامه
ها در لایه های پایین شبکه تمامی پکتهای رد و بدل شده بین ماشین ها را
خوانده و مورد بررسی قرار میدهند.
معرفی ایزارهای D.O.S
http://img48.exs.cx/img48/7637/disk_media_revolution_lg_wm.gif
چند نمونه از برنامههایی که توسط نفوذگران بر روی ماشینهای Zombie برای
حملات DOS مورد استفاده قرار میگیرند به شرح زیر می باشند:
Trin00
TFN2K(Tribe Flood Network)
Stacheldraht
t wintrin00
mstream
Evil bot
Pulse 2002 (BY Security Storm)
تمامی این برنامهها قادرند به عنوان ابزاری برای به وجود آوردن حملات DOS مورد استفاده قرار گیرند.
نفوذگران برای آن که بتوانند حملات خود را به صورت کامل انجام دهند احتیاج
به ماشینهای زیادی دارند تا با در اختیار گرفتن پهنای باند ماشینهای
آلوده یا همان Zombie ها حملات DOS خود را شکل دهند بیشتر آنها به نفوذ به
این ماشینها بر روی آنها برنامه هایی را نصب میکنند که قادرند تا در
زمان مشخص فرمانهای خود را بر روی آنها اجرا کنند یکی از این برنامه ها
Evil bot است که نفوذگر میتواند فرمانهای خود را از طریق یک IRC server
به صدها ماشین آلوده در یک زمان ارسال کند.
Zombie: بیشتر ماشینهای موجود در دانشگاهها و یا مراکز دولتی به علت
پهنای باند مناسبی که دارند و همچنین رعایت نکردن اصول امنیتی کافی هک شده
و بعد از نصب ابزار DOS بر روی آنها توسط نفوذگران برای تشکیل حملات DOS
مورد استفاده قرار میگیرند، در اصطلاح Zombie به ماشینهایی گفته میشود
که توسط نفوذگران هک شدهاند و نفوذگران قادرند با درخواستهای خود از روی
این ماشینها قربانی خود را مورد حمله قرار دهند.