احتمالا تاکنون کلمه DDoS به گوشتان خورده باشد و میدانید که همواره از آن به عنوان شیوه ای برای هک کردن یاد میکنند. DDoS از دسترس خارج شدن سرویسها را تداعی میکند. در گذشته گزارشهای بسیاری از این منتشر میشد که هکرها حملات DDoS علیه شرکتهای خاصی ترتیب دادهاند، و باعث شدهاند خدماتشان غیرفعال شود، کاربران به زحمت بیفتند و شرکتها دچار زیان مالی قابل توجهی شوند. اما حتی با آن که مردم با این واژه آشنا هستند، واقعیت پشت این حملات اغلب پنهان نگه داشته میشود. در این مقاله به این میپردازیم که DDoS واقعا چیست، حملهکنندگان چه کاری میتوانند انجام دهند و آیا میتوان جلوشان را گرفت یا نه.
حملات DDos چیست ؟
اصطلاح DDoS (که آن را گاهی داس هم تلفظ میکنند) مخفف Distributed Denial of Service به معنای محرومسازی توزیعشده از سرویس است. این حملهای است که با هدف اورلود کردن و تحت فشار شدید گذاشتن زیرساخت شبکهای یک شرکت به آن انجام میشود و در آن یک سرویس از کار میافتد. این حملات را شاید در فیلمها و سریالها دیده باشید. اما واقعیت در فیلمها بازگو نمیشود. DDoS را حتی نمیتوان هک دانست.
برخلاف باور عامه و آنچه در رسانهها نشان داده میشود، حمله DDoS همیشه کار هکرها نیست. اصلا حتی نیازی به دانش کامپیوتری هم ندارد. اغلب حملات DDoS به وسیله سرویسهایی انجام میشود که هر کسی میتواند آنها را بخرد. این سرویسها، سیل درخواستهای تقلبی ترافیک را روانه سرورها میسازند و باعث میشوند آنها دیگر نتوانند کار کنند. اینجا افراد حملهکننده نه برنامهای مینویسند، نه از سدهای امنیتی عبور میکنند و نه حتی رمزهای عبور رایج را چک میکنند. قضیه به همین سادگی است؛ آنها یک سرویس را میخرند و حمله را شروع میکنند.
البته حملات DoS و DDoS را نباید با هم اشتباه گرفت. یک حمله ساده DoS (که مخفف Denial of Service به معنای محرومسازی از سرویس است) شامل یک سیستم منفرد میشود که یک کانال ارتباطی با سرور برقرار کرده و حمله را از این طریق انجام میدهد. اما در DDoS یک شبکه از سیستمها و ارتباطات به کار گرفته میشوند و از هر جهت درخواست ارائه سرویس را به سرور ارائه میدهند. پشت پرده البته عنصری از هک وجود دارد که مربوط به ساختن باتنتی میشود که برای حمله استفاده شده است که بعدا به این موضوع اشاره خواهیم کرد.
بسیار مهم است که این تفاوت را درک کنیم و دریابیم که چرا حملات DDoS هک واقعی نیستند.
اغلب در رسانهها تصویری تاریک از حملات DDoS به نمایش گذاشته میشود و باعث میشود افراد در این زمینه نگران شوند. البته هکهای واقعی نگرانکننده هستند و میتوانند باعث به سرقت رفتن دادهها شوند، و باتنتها هم میتوانند علاوه بر DDoS در زمینههای دیگری استفاده شوند، اما یک حمله DDoS ورود غیرمجاز به شبکه نیست، بلکه موجی از حملات خارجی است که باعث میشود سرورها مشکل پیدا کنند و شبکهها قطع شوند. در این حملات هیچ دسترسیای به دادههای شخصی و غیرشخصی افراد پیدا نمیشود. همانگونه که ترافیک جادهای میتواند باعث شود که یک خیابان بسته شود، ترافیک سرورها هم میتواند همین اثر را داشته باشد.
در یک هک معمول، هکرها با متدهای مختلف از سیستم امنیتی گذشته و به شبکه داخلی سازمانها و شرکتها دسترسی پیدا میکنند و اغلب به پایگاه داده شامل دادههای شخصی هم میرسند. هکرها میتوانند این دادهها را استخراج کنند و هر کاری با آنها انجام دهند. این هک است و این تهدیدی است که باید جدی گرفته شود. اما حملات DDoS برای کاربران چیزی به جز دردسر ندارند، هرچند که برای شرکتها به اندازه یک هک واقعی خطرناک هستند. شرکتها در اثر حملات DDoS ضرر مالی میکنند و هزینه تعمیر و خسارت مشتریان را هم باید بپردازند.
هزینه آشوب
حملات DDoS به تعداد زیادی انجام میشوند و تعداد دفعات حملات روزانه بیش از آن چیزی است که فکرش را میکنید. البته بستههای حملهای را در فروشگاههای معمول اینترنتی نمیتوان یافت و برای خرید آن باید به سراغ بازارهای سیاه رفت. طبق تحقیقی که Trend Micro در سال 2012 انجام داد، دسترسی به این بستهها آسان است و هزینه یک حمله DDoS یکروزه 30 تا 70 دلار است و برای یک ماه قطعی این قیمت به 1200 دلار میرسد. این گروههای خرابکاری مانند Lizard Squad بهآسانی میتوانند هزینههای یک حمله DDoS را تقبل کنند و همین باعث شده که این حملات گسترش یابند.
تحلیلی که Arbor Networks از تهدیدهای جهانی انجام داده نشان میدهد که هر روز بیش از 2000 حمله DDoS در سطح دنیا انجام میشود. این حملات میتوانند کوچک و با پهنای باند کم باشند، تا حملات گسترده و بزرگ که البته حالت دوم کم اتفاق میافتد. زمانی که یک شرکت بزرگ، بهویژه شرکتی که سرویسی مشهود و مشهور در اختیار عموم قرار میدهد، دچار حمله DDoS میشود، در این زمینه رسانهها خبر منتشر میکنند. یکی از معروفترین حملات در سالهای اخیر حمله Lizard Squad به شبکه پلیاستیشن سونی در کریسمس 2014 بود.
این حمله DDoS باعث شد شبکه پلیاستیشن چند روز از دسترس خارج شود، آن هم در شرایطی که برخی از مردم تازه پلیاستیشن 4 خریده بودند. این کار باعث عصبانیت گیمرها شد و دردسرهای فراوانی، هم از نظر مالی و هم از نظر رابطه با مشتریان برای سونی ایجاد کرد.
هر روز برخی شرکتها و شبکههای سراسر دنیا به هر دلیلی مورد حمله قرار میگیرند. کافی است یک مشتری ناراضی وجود داشته باشد که حاضر شود هزینه اندک یک حمله DDoS را بپردازد و این حمله را انجام دهد. اغلب زمانی که یک گروه حمله را انجام میدهد خبر آن گزارش میشود، اما حمله ممکن است تنها از سوی یک شخص انجام شده باشد.
این حملات بهحدی رایج است که طبق تحقیقات Verisign، در سال 2014، از هر سه باری که سرورها دچار مشکل شده و قادر به ارائه سرویس نبودهاند، یکی به دلیل حملات DDoS بوده است. چنین حملاتی در سهماهه چهارم سال 2014 نسبت به سهماهه سوم 14 درصد افزایش داشته است و خسارت کار نکردن سرویس برای شرکتها به صورت میانگین 5600 دلار در هر دقیقه یا 300 هزار دلار در ساعت بوده است. در سال 2014 حملات بسیاری به شرکتهای حاضر در صنعت بازی شد، مانند حمله به سونی، مایکروسافت و Xbox Live، و همینطور بازیهای آنلاین.
برخی بازارهای زیرزمینی هکری سرویسهای ویژه هم ارائه میدهند. این خبرها برای مالکان شرکتها خبر بدی است، و همینطور برای کاربرانی از این سرویسها استفاده میکنند. آنها پولی برای استفاده از سرویسها پرداختهاند و اگر نتوانند از آن استفاده کنند ضرر میکنند.
جزئیات DDoS
ما میدانیم که حملات DDoS چه اثری میتوانند داشته باشند و انجام آنها چقدر آسان است. اما دقیقا در دنیای دیجیتال در یک حمله DDoS چه میشود؟
حملات DDoS یک حمله ساده نیستند. در واقع انواع مختلفی از DDoS داریم که هر کدام اثر خودش را دارد.
ابتدا به حمله UDP flood میپردازیم:
در این روش، تعداد زیادی از پاکتهای دادهای UDP به سیستم هدف ارسال میشود. این روش در حملات جدی زیاد مورد استفاده قرار نمیگیرد، چرا که یکی از روشهای قدیمی است و کشف آن هم آسان است. چون این حمله از UDP استفاده میکند، پاکتها رمزگذاریشده نیستند و کشفشان بهراحتی انجام میشود. سپس حملات TCP flood را داریم که مشابه UDP هستند، اما از پاکتهای دادهای TCP استفاده میشود.
سپس نوبت به حملات TCP SYN flood میرسد. مانند حملات دیگر DDoS، در اینجا هم درخواستهای زیادی به یک هدف ارسال میشود و این باعث میشود سیستم مجبور شود منابع بیشتری را برای پاسخگویی به ترافیک مورد استفاده قرار دهد. در این روش همچنین از سرور درخواست پاکت reply میشود و همین باعث میشود سرور بیشتر و بیشتر منابع خود را در اختیار حملهکنندگان قرار دهد و در نهایت کاربران را از سرویس خود محروم کند.
حملات Smurf هم هستند که نوع رایجی از حملات DDoS را تشکیل میدهند. در این حملات درخواستهای پینگ ICMP با استفاده از آدرسهای broadcast جعلی به سرور ارسال میشود. این آدرسها جعلی هستند و به این ترتیب منبع حملات را سختتر میتوان شناسایی و ردگیری کرد. حملات ICMP flood مانند Smurf هستند اما از broadcasting استفاده نمیکنند.
در کل میتوان گفت چند دسته حمله داریم (که حملات بالا هم در یکی از این دو دسته قرار میگیرند). حملات برنامهای، کاربردها و برنامههای خاص، یا بخشهایی از آنها را هدف قرار میدهند. هدف آنها این است که بخشهای مشخصی از شبکه را مورد حمله قرار دهند و این کار را با ترافیک پایینی انجام میدهند و به این ترتیب شناسایی آنها کار سختتری است. حملات تکهتکه هم بستههای تکهتکه TCP و UDP را ارسال میکنند و این کار باعث میشود که سیستم هدف در خواندن آنها دچار مشکل شود و از نظر تخصیص منابع دردسر پیدا کند.
حملات اتصال TCP برای این انجام میشوند که منابع ارتباطی سرورها را ببلعند. این حملات حتی میتوانند بزرگترین سیستمها را هم به زانو درآورند. از سوی دیگر حملات حجمی هم داریم که باعث ایجاد ترافیک در شبکه یا بین هدف و اینترنت میشوند.
این حملات نیاز به هسته اصلی DDoS دارند که باتها و باتنتها هستند. افرادی که به دنبال حمله DDoS هستند نیازی به دانستن اطلاعات درباره باتنتها ندارند و تنها پول استفاده از آنها را میپردازند. به این ترتیب آنها هکرهای واقعی نیستند. اما باتنت چیست؟ باتنت شبکهای از کامپیوترهای برده یا زامبی است که با هم درخواستهای مختلفی را تولید کرده و به سرور میفرستند. برای ساخت یک باتنت، باید ابتدا یک هکر بتواند وارد یک کامپیوتر شود. زمانی که این کار انجام شد یک برنامه روی آن کامپیوتر نصب میشود که اغلب بهصورت یک فرآیند پنهان و پسزمینه اجرا میشود. به این ترتیب کامپیوتر عضوی از باتنت میشود. این کار روی کامپیوترهای مختلفی انجام میشود و به این ترتیب باتنت مورد نیاز برای حمله DDoS به وجود میآید. پس از این کار، میتوان با استفاده از یک برنامه مرکزی به برنامههای نصبشده روی کامپیوترهای برده دستور حمله را صادر کرد.
این کامپیوترهای زامبی ممکن است در هر جای دنیا باشند و حتی ممکن است صاحب کامپیوتر هیچ خبری از این نداشته باشد که کامپیوترش در چنین حملهای حضور دارد. یکی از دلایل نیاز شما به برنامههای ضدویروس این است که کامپیوترتان به عضوی از یک باتنت تبدیل نشود.
اما برنامههای لازم برای این کار را هم میتوان از بازار سیاه خریداری کرد. هر کسی که دانش اولیهای از هک و دسترسی از در پشتی داشته باشد میتواند به سراغ ایجاد حمله DDoS خود برود. اما حتی این کار هم لازم نیست و افرادی که میخواهند باتنت بخرند میتوانند یک باتنت متشکل از 2هزار کامپیوتر زامبی را با قیمت 200 دلار بخرند یا 700 دلار بپردازند و یک باتنت مخصوص DDoS خریداری کنند. هیچ دانش فنیای هم مورد نیاز نیست.
ساختار حملات
با توجه به اینکه رویکرد حملات DDoS همواره در حال تغییر است هیچ مکانیزم دفاعی خاص و ثابتی را برای جلوگیری از DDoS نمیتوان اتخاذ کرد البته مکانیزمهایی است که شرایط حمله را برای attacker سخت می کند و با اتخاذ این تدابیر بتوان هویت حمله کننده را شناسایی کرد. حال که می دانید حمله دیداس چیست باید به این نکته هم اشاره کنیم که برای آشنایی بیشتر با DDoS و اینکه چگونه دیداس بزنیم یا حمله DDoS چگونه ایجاد کنیم باید ساختار حملات DDoS را بشناسید.
۱.مهاجم واقعی (Attacker) حملات ddos چیست
کاربر مخربی است که بسته های DDoS را به سمت سیستم قربانی هدایت میکند.
۲.گردانندگان یا اربابان (Handlers) در حملات ddos چیست
سیستمی است که کاربر مخرب از طریق آن سرورهایی که بستههای DDoS ارسال میکنند را هدایت میکند. نرم افزار حمله ddos نرم افزارهایی برروی این سیستمها نصب است که میتوانند Agentها را هدایت کنند.
۳.عاملها (Agents or Zombies) در اتک زدن چیست
سیستمهایی هستند که برنامه ی خاصی روی انها نصب است و مسئول ارسال بستههای DDoS به سمت قربانی است. این سیستمها برای جلوگیری ار ردیابی حمله کننده در خارج از شبکه ی آنها و همچنین سیستم قربانی قرار میگیرد.
ابزارهای مورد استفاده در حمله دیداس چیست
حال که با مفهوم دیداس چیست و نحوه ایجاد حمله دیداس آشنا شده اید باید بدانید که برای این عمل چندین ابزار حمله DDoS شناخته شده وجود دارد که باید با آنها نیز آشنا باشیم. معماری این ابزارها بسیار مشابه است و در واقع بعضی ابزارها از طریق تغییرات کمی در سایر ابزارها ساخته شده اند. در این بخش ما وظیفه مندی بعضی از این ابزارها را به طور خلاصه نشان میدهیم.
TRINOO در حمله ddosچیست
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 داشته باشد ضررهای این حملات برایش بسیار کاهش مییابد.
حملات همچنین میتوانند هر جنبهای از شبکهها و سیستمها را هدف قرار دهند. برای مثال ممکن است حمله به فایروالها، سرورها یا حتی سرورهای SQL باشد. تقریبا تمامی جنبههای شبکه قابل حمله هستند. دانستن این که هر شبکه، کامپیوتر یا وبسایتی میتواند مورد حمله قرار بگیرد اولین گام در کنار آمدن با حملات DDoS است.
البته متاسفانه بسیاری از شرکتها در این زمینه کاری انجام ندادهاند. حتی شرکتی مانند سونی از این حملات آسیبهای بسیاری دید. به این دلیل است که DDoS تهدیدی جدی به شمار میرود. تا زمانی که شرکتها در زمینه آمادهسازی برای این حملات اقداماتی جدی صورت نداده باشند، خسارت این حملات بالا خواهد بود. نمیتوان جلو حملات DDoS را گرفت، اما میتوان کاری کرد که هزینهای که آنها وارد میکنند کم شود.