صفحه اول > مقالات

 

عدم پذيرش سرويس (۲) : انواع حملات

 

در مقاله پيش با حمله DoS آشنا شديم. از آنجا كه حملات طغيان بسته هاي ديتا معمولاً تلاش مي كنند منابع پهناي باند و پردازش را خلع سلاح كنند، ميزان بسته ها و حجم ديتاي متناظر با رشته بسته ها عوامل مهمي در تعيين درجه موفقيت حمله هستند. بعضي از ابزارهاي حمله خواص بسته ها را در رشته بسته ها بدلايلي تغيير مي دهند:

·   آدرس IP منبع – در بعضي موارد، يك آدرس IP منبع ناصحيح، (روشي كه جعل IP ناميده مي شود) براي پنهان كردن منبع واقعي يك رشته بسته استفاده مي شود. در موارد ديگر، جعل IP هنگامي استفاده مي شود كه رشته هاي بسته به يك يا تعداد بيشتري از سايت هاي واسطه فرستاده مي شوند تا باعث شود كه پاسخ ها به سمت قرباني ارسال شود. مثال بعدي در مورد حملات افزايش بسته است (مانند smurf و fraggle)

·   پورتهاي منبع\مقصد-  ابزار حمله طغيان بسته بر اساس TCP و UDP ، گاهي اوقات پورت منبع و يا مقصد را تغيير مي دهند تا واكنش توسط فيلتر كردن بسته را مشكل تر كنند.

·   مقادير IP Header ديگر -  در نهايت در ابزار حمله DoS مشاهده كرده ايم كه براي مقداردهي تصادفي، مقادير Header هر بسته در رشته بسته ها طراحي شده اند كه تنها آدرس IP مقصد است كه بين بسته ها ثابت مي ماند.

بسته ها با خواص ساختگي بسادگي در طول شبكه توليد و ارسال مي شوند. پروتكل TCP/IP به آساني مكانيزم هايي براي تضمين پيوستگي خواص بسته ها در هنگام توليد و يا ارسال نقطه به نقطه بسته ها ارائه نمي كند. معمولاً، يك نفوذگر فقط به داشتن اختيار كافي روي يك سيستم براي بكارگيري ابزار و حملاتي كه قادر به توليد و ارسال بسته هاي با خواص تغييريافته باشند، نياز دارد.

ژوئن ۱۹۹۹، آغاز بكارگيري ابزار DoS با چندين منبع يا DDos (Distributed DoS) بود.

 

روش هاي حمله DoS

در اين قسمت به يك تقسيم بندي كلي درباره انواع حملات DoS مي پردازيم:

Smurf يا Fraggle

حملات smurf يك از مخرب ترين حملات DoS هستند. (شكل زير)

 

 

 

در حمله Smurf (حمله براساس ازدياد بسته هاي ICMP)، نفوذگر يك تقاضاي اكوي ICMP (ping) به يك آدرس ناحيه مي فرستد. آدرس منبع تقاضاي اكو، آدرس IP قرباني است. (از آدرس IP قرباني بعنوان آدرس برگشت استفاده مي شود). بعد از دريافت تقاضاي اكو، تمام ماشين هاي ناحيه پاسخ هاي اكو را به آدرس IP قرباني مي فرستند. در اين حالت قرباني هنگام دريافت طغيان بسته هاي با اندازه بزرگ از تعداد زيادي ماشين، از كار خواهد افتاد.

 

 

 

حمله Smurf براي ازكار انداختن منابع شبكه سيستم قرباني از روش مصرف پهناي باند استفاده مي كند. اين حمله اين عمل را با استفاده از تقويت پهناي باند نفوذگران انجام مي دهد. اگر شبكه تقويت كننده ۱۰۰ ماشين دارد، سيگنال مي تواند ۱۰۰ برابر شود، و بنابراين حمله كننده با پهناي باند پايين (مانند مودم ۵۶ كيلوبيتي) مي تواند سيستم قرباني را با پهناي باند بيشتري (مانند اتصال T1) از كار بيندازد.

حمله Fraggle (تقويت بسته  UDP) در حقيقت شباهت هايي به حمله Smurf دارد. حمله Fraggle از بسته هاي اكوي UDP بر طبق همان روش بسته هاي اكوي ICMP در حمله Smurf استفاده مي كند. Fraggle معمولاً به ضريب تقويت كمتري نسبت به Smurf مي رسد، و در بيشتر شبكه ها اكوي UDP سرويسي با اهميت كمتر نسبت به اكوي ICMP است، بنابراين Fraggle عموميت Smurf را ندارد.

 

SYN Flood

حمله طغيان SYN قبل از كشف حمله Smurf بعنوان مخرب ترين شيوه حمله DoS بشمار مي رفت. اين روش براي ايجاد حمله DoS بر اساس قحطي منابع عمل مي كند.

در طول برقراري يك ارتباط معمولي TCP، سرويس گيرنده يك تقاضاي SYN به سرويس دهنده مي فرستد، سپس سرور با يك ACK/SYN به كلاينت پاسخ مي دهد، در نهايت كلاينت يك ACK نهايي را به سرور ارسال مي كند و به اين ترتيب ارتباط برقرار مي شود.

اما در حمله طغيان SYN، حمله كننده چند تقاضاي SYN به سرور قرباني با آدرس هاي منبع جعلي بعنوان آدرس برگشت، مي فرستد. آدرس هاي جعلي روي شبكه وجود ندارند. سرور قرباني سپس با ACK/SYN به آدرس هاي ناموجود پاسخ مي دهد. از آنجا كه هيچ آدرسي اين ACK/SYN را دريافت نمي كند، سرور قرباني منتظر ACK از طرف كلاينت مي ماند. ACK هرگز نمي رسد، و زمان انتظار سرور قرباني پس از مدتي به پايان مي رسد. اگر حمله كننده به اندازه كافي و مرتب تقاضاهاي SYN بفرستد، منابع موجود سرور قرباني براي برقراري يك اتصال و انتظار براي اين ACKهاي در حقيقت تقلبي مصرف خواهد شد. اين منابع معمولاً از نظر تعداد زياد نيستند، بنابراين تقاضاهاي SYN جعلي حتي با تعداد نسبتاً كم مي توانند باعث وقوع يك حمله DoS شوند.

 

حملات DNS

در نسخه هاي اوليه BIND (Berkely Internet Name Domain)، حمله كنندگان مي توانستند بطور مؤثري حافظه نهان يك سرور DNS را كه در حال استفاده از عمليات بازگشت براي جستجوي يك ناحيه بود كه توسط اين سرور سرويس داده نمي شد، مسموم كنند. زماني كه حافظه نهان مسموم مي شد، يك كاربر قانوني به سمت شبكه مورد نظر حمله كننده يا يك شبكه ناموجود هدايت مي شد. اين مشكل با نسخه هاي جديدتر BIND برطرف شده است. در اين روش حمله كننده اطلاعات DNS غلط كه مي تواند باعث تغيير مسير درخواست ها شود، ارسال مي كند.

 

حملات DDoS

حملات DDoS (Distributed Denial of Service) حمله گسترده اي از DoS است. در اصل DDos حمله هماهنگ شده اي برعليه سرويس هاي موجود در اينترنت است. در اين روش حملات DoS بطور غيرمستقيم از طريق تعداد زيادي از كامپيوترهاي هك شده بر روي كامپيوتر قرباني انجام مي گيرد. سرويس ها و منابع مورد حمله ، «قرباني هاي اوليه» و كامپيوترهاي مورد استفاده در اين حمله «قرباني هاي ثانويه» ناميده مي شوند. حملات DDoS عموماً در از كار انداختن سايت هاي كمپاني هاي عظيم از حملات DoS مؤثرتر هستند.

 

انواع حملات DDoS

عموماً حملات DDoS به سه گروه Trinoo، TFN/TFN2K و Stecheldraht تقسيم مي شوند.

Trinoo

Trinoo در اصل از برنامه هاي Master/Slave است كه با يكديگر براي يك حمله طغيان UDP بر عليه كامپيوتر قرباني هماهنگ مي شوند. در يك روند عادي، مراحل زير براي برقراري يك شبكه Trinoo DDoS واقع مي شوند:

مرحله۱: حمله كننده، با استفاده از يك ميزبان هك شده، ليستي از سيستم هايي را كه مي توانند هك شوند، گردآوري مي كند. بيشتر اين پروسه بصورت خودكار از طريق ميزبان هك شده انجام مي گيرد. اين ميزبان اطلاعاتي شامل نحوه يافتن ساير ميزبان ها براي هك در خود نگهداري مي كند.

مرحله۲: به محض اينكه اين ليست آماده شد، اسكريپت ها براي هك كردن و تبديل آنها به اربابان(Masters) يا شياطين (Daemons) اجراء مي شوند. يك ارباب مي تواند چند شيطان را كنترل كند. شياطين ميزبانان هك شده اي هستند كه طغيان UDP اصلي را روي ماشين  قرباني انجام مي دهند.

مرحله۳: حمله DDoS هنگامي كه حمله كننده فرماني به ميزبانان Master ارسال مي كند، انجام مي گيرد. اين اربابان به هر شيطاني دستور مي دهند كه حمله DoS را عليه آدرس IP مشخص شده در فرمان آغاز كنند و با انجام تعداد زيادي حمله DoS  يك حمله DDoS شكل مي گيرد.

 

TFN/TFN2K

TFN (Tribal Flood Network) يا شبكه طغيان قبيله اي، مانند Trinoo، در اصل يك حمله Master/Slave است كه در آن براي طغيان SYN عليه سيستم قرباني هماهنگي صورت مي گيرد. شياطين TFN قادر به انجام حملات بسيار متنوع تري شامل طغيان ICMP، طغيان SYN و حملات Smurf هستند، بنابراين TFN از حمله Trinoo پيچيده تر است.

TFN2K نسبت به ابزار TFN اصلي چندين برتري و پيشرفت دارد. حملات TFN2K با استفاده از جعل آدرس هاي IP اجرا مي شوند كه باعث كشف مشكل تر منبع حمله مي شود. حملات TFN2K فقط طغيان ساده مانند TFN نيستند. آنها همچنين شامل حملاتي مي شوند كه از شكاف هاي امنيتي سيستم عامل ها براي بسته هاي نامعتبر و ناقص سوءاستفاده مي كنند تا به اين ترتيب باعث از كار افتادن سيستم هاي قرباني شوند. حمله كنندگان TFN2K ديگر نيازي به اجراي فرمان ها با وارد شدن به ماشين هاي مخدوم (Client) )به جاي Master در TFN) ندارند و مي توانند اين فرمان ها را از راه دور اجراء كنند. ارتباط بين Clientها و Daemonها ديگر به پاسخ هاي اكوي ICMP محدود نمي شود و مي تواند روي واسط  هاي مختلفي مانند TCP و UDP صورت گيرد. بنابراين TFN2K خطرناك تر و همچنين  براي كشف كردن مشكل تر است.

 

Stacheldraht

كد Stacheldraht بسيار شبيه به Trinoo و TFN است، اما Stacheldraht اجازه مي دهد كه ارتباط بين حمله كننده و Masterها (كه در اين حمله Handler ناميده مي شوند) رمزنگاري شود؛ عامل ها مي توانند كد خود را بصورت خودكار ارتقاء دهند، مي توانند اقدام به انواع مختلفي از حملات مانند طغيان هاي ICMP، طغيان هاي UDP و طغيان هاي SYN كنند.

 

در مقاله بعدي به روشهاي مقابله با اين نوع حملات خواهيم پرداخت.