
در این بخش از دوره SEC504 از موسسه SANS به آشنایی با حمله DDoS یا Distributed Denial of Service و انواع آن خواهیم پرداخت.
حملات انکار سرویس توزیع شده DDoS
به جای استفاده از یک ماشین یا تعداد کمیاز ماشینها برای راه اندازی سیل بستهها، یک نفوذگر میتواند با استفاده از تعداد زیادی از سیستمها، به ویژه بات نتها، سیل بستهها را راه اندازی نماید که نتیجه آن، حمله انکار سرویس توزیع شده میباشد. در گذشته مهاجمان از ابزارهای تخصصی متمرکز بر DDoS مانند Tribe Flood Network 2000 استفاده مینمودند. اما امروزه تقریبا تمام حملات DDoS با استفاده از بات نتهای مربوط به سیستمهای تسخیرشده توسط نفوذگر انجام میشود.

در تصویر بالا معماری حملات DDoS نمایش داده شده است. در رده بالایی این معماری، نفوذگر قرار گرفته است که از یک ابزار کنترل از راه دور استفاده نموده و کنترل ماشینهای کلاینت را در دست دارد. سیستمهای کلاینت پیامهایی را برای سیستم آلوده شده به بات ارسال میکنند.
در سیستم کلاینتها، یک بخش خاصی از نرم افزار نصب شده است که اجازه میدهد تا نفوذگر دستورات خود را به باتها ارسال کند. نمونهای از این ابزارها، کلاینت IRC میباشد. معمولا تعداد کمیکلاینت وجود دارد ولی تعداد سیستمهای که آلوده به بات هستند زیاد خواهد بود. ماشینهای آلوده به بات میتوانند به منظور انجام یک حمله به سمت قربانی هدایت شوند.
لازم به ذکر است که نفوذگر میتواند مجموعه ای از رلههای Netcat را برای مبهم سازی ارتباطات تنظیم نماید تا موجب مشکل در شناسایی میگردد.
Reflected DDoS Attacks
در حال حاضر شاهد افزایش حملات Reflected DDoS هستیم. در این حملات از دست تکانی سه مرحله TCP سوءاستفاده میشود و با استفاده از یک سرور واسط و بی گناه، حمله تشدید شده و موجب سیل SYN-ACK یا SYN-ACK Flood میگردد. هنگامیکه قربانیان تلاش میکنند تا منشاء حمله را شناسایی نمایند، آنها تصور میکنند که یک سایت با پهنای باند بالا در حال انجام این حمله میباشد.
در این صورت، فقط به بستههای SYN جعل شده ورودی، پاسخ داده میشود. لازم به ذکر است که هیچ ابزار حملهای بر روی سایتها نصب نشده است زیرا آنها فقط در حال پاسخگویی به بستههای SYN ورودی با آدرس مبدا جعل شده میباشند.

Pulsing Zombies
هنگامیکه محققان حمله را تجزیه و تحلیل میکنند، اغلب تلاش میکنند که یک یا چند زامبی را شناسایی نمایند. اگر زامبیها به صورت فعال در حال ارسال ترافیک باشند، به راحتی قابل ردیابی میباشند. چراکه در یک ISP میتوان به سرعت جریان ترافیک را در شبکه شناسایی نموده و از طریق لاگهای ثبت شده (در صورت وجود)، فرآیند شناسایی را تکمیل نمود. البته باید توجه داشت که شناسایی منشاء حملات Flooding، کار بسیار ساده ای نیست و در برخی موارد کار بسیار دشواری میباشد.
در ادامه توسعه دهندگان ابزارهای DDoS هنگامیکه فهمیدند حمله آنها قابل ردیابی میباشد، یک نوع دیگر از مبهمسازی یا ایجاد پیچیدگی را در حملات خود ایجاد نمودند که در اصطلاح به Pulsing Zombie معروف است.
ساختار کاری بدین صورت است که Pulsing Zambieها، سیستم هدف را با ایجاد ترافیک برای یک مدت زمان کوتاهی مانند 10 دقیقه بمباران مینمایند. سپس آنها برای مدت زمان دیگری شاید یک ساعت به حالت خاموش در میآیند. سپس آنها بیدار شده و بمباران خود را برای فاصله زمانی دیگر شروع میکنند.
آشنایی با حملات DoS یا انکار سرویس
زامبیها در بازههای زمانی مختلف به حالت خاموش در آمده و سپس اقدام به ارسال بسته مینمایند، البته مقدار متوسط بار ترافیکی که توسط آنها ارسال میشود به صورت قابل توجهی بالا بوده و میتواند موجب Flood شدن قربانی گردد. این اقدام زامبیها که با عنوان Pulsing به آن اشاره گردید، اغلب موجب سردرگمیمحققان امنیتی شده و آنها نمیتوانند به طور جدی بستههای ارسال شده را به عنوان حمله تلقی نموده و برای آن فرآیندهای Incident Handling را انجام دهند.
Evolution of the Flood
یکی از گرایشهای عمدهای که در سناریوهای دفاعی از آن استفاده میشود، لزوم گسترش شبکههای حسگر گسترده برای تشخیص سریع الگوی ترافیکی مخرب و همچنین مسدود سازی آن است. شرکتهای Arbor Networks، Riverbed Cascade و سیسکو، محصولاتی را رائه میدهند که این قابلیت را به شبکههای بزرگ ارائه میدهند.
این ابزارها معمولا بر محبوب ترین شکل حملات Flood در دهه گذشته تمرکز دارند که همان SYN Flood میباشد. برای عبور از فیلترهایی که این ابزارها برای نفوذگر ایجاد میکنند، نفوذگران به صورت فزایندهای از SYN Flood استفاده نمینماید.
حمله SYN Flood به طور معمول شامل ترافیک جعلی بوده و هرگز دست تکانی سه مرحله TCP را تکمیل نمیکند. مهاجم در این حمله تلاش میکند تا تعداد زیادی از بستههای SYN را برای گرفتن تمام پهنای باند و صف ارتباط قربانی، ارسال نماید. اما ISPها با توجه به اینکه دست تکانی سه مرحلهای هرگز تکمیل نشده است، قادر به شناسایی الگوی ترافیکی غیر معمول شده و آن را مدیریت می نمایند.
در عوض در یک حمله HTTP Flood مهاجم از یک بات نت برای تولید مقدار زیادی از ترافیک استفاده میکند. در این حمله دست تکانی سه مرحله ای تکمیل میگردد و سپس یک درخواست به سمت وب سایت قربانی به منظور دسترسی به یک صفحه عمومیمانند index.html ارسال خواهد شد. در ساختار ISPها در بازه زمانی کوتاه، شناسایی این حمله بسیار مشکل خواهد بود زیرا آن مانند ترافیک عادی به نظر میرسد. وجود بات نتهای بسیار زیاد، HTTP Flood را برای مهاجمان بسیار ارزشمند ساخته است.
LOIC
یکی از ابزارهایی که برای حملات HTTP Flood از آن استفاده میشود، ابزار LOIC میباشد. این برنامه رایگان بوده و برای ویندوز، لینوکس و اندروید قابل دسترس میباشد. ابزار LOIC قادر است تا یک TCP Flood را به پورت انتخاب شده توسط کاربر، یک UDP Flood یا یک HTTP Flood را انجام دهد.

HOIC
چندی پیش گروه هکری Anonymous از ابزار دیگری با نام HOIC استفاده کرد که یک ابزار مشابه با LOIC است. این ابزار رابط کاربری ساده تری دارد. همچنین ابزار HOIC با استفاده از ویژگی Multi Threaded میتواند درخواستهای HTTP را با سرعت بیشتری بر روی ماشین هدف اجرا نماید. همچنین ابزار HOIC از یک قابلیتی که Boosters نامیده میشود، پشتیبانی می کند که در آن به سادگی میتوان اسکریپتهای مبتنی بر جاوا اسکریپت را تنظیم نمود. این ویژگی باعث میشود که HOIC به جای یک صفحه، چند صفحه را در یک وب سرور مورد هدف قرار دهد.

راههای مقابله با حملات DDoS
یکی از راههای جلوگیری از حملات و آسیبپذیریهای امنیتی، بروزرسانی سیستم و نصب وصلههای امنیتی است. برای جلوگیری از حملات DDoS هم این کار باید صورت گیرد.
نصب و راه اندازی سیستمهای تشخیص نفوذ و همچنین استفاده از آنتی ویروس نیز راه دیگری به منظور جلوگیری از این حملات است.
علاوه بر این شما باید فیلترهای AntiSpoof را در روترهای مرزی خود اعمال نمایید. این فیلترها تمام بستههای خروجی که دارای آدرس منبعی خارج از شبکه شما هستند را Drop میکند.
باید توجه داشته باشید که تمام بستههایی که شبکه شما را ترک میکنند باید یک آدرس منبع مرتبط با شبکه شما داشته باشند. اگر این چنین نباشد و یا تنظیمات به درستی انجام نشده باشد، یک نفوذگر میتواند از بستههای جعلی برای حمله به شبکه استفاده نماید.
نکاتی در مورد دفاع در برابر حملات DDoS
برای دفاع در برابر حملاتی که دارای تعداد کمیزامبی هستند، باید مطمئن شوید که پهنای باند کافی و قابلیت افزونگی یا Redundancy لازم را دارید.
البته ابزارهای شناسایی خودکار حملات DDoS هم وجود دارند که میتوانند ترافیک انبوه را شناسایی نموده و پیش از اینکه قربانی متوجه حمله شود، شروع به کاهش(throttling) آن نمایند. شرکت سیسکو همچنین دارای ابزار Cisco Guard DDoS Mitigation است که به منظور شناسایی خودکار و کاهش سرعت و اثرات حمله از آن استفاده میشود.
متاسفانه اگر تعداد زامبیها زیاد باشد، مهاجم میتواند تمام لینک ارتباطی را درگیر نموده و حمله خود را عملیاتی نماید. به خاطر بیاورید که در فوریه سال 2000 میلادی، نفوذگران توانستند تمام پهنای باند Amazon.com را با استفاده از حمله DDoS اشغال کنند. ما در مورد سازمان شما اطلاعاتی نداریم ولی اکثر سازمانها نمیتوانند پهنای باندی مانند Amazon.com داشته باشند!
بنابراین در برابر یک حمله که شامل تعداد زیادی از زامبیها میباشد، تنها راه برای مقابله این است که بلافاصله با ISP خود تماس حاصل نموده و آنها را در جریان این موضوع قرار دهید.
استفاده از سیستمهای هشدار هنگام حمله و سیستمهای تشخیص نفوذ میتواند برای مقابله با این حملات مفید واقع شود.