حمله ی DDOS

حمله Dos  چیست؟

حملات dos و ddos  یکی از خطرناک نرین و جدیترین حملاتی است که در بستر اینترنت انجام می شود هدف از این حملات خراب کردن سرویس مورد نظر نمی باشد بلکه شبکه و سرور مورد نظر را وادار به ناتوانی در ارائه سرویس عادی با هدف قرار دادن پهنای باند شبکه یا اتصال پذیریی می نماید. این حملات با ارسال بسته های داده به قربانی انجام می شود که شبکه یا ظرفیت پردازشی قربانی را غرق در بسته های اطلاعاتی می کند و مانع دستیابی کاربران و مشتریان به سرویس می شود .

به صورت کلی زمانی یک  حمله DoS در نظر گرفته می شود که دسترسی به یک کامپیوتر یا منبع شبکه عمداً در نتیجه کار مخرب به  کاربر دیگری مسدود یا کاهش داده شود. این حملات لزوماً داده ها را مستقیماً یا همیشگی تخریب نمی کنند، اما عمداً دسترس پذیری منابع را به خطر می اندازند. در حملات dos بسته های اطلاعاتی به طور مستقیم از سیستم hacker  یا attacker  ارسال می شود و  به طور کلی یک سیستم اطلاعاتی در این حمله نقش دارد و بالطبع یک ip  مسئول انجام attac   است.

 

DoSCover

 

طبقه بندی حمله های dos  به صورت  زیر می باشد :

۱٫حملات dos  در سطح تجهیزات شبکه :

در این نوع حملات از ضعف های نرم افزاری که در سیستم عامل های سخت افزار ها وجود دارد استفاده میشود تا تجهیزات کرش کنند یا اینکه سخت افزار انها  را از کار بندازند به طور مثال در سری روترهای قدیمی شرکت سیسکو باگ  Buffer overfollow وجود داشت و هنگامی که به روتر تلنت زده می شد اگر در قسمت پسورد یک عبارت طولانی تایپ می شد سیستم عامل روتر کرش می کند و سرویس دهی روتر مختل می شد.

۲٫حملات در سطح سیستم عامل :

در حملات از طریق سیستم عامل از پروتکل های سیستم عامل برای از کار انداختن سرویس استفاده میشود مثالی که برای این  نوع حمله از dos  می توانیم بزنیم حمله ی ping of death  است که در این حمله از پروتکل icmp  سیستم عامل برای ارسال سیلی از بسته و در خواست های بزرگتر از حالت عادی به سیستم قربانی استفاده می شود. این نوع حمله ها معمولا باعث کرش شدن سیستم قربانی میشود.

۳٫حملات مبتنی بر اپلیکیشن ها  :

در این حملات اتکر سعی می کند برروی نرم افزار های شبکه ایی که برروی سیستم قربانی در حال پردازش هستند باگ و حفره امنیتی پیدا کند و از طریق الگوریتم های پیچیده اپلیکیشن را وادار به استفاده از تمام منابع در دسترس  سرور کند و در نتیجه سرور قربانی از دسترس خارج میشود مثالی که برای این نوع حمله می توان بزنیم  حمله ی finger bomb  می باشد که در این حمله کاربر مخرب یک روال پایان ناپذیر برای یک نرم افزاری که برروی سیستم قربانی در حال اجرا است ایجاد می کند و این روال پایان ناپذیر باعث می شود تمام منابع در دسترس سیستم استفاده شود و سیستم قربانی از دسترس خارج می شود.

۴٫حمله از طریق سیل داده ها :

در حملات از طریق سیل داده ها اتکر سیل عظیمی از بسته های اطلاعاتی ساده اما بی معنی به سیستم قربانی ارسال می کند و قربانی را وادار می کند این حجم عظیم از اطلاعات را پردازش کند .

در این حمله اتکر سعی می کند از تمام پهنای باند سیستم قربانی برای پردازش این اطلاعات بی معنی استفاده کند. مثالی که برای این نوع حمله می توانیم بزنیم flood pinging  است . این نوع حمله به طور معمول در حملات ddos  مشاهده می شود و در ادامه در رابطه با این حمله بحث خواهیم کرد.

۵٫حملات مبتنی بر ویژگی های پروتکل ها :

در این حملات اتکر از بعضی ویژگی های پروتکل ها برای از دسترس خارج کردن سیستم قربانی استفاده میکند مثالی که برای این نوع حمله می توان زد حمله ی dns cache  می باشد .در این حمله اتکر صاحب یک نیم سرور می باشد و query های اشتباهی  را در رابطه با سایت خود یا وبسایت های مخرب به سمت  نیم سرور قربانی ارسال می کند و نیم سرور قربانی response مربوط به query  را به نیم سرور اتکر  ارسال می کند و اطلاعات غلط را cache  کند .

و اما حمله  ddos  چیست ؟

 

ddos-cyber-attack

در صورتی که حملات dos  همزمان از چند سیستم انجام شود وبسته های اطلاعاتی از چند سیستم مختلف خارج شود  به ان ddos  می گوییم  و بالطبع چند ip  در این حمله دخیل خواهند بود . ddos  از ضعف ذاتی اینترنت برای صدمه زدن به قربانی استفاده می کند چراکه بستر اینترنت به گونه ای طراحی شده است که بسته های اطلاعاتی به بهترین و کوتاهترین مسیر ممکن به مقصد برسد این مزیت مهمترین مزیت بستر اینترنت می باشد و در عین حال ضعف امنیتی ان نیز می باشد  ddos  از این مزیت برای صدمه زدن به قربانی استفاده می کند . همانطور که خدمتتان گفته شد در ddos  جریان های بسته و درخواست ها از منابع مختلف و سیستم های مختلف منتشر می شود Aattacker  تمام این منابع و سیستم ها را به صورت یکپارچه در هدف از کار انداختن قربانی استفاده می کند .

بسته های ddos  ی که به سمت قربانی ارسال می شود بسیار یکپارچه و در هم تنیده می باشد حجم حمله به قدری می تواند بزرگ باشد  که  امکان جداسازی بسته ای سالم از ناسالم وجود نداشته باشد در صورتی که مراقبت و تدابیر امنیتی اتخاذ نشود سیستم قربانی ممکن است متحمل اسیب های بسیار سنگین مانند خاموشی سیستم و خرابی فایل گرفته تا قطع تمام یا بخشی از سرویس گردد.

جریان های  DDoS فاقد مشخصات ظاهری که بتوان از آن به طور مستقیم و کلی برای کشف و پالایش آن ها استفاده کرد می باشند. حملات زمانی تاثیر مطلوبی دارند که حجم بسته های اطلاعاتی زیاد باشد این حملات  می توانند موجب دگرگون ساختن تمام فیلدهای بسته جهت اجتناب از تشخیص و ردیابی شوند.ابزار های ddos  امروزه به ابزار های کاربر پسندی تبدیل شده اند که به راحتی برروی سیستم های مختلف می توانند قرار بگیرند و از انها می توان برای حمله ی dos  یا ddos  می توان استفاده کرد و خود کاربر نیز متوجه این موضوع نخواهد شد .

برنامه های حملات DDoS ساختارهای منطقی بسیار ساده داشته و اندازه های حافظه کوچکی لازم دارند که باعث می شود پیاده کردن و پنهان سازی آن ها به نسبت ساده باشد. مهاجمان به طور مداوم ابزارهای خود را جهت عبور از سیستم های امنیتی توسعه داده شده توسط مدیران سیستم وشرکت های امنیتی که در یک آماده باش همیشگی برای تغییر رویکردهای خود برای رفتار با حملات جدید هستند، تغییر می دهند.

با توجه به اینکه رویکرد حملات ddos  همواره در حال تغییر است هیچ مکانیزم دفاعی خاص و ثابتی را برای جلوگیری از ddos  نمی توان اتخاذ کرد البته مکانیزم هایی است که شرایط حمله را برای attacker  سخت می کند  و با اتخاذ این تدابیر بتوان هویت حمله کننده را شناسایی کرد .

ساختار حملات ddos  به صورت زیر می باشد:

۱٫مهاجم واقعی (attacker):

کاربر مخربی است که بسته های ddos  را به سمت سیستم قربانی هدایت می کند.

۲٫گردانندگان یا اربابان (handlers):

سیستم هایی هستند که کاربر مخرب از طریق انها سیستم هایی که بسته های ddos  را ارسال می کنند (agents) هدایت می کند. نرم افزار هایی برروی این سیستم ها نصب است که می توانند agent ها را هدایت کنند.

۳٫عامل ها (agents or zombies):

سیستم هایی هستند که برنامه ی خاصی روی انها نصب است و مسئول ارسال بسته های ddos  به سمت قربانی می باشند. این سیستم ها برای جلوگیری ار ردیابی اتکر در خارج از شبکه ی اتکر و همچنین سیستم قربانی قرار می گیرد.

مراحل زیر هنگام اماده سازی و انجام حمله ی ddos  انجام می شود:

۱٫انتخاب عامل ها :

مهاجم عامل هایی را که حمله را انجام خواهند داد انتخاب می کند. لازم است این ماشین ها دارای آسیب پذیری هایی باشند تا مهاجم بتواند کنترل آنها را در دست بگیرد. همچنین باید دارای منابع فراوان باشند تا بتوانند جریان های حمله قوی تولید کنند.

۲٫سازش :

مهاجم از حفره های امنیتی و آسیب پذیری های ماشین های عامل استفاده کرده و کد حمله را می کارد. به علاوه سعی می کند کد را از کشف و غیرفعال‌سازی محافظت کند. مالکان و کاربران این عامل ها معمولاً اطلاع ندارند که سیستمشان با مهاجم سازش نموده و جزوی از یک حمله DDoS خواهد بود. هنگام شرکت در یک حمله DDoS، هر برنامه عامل تنها از مقدار کمی از منابع (هم در حافظه و هم در پهنای باند) استفاده می کند، به طوری که کاربران کامپیوترها کمترین تغییر را در کارایی احساس کنند.

۳٫ارتباط:

مهاجم با گرداننده ها ارتباط برقرار می کند تا تشخیص دهد کدام عامل ها بالا بوده و در حال اجرا هستند، زمانی که حمله را زمانبندی می کند یا عامل ها را ارتقا می دهد  بسته به اینکه چگونه مهاجم شبکه حمله DDoS را پیکربندی می کند، عامل ها می توانند یاد بگیرند که با یک یا چند گرداننده ارتباط برقرار کنند. ارتباط بین مهاجم و گرداننده و بین گرداننده و عامل ها می تواند توسط پروتکل های TCP، UDP یا ICMP صورت پذیرد.

۴٫حمله:

در این مرحله مهاجم دستور آغاز حمله را می دهد. قربانی، مدت زمان حمله و نیز ویژگی های خاص حمله از قبیل نوع، TTL، تعداد پورت ها و … می تواند تنظیم شود. تنوع خصوصیات بسته های حمله می تواند برای مهاجم به منظور جلوگیری از کشف حمله مفید باشد.

ابزارهای مورد استفاده در ddos:

چندین ابزار حمله DDoS شناخته شده وجود دارد. معماری این ابزارها بسیار مشابه است و در واقع بعضی ابزارها از طریق تغییرات کمی در سایر ابزارها ساخته شده اند. در این بخش ما وظیفه مندی بعضی از این ابزارها را به طور خلاصه  نشان می دهیم.

TRINOO :

Trinoo  به عنوان اولین ابزاری است که در حمله ddos  استفاده شده است.trinoo  یک ابزار تخلیه پهنای باند است و از ان برای ارسال سیل عظیمی از ترافیک udp  برروی یک یا چند ip  استفاده می شود. معمولاً عامل های ترینو در سیستمی نصب می شود که دارای باگ buffer overfollow  باشند. Handler  ها از UDP یا TCP برای ارتباط با agentها استفاده می کند لذا سیستم های کشف نفوذ می توانند تنها با بوکشیدن ترافیک UDP آنها را پیدا کنند.

TFN:

در سال ۱۹۹۹ نوشته شده است و مانند TRINOO  یک ابزاری است که برای تخلیه سازی پهنای باند و منابع سرویس قربانی استفاده می شود . این ابزار از یک واسط خط فرمان برای ارتباط بین مهاجم و برنامه اصلی کنترل استفاده می کند اما هیچ رمزنگاری میان عامل ها(agents) و گرداننده ها(handlers) و یا میان گرداننده ها(handlers) و مهاجم (attacker) ارائه نمی دهد. علاوه بر سیل UDP ترینو، TFN اجازه سیل ICMP و نیز حملات Smurf را می دهد. ارتباط بین گرداننده (handlers)و شیاطین(agents) با بسته های ICMP ECHO REPLY انجام می شود، که کشف آنها از بسته های UDP سخت تر بوده  و اغلب می توانند از سیستم های دیوار آتش عبور کنند. TFN حملات ddos را راه اندازی می کند که مخصوصاً سخت تلافی می شود چرا که می تواند چندین نوع از حملات را تولید کرده و می تواند بسته هایی  با آدرس های IP مبدأ جعلی تولید کند و همچنین پورت های مقصد را به طور تصادفی نشان دهد.

Stacheldraht:

(یک واژه آلمانی به معنای «سیم خاردار») بر پایه نسخه های اولیه TFN می باشد و تلاش می کند بعضی از نقاط ضعف آن را از بین ببرد. Stacheldraht  ویژگی های Trinoo (معماری گرداننده/عامل) را با ویژگی های TFN اصلی ادغام می کند. Stacheldraht همچنین دارای توانایی انجام بروزرسانی در عامل ها به طور خودکار می باشد. یعنی مهاجم می تواند روی هر سرور ناشناخته فایل نصب کند و هنگامی که یک عامل روشن شد (یا به اینترنت وصل شد) عامل می تواند به طور خودکار بروزرسانی ها را پیدا کرده و آنها را نصب کند. Stacheldraht همچنین یک اتصال telnet امن توسط رمزنگاری کلید متقارن میان مهاجم سیستم های گرداننده برقرار می کند.

ارتباط از طریق بسته های TCP و ICMP ایجاد می گردد. بعضی از حملاتی که توسط Stacheldraht می توانند راه اندازی شوند شامل سیل UDP ، سیل درخواست

ICMP echo و پخش هدایت شده ICMP می شود. شیاطین حمله برای Stacheldraht حملات Smurfوسیل UDP و سیل ICMP را انجام می دهند. نسخه های جدید برنامه امکانات بیشتر و اثرات مختلفی دارند.

از ابزار های دیگری که می توانیم به ان ها اشاره کنیم :mstream , shaft   می باشد اما ما به  تعریف ابزار های بالا بسنده می کنیم.

مشکلات دفاع در برابر ddos  و طبقه بندی انها :

حملات ddos  حمله هایی است که دفاع در برابر ان بسیار دشوار است . اولین مشکل این است که هیچ ویژگی مشترکی در حملات ddos  وجود ندارد و این حملات با توجه به خلاقیت اتکر برنامه ریزی می شود و با توجه به اینکه این حملات از چند سیستم و عامل ناشی می شود بنابراین ردیابی انها بسیار دشوار خواهد بود .از طرف دیگر ابزار هایی که از طریق ان می توان در حمله ddos  شریک شد به راحتی در فضای اینترنت قابل یافت و دانلود می باشند . همچنین ممکن است حمله کننده با تکنینک IP Spoofing ( جعل IP) هویت واقعی خود را مخفی سازد که در این صورت فرایند ردیابی حمله کننده بسیار دشوارتر می گردد.

دفاع در برابر ddos  شامل دو مورد می شود :۱٫دفاع قبل از حمله ی ddos  که شامل استفاده از تجهیزات امنیتی مانند firewall  و antiddos  و… می باشد ۲٫دفاع در زمان حمله ddos  که موضوع بسیار مهمتر از دفاع قبل از حمله می باشد و در زیر چند مکانیزم را ارایه کرده ایم :

فیلترینگ ورودی(Ingress Filtering):

در این روش یک روتر راه اندازی می شود که اجازه ورود بسته هایی با منبع غیر مجاز را به شبکه نمی دهد. فیلترینگ ورودی (Ingress Filtering ) یک مکانیزم محدود کننده به منظور جلوگیری از عبور ترافیک هایی است  که آدرس IP فرستنده بسته با پیشوند دامین متصل به روتر همسان نباشد. این مکانیزم می تواند به صورت موثری حملات DDoS ی را که از طریق جعل IP انجام می شود کاهش دهد .

اما بعضی مواقع ممکن است یک ترافیک قانونی به وسیله این نوع از فیلترینگ ( فیلترینگ ورودی) دور انداخته شود و این موضوع زمانی رخ می دهد که در یک شبکه خارجی از شبکه ما یک نود متحرک که از IP متحرک ( موقت) استفاده می کند بخواهد به شبکه ما وصل شود.

 ۲٫فیلترینگ IP بر اساس تاریخچه  (History-base Ip filtering):

یکی از مکانیزمهای فیلترینگ  دیگری که برای جلوگیری از حملات DDoS ارائه شده است فیلترینگ بر اساس تاریخچه ip  می باشد  بر اساس این روش روتر لبه شبکه بسته های ورودی را  که از قبل در پایگاه داده آدرسهای IP وجود دارد می پذیرد. این پایگاه داده آدرسهای IP بر اساس تاریخچه ارتباطات قبلی روتر لبه شبکه می باشد.

۳٫تغییر آدرس IP :

یکی از راهکارهای ساده دیگر در مقابل حملات DDoS تغییر آدرس IP است که با تغییر آدرس IP کامپیوترهای قربانی با آدرس جدید باعث می شود آدرس قبلی غیر معتبر شود. به این روش دفاع از هدف متحرک گوییم.  پس از تغییر آدرس IP تمامی روترهای اینترنت از این امر مطلع شده و روتر لبه شبکه بسته های حمله را دور خواهد انداخت.  اگرچه این عمل کامپیوتر را در معرض تهدید نگه خواهد داشت زیرا حمله کننده یک حمله جدید را به آدرس جدید صورت خواهد داد . این گزینه برای زمانیکه حمله DDoS به صورت محلی و بر اساس آدرس IP باشد کاربردی است. از طرف دیگر حمله کننده می تواند با استفاده از افزودن ویژگی ردیابی نام دامنه به ابزار حمله DDoS خود این مکانیزم دفاعی را بی اثر کند. ( با استفاده از ویژگی ردیابی دامنه به محض تغییر آدرس IP چون حمله با دامنه انجام می شود بنابر این حمله به سوی آدرس جدید ارسال خواهد شد.)

  1. Load balancing:

یکی از روشهای ساده است که سرویس دهنده را قادر می سازد تا پهنای باند را در ارتباطات حساس افزایش داده و در زمان وقوع حمله از قطع شدن سرویس جلوگیری نمایند. به علاوه کمک می کند تا با استفاده از  قابلیت تکرار در سرورها (Replication) در صورتی که سروری به دلیل حمله DDoS دچار اشکال شود تخریب امن صورت گیرد.  ( اگر سروری به دلیل حمله از دسترس خارج شد به دلیل تکرار شدن آن بر روی سایر سرورها سرویس دهی توسط سایر سرورها ادامه یابد )

۵.honeypots:

می توان از Honeypot ها برای جلوگیری از حملات DDoS استفاده کرد. Honeypot ها سیستمهایی هستند که با حداقل سطح امنیت راه اندازی می شوند که می توان از آنها برای فریب حمله کننده به آن استفاده کرد و دارای سیستم واقعی نیستند. Honeypot ها معمولا در سیستمهای حفاظتی دارای ارزش نیستند ولی می توان از آنها برای جمع آوری اطلاعات درباره حمله کننده با استفاده از ثبت فعالیتهای آنها وآموختن نوع حملات و ابزارهایی که حمله کننده به کار می برد ، استفاده کرد . در تحقیقات اخیر این بحث مطرح است که  تقلید تمامی جنبه های مشروع یک شبکه در Honeypot ( مواردی مانند سرور وب ، سرور ایمیل ، کلاینت ها و غیره)به صورت بالقوه برای حمله کننده های DDoS جذاب می باشد. ایده آن است که حمله کننده را فریب دهیم تا فکر کند که در حال آسیب زدن به یک سیستم ( در اینجا سیستم Honeypot ) است و این سیستم در اختیار وی برای نصب کد  عامل (agent) یا  Handler می باشد. این روش از به خطر افتادن سیستمهای اصلی جلوگیری می کند و از طرفی رفتار عامل یا Handler نصب شده را می توان ردیابی کرده و به سیستم اجازه داد تا بهتر بتواند در برابر ویژگی های حمله انجام شده DDoS دفاع مناسب اتخاذ کند.  

تحلیل الگو های گرافیکی :

یکی از روشهای پاسخ به حمله های DDoS است.در طول یک حمله DDoS اطلاعات مولفه ترافیک را می توان نگهداری و پس از حمله  با آنالیز آنها  برای یافتن مشخصات ویژه و خصوصیاتی که ممکن است نشان دهنده یک حمله باشد اقدام نمود.نتایجی که از تحلیل های این اطلاعات به دست می آید می تواند برای به روز رسانی تکنیک های توزیع بار (Load balancing) به کار رود و همچنین مکانیزمهای جدید فیلترینگ را توسعه دهد یا به طوری بتوان از حملات DDoS بعدی جلوگیری نمود .

 

نتیجه ی نهایی :

بدون شک حملات DDoS در حال حاضر مشکل جدی در اینترنت می باشد  .در این مقاله، ما تلاش کردیم تا به یک دید واضح و روشنی از مشکل حمله DDoS و روشهای دفاعی متعدد  وراه حل هایی که پیشنهاد شده اند برسیم. با داشتن دید واضح  می توانیم راهکارهای موثرتری برای مشکل حملات DDoS پیدا کنیم.

یکی از مزایای بزرگ حملات DDoS و دسته بندی های دفاع , ارتباط موثر و مشارکت بین محققین است که می تواند منجر به شناسایی سایر نقاط ضعف فیلد DDoS شود.این طبقه بندی ها نیازمند به روز رسانی مداوم بوده و تهدیدات جدید و مکانیزمهای دفاعی در برابر آنها باید شناسایی شود. مرحله بعدی در این راه ایجاد مجموعه ای از اطلاعات و تجربیات آزمایش شده است به طوریکه بتوان تمامی روشها را مقایسه و ارزیابی نمود.

منتشر شده در بلاگ ایران هاست توسط: نصیری

ایران هاست، ارائه دهنده سرويس های ثبت دامنه، ميزباني وب، میزبانی ایمیل، میزبانی اختصاصی و سرورهای اختصاصی و مجازی مطابق با استانداردهای جهانی

شما ممکن است علاقه داشته باشید:

0 تفکر بر روی “حمله ی DDOS”

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شبکه های مجازی ما

دسته بندی ها