آشنایی با انواع حملات DDoS؛ رایجترین حملههای دیداس کداماند؟

حملات دیداس با هدف مختل کردن سرویسهای آنلاین، تهدیدی رو به رشد برای کسبوکارها و زیرساختهای دیجیتال هستند. فقدان آگاهی درباره انواع این حملات میتواند سازمانها را در برابر خسارات مالی و عملیاتی آسیبپذیر کند. در این مقاله، با معرفی رایجترین انواع حملات DDoS و بررسی ویژگیهای آنها، این مشکل را برطرف میکنیم. هدف ما ارائه دانش دقیق و کاربردی برای شناسایی و مقابله با این تهدیدات است تا شبکهها و خدمات آنلاین در برابر حملات مقاومتر شوند. با فالنیک همراه باشید.
فهرست محتوا
آشنایی با حمله دیداس (DDoS)
حمله DDoS (Distributed Denial of Service) تلاشی برای مختل کردن سرویسهای آنلاین با ارسال حجم عظیمی از درخواستها از منابع متعدد است. هدف آن اشباع منابع سرور، شبکه یا برنامه برای جلوگیری از دسترسی کاربران است. در مقاله حمله DDoS چیست میتوانید با این تهدید بهطور کامل و جامع آشنا شوید.
دستهبندی حملههای DDoS
حملات دیداس عموما در سه گروه گسترده دسته بندی میشوند، حملات حجمی، حملات بر پایه TCP و حملات لایه کاربردی که تفاوتهای زیادی با هم دارند:
حملات حجمی یا Volumetric
روش این نوع حمله از کار انداختن زیرساخت شبکه با استفاده از اشغال کل پهنای باند شبکه است. رایج ترین نوع حملات ddos از نوع حجمی هستند.
حملات بر پایه TCP
در این روش با سو استفاده از حالت Stateful طبیعی پروتکل TCP، منابع سرورهای Load-Balancer و فایروالها مختل میشوند.
حملات لایه برنامههای کاربردی یا حملات Application Layer
در این روش به قسمتی از یک برنامه کاربردی یا سرویس لایه هفتم حمله میشود.
حملات جدیدی که از ترکیب هر سه روش و افزایش مدت زمان و مقیاس استفاده میکنند، در حال افزایش هستند.

انواع حملات DDoS کدامند؟
در ادامه با رایجترین انواع حملات DDoS بیشتر آشنا میشوید:
حمله ICMP Flood
حمله icmp flood بیشتر مبتنی بر حمله dos است. به این معنا که حملهکننده پیامهای سیلآسایی برای قربانی ارسال میکند تا سرور از دسترس خارج شود. اگر پیامها از ماشینهای متفاوتی ارسال شوند، حمله رویکرد ddos به خود میگیرد. بهطور معمول، هکرها از روشهای مختلفی برای پیاده سازی این حمله استفاده میکنند. سادهترین روش، ارسال متوالی پیامهای پینگ از طریق خط فرمان برای سرور هدف است. البته روش فوق این عیب را دارد که ظرفیت و پهنای باند دستگاه هکر را نیز مصرف میکند.
چون در حمله سرریز پروتکل icmp پیامها در قالب پینگ ارسال میشوند. برخی منابع از اصطلاح ping flood attack برای توصیف این حمله استفاده میکنند. بهطور معمول پینگ برای بررسی ارتباط دو دستگاه و محاسبه زمان رفت و برگشت بستهها میان دو دستگاه استفاده میشود مثلا هنگامی که قصد داریم وضعیت ارتباط دو شبکه محلی با یکدیگر یا وضعیت متصل بودن یک سرور به سرور دامین کنترلر را بررسی کنیم.
کارشناسان امنیتی برای مقابله با حمله icmp flood، پروتکل icmp روی شبکه را غیر فعال میکنند که البته اینکار امکان استفاده از فرمان پینگ را غیرممکن میکند.
دومین روش پر کاربرد برای پیاده سازی حمله icmp flood سواستفاده از ماشینهای دیگر است که مبتنی بر بردار حمله باتنتی است. در این روش، هکر به دستگاههای تسخیر شده (زامبی) فرمان میدهد به یک آدرس مشخص پیام پینگ ارسال کنند. در این حالت، حجم بالایی از بستهها توسط دستگاههای قربانی برای هدف ارسال میشوند و هکر نیز هویت خود را پنهان باقی نگه میدارد.
سومین روش پیادهسازی، حمله اسمورف – Smurf attack است. این روش نیز شباهت زیادی به حالت قبل دارد. حمله smurf چیست؟ این نوع حمله سه محور اصلی دارد؛ سایت مبدا، سایت پرش یا Bounce، سایت هدف. مهاجم از سایت مبدا بسته اطلاعاتی از نوع ping را برای آدرس سایت پرش Broadcast میکند، اطلاعات در کل شبکه پخش میشود، تمام سیستمها پاسخ را به جای فرستادن به سایت مبدا به سایت هدف ارسال میکنند. در نتیجه سایت هدف به دلیل عدم آمادگی و ناشناس بودن بستههای ارسالی امکان پاسخگویی ندارد و Crash خواهد کرد.
حمله SYN Flood
حمله syn flood بر مبنای پروتکل TCP پیاده سازی میشود. فرض کنید قرار است یک کلاینت و سرور بر مبنای پروتکل TCP بستههای اطلاعاتی را مبادله کنند. برای آنکه ارتباط فوق برقرار شود، پروتکل TCP از مکانیزم دستدهی سه مرحلهای (three-way handshake) استفاده میکند.
در این مکانیزم ابتدا کلاینت یک عدد را با پیام SYN برای سرور ارسال میکند تا سرور از این عدد برای شمارهگذاری بستههای ارسالی به سمت کلاینت استفاده کند. در ادامه سرور پاسخ خود را در قالب، یک پیام ACK در تایید دریافت SYN و یک پیام SYN با هدفی مشابه پیام SYN قبلی برای کلاینت ارسال میکند. در انتها اگر کلاینت پاسخ ACK را ارسال کند، اتصال TCP برقرار میشود. شما روزانه بر مبنای این مکانیزمِ ارتباطی با سرورها و سایتها ارتباط برقرار میکنید.
اکنون حالتی را تصور کنید که کاربر پیام SYN اولیه را ارسال و پاسخی از سرور دریافت میکند، اما ACK نهایی مورد نیاز برای برقراری ارتباط را برای سرور ارسال نمیکند. سرور این ارتباط را باز نگه میدارد و برای دریافت پاسخ به انتظار مینشیند.
اگر این کار ادامه پیدا کند و درخواستها زیاد شوند، سرور همواره در حالت انتظار برای دریافت پاسخ برای هر کانال ارتباطی قرار میگیرد و با توجه به محدودیت در منابع به سایر درخواستهای کاربران پاسخ نخواهد داد و سرویس دهی دچار اختلال میشود. این بردار حمله، پیامهای سیلآسا (SYN Flood) نیز نام دارد که مبتنی بر ارسال حجم گستردهای از بستههای SYN برای یک سرور و عدم دریافت پاسخ ACK هستند.
این حمله به دلیل نقص ذاتی پروتکل TCP به وجود میآید و راهحلی برای آن وجود ندارد، زیرا هنگامی که پروتکل tcp ابداع شد، اینترنت به شکل امروزی آن نبود و هیچ کارشناسی تصور نمیکرد، روزگاری هکرها بتوانند از این نقطه ضعف ذاتی سواستفاده کنند.
حمله UDP Flood
حمله udp flood در هر دو بردار حملههای dos و ddos قابل استفاده است. در این بردار حمله بستههای udp به تعداد زیاد به پورتهای یک سرور ارسال میشوند و سرور را مجبور به پاسخگویی میکنند. در شرایط عادی، هنگامی که سرور یک بسته udp دریافت کند، برنامهای که مربوط به پورت مقصد بسته است را پیدا میکند و بسته را تحویل میدهد. اگر پورت مقصد بسته متعلق به هیچ برنامهای نباشد، سرور یک پیام ICMP با عنوان مقصد در دسترس نیست (Destination Unreachable) برای مبدا ارسال میکند.
اگر مهاجم به شکل مداوم بسته ICMP را به شکل تصادفی برای پورتهای مختلفی از سرور ارسال کند ، منابع سرور به سرعت هدر میروند و دیگر فرصتی برای پاسخگویی به درخواستهای کاربران باقی نمیماند.
گاهی در حملههای udp flood، از تغییر آدرس آیپی برای عدم شناسایی آدرس اصلی استفاده میشود. در این روش، شناسایی مبدا حمله تقریبا ناممکن است و هنگامی که پیامهای icmp از جانب سرور ارسال میشوند برای آدرسهای آیپی دیگری میروند و در عمل شبکهای که هکر برای این منظور از آن استفاده کرده به مرز اشباع نمیرسد و حمله تداوم پیدا میکند.
برای پیشگیری از بروز حمله udp flood، میتوان ارسال پیامهای ICMP را تا حد امکان محدود کرد یا بهطور کل سرویس فوق را روی سرور غیرفعال کرد. پیامهای ICMP بیشتر برای اطلاعرسانی وضعیت شبکه استفاده میشوند و غیرفعال کردن آنها تاثیری بر عملکرد سایر سرویسها ندارد.
فایروالها نیز تا حدودی قادر به مقابله با این حمله هستند. میتوان در زمان حمله، بستههایی که از پروتکل udp استفاده میکنند را محدود کرد و مانع ورود آنها به شبکه شد. البته در شرایطی که حمله فراگیر باشد، پردازش تمام این بستهها میتواند دیوار آتش را زمینگیر کند.
بهطور کلی بهتر است سرویسهای غیرضروری که از پروتکل udp استفاده نمیکنند را غیرفعال کرد و پورتهای مربوط به آنها را بسته نگه داشت و تنها تعدادی از آنها که ضروری هستند مثل پورت 53 که سرویس dns از آن استفاده میکند را باز نگه داشت.
حمله HTTP Flood
حمله http flood با هدف مصرف بیش از اندازه منابع سرور از طریق ارسال درخواستهای مبتنی بر پروتکل http انجام میشود. این حمله بیشتر با هدف از دسترس خارج کردن یک سرویس استفاده میشود و بیشتر از طریق دستورات GET و POST پیاده سازی میشود. در این روش، درخواستها شباهت زیادی به درخواستهای عادی دارند. این حمله به پهنای باند کمی نیاز دارد در نتیجه شناسایی و پیشگیری از بروز آن کار مشکلی است. حملههای http flood به روشهای مختلفی انجام میشوند مثلا استفاده از get و post. این دو دستور پرکاربردترین دستورات پروتکل http هستند که هکرها برای مشغول نگهداشتن سرور از آن استفاده میکنند.
روش GET: متد get به منظور دریافت اطلاعات از سرور استفاده میشوند. هنگامی که هکرها تصمیم میگیرند از آن استفاده کنند، شروع به ارسال تعداد زیادی درخواست میکنند. حمله با متد get نسبت به متد post به منابع بیشتری برای پیاده سازی نیاز دارد، اما پیچیدگی کمی دارد. در بیشتر موارد برای پیادهسازی حمله فوق از باتنتها استفاده میشود.
روش POST: دومین دستوری که هکرها به سوء استفاده از آن میپردازند، متد POST است. این متد برای ارسال یک فرم یا اطلاعات برای سرور استفاده میشود. هر فرمی که برای سرور ارسال میشود باید در یک پایگاه داده ثبت شود که این فرآیند، زمانبر و از نظر پردازشی سنگین است. هنگامی که هکرها تصمیم میگیرند از این متد سواستفاده کنند، به اندازهای درخواستهای post برای سرور میکنند که پهنای باند سرور برای درخواستهای ورودی پاسخگو نباشد یا سرور منابع زیادی را صرف درخواستهای مرتبط با پایگاه داده کند و دیگر منابعی برای پاسخگویی به درخواستهای دیگر نداشته باشد.
روشهای مقابله با حمله http flood عبارتند از:
برای مقابله با حمله http flood بهترین ابزاری که در دسترس شرکتها قرار دارد بهکارگیری الگوی کپچا است که برای شناسایی کاربر واقعی استفاده میشود.
دومین روش پر کاربرد، دیوارهای آتش وبمحور (WAF) سرنام web application firewall هستند که قادر به ارزیابی الگوهای رفتاری کاربران هستند و مانع ورود ترافیک مشکوک به زیرساختها میشوند. این دیوارهای آتش با نمونههای سنتی تفاوتهایی دارند و در لایه کاربرد کار میکنند.
این دیوارهای آتش، ترافیک ورودی یک برنامه وب و آیپی کاربران ارسالکننده را زیر نظر میگیرند و آدرسهای آیپی را درون یک بانک اطلاعاتی ذخیره میکنند. با استفاده از این اطلاعات، خطمشیها و الگوهایی که از قبل برای فایروال تعریف شده، هر وقت دیوارآتش رفتاری شبیه به حمله را مشاهده کند، ترافیک ورودی را مسدود میکند و مانع شکلگیری موفقیتآمیز حمله میشود.
حمله DNS Flood
حمله سرریز سامانه نام دامنه یکی از پیچیدهترین انواع حمله دیداس است. برخی منابع از اصطلاح حمله تقویت شده -amplification attack برای توصیف آن استفاده میکنند. در حمله dns flood، هکر بستههایی با اندازه بسیار کم ارسال میکند که سرور را مجبور به پاسخگویی میکند، پاسخگویی که زمانبر هستند و توالی آنها باعث میشود منابع سرور بیهوده هدر روند.
در حمله dns flood، هکر درخواستهای dns زیادی را بر مبنای مکانیزم جعل آدرس آی پی (ip spoofing) برای سرور ارسال میکند. البته در روش فوق هدف سرورهای DNS هستند که نقش دامین کنترلرها را عهدهدار هستند. سرور dns مجبور است به محاورههای مرتبط با dns که شامل پیدا کردن نام دامنه هستند پاسخ دهد که زمان زیادی از سرور میگیرد و باعث میشوند سرور نتواند به سایر درخواستهای مرتبط با dns که شامل تبدیل نامها به آدرسهای آیپی و بالعکس میشوند، پاسخ دهد، زیرا منابع بیهوده هدر رفتهاند. در مقاله اسپوفینگ چیست میتوانید با ip spoofing بیشتر آشنا شوید.

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

حمله ترموکس (Termux)
حمله ترموکس یکی از خطرناکترین حملات دیداس است که ضریب موفقیت آن از تمامی انواع حمله ddos بیشتر است. بردار حمله DDoS به روشهای مختلف قابل انجام است، بهطور مثال از سامانههای آلوده به تروجان برای پیاده سازی حملات dos و ddos استفاده میشود. در این بردار حمله سامانه قربانیان (تسخیر شده) و اهداف بهطور کامل تحت کنترل هکر قرار میگیرند و مالکان سایتها در عمل کار چندان خاصی نمیتوانند انجام دهند مگر آنکه هدف آسیب دیده را بهطور کامل از شبکه جدا کرده و اقدام به پاکسازی آن کنند.
در حمله ترموکس، ترافیکی اجماع شده توسط ماشینهای مختلف به سمت هدف ارسال میشود. حملهای که ممکن است بالغ بر صدها هزار یا بیشتر کلاینت در آن شرکت داشته باشند و منابع مختلف سرور را به سرعت مصرف کنند؛ یعنی cpu، حافظه اصلی یا دیسکهای جانبی قربانی مورد حمله قرار میگیرند.
سرپرستان شبکه نمیتوانند با مسدود کردن یک آدرس آیپی این حمله را متوقف یا مهار کنند. علاوه بر این، تشخیص ترافیک کاربر مشروع از ترافیک مخرب با توجه به کثرت آدرسهای آیپی کار سختی است. این حمله با هدف مصرف تمام پهنای باند موجود بین هدف و اینترنت پیادهسازی میشود.
در حالت کلی هکرها از بات نتها برای پیاده سازی این حمله استفاده میکنند، هرچند امکان پیادهسازی آن از طریق یک دستگاه واحد مثل گوشی اندرویدی نیز وجود دارد. از نظر فنی، تکنیکهایی وجود دارد که شدت این حمله را کم میکنند، اما قادر به متوقف کردن کامل آن نیستند. بهطور مثال، با افزایش پهنای باند میتوان تا حدودی از شدت این حمله کم کرد تا سرور بهطور کامل از مدار خارج نشود.
حمله دیداس ترموکس چگونه پیاده سازی میشود؟
در ابتدا هکر برنامه Termux را از پلیاستور دانلود و نصب میکند. هنگامی که ابزار فوق را اجرا کنید، یک صفحه خط فرمان در اختیارتان قرار میگیرد که اجازه اجرای دستورات لینوکسی را میدهد. اکنون باید دستورات زیر را اجرا کنید:
$ apt update && upgrade $ pkg install git $ pkg install paython2 $ git clone https://github.com/ujjawalsaini3/hulk
پس از نصب ملزومات اولیه در ادامه دستورات زیر را اجرا کنید:
$ cd hulk $ chmod + x hulk.py $ python2 hulk.py "Url Target"
در آخرین دستور باید آدرس سایت موردنظر را وارد کنید تا حمله آغاز شود. بهطور معمول، سایتهایی که از پروتکل HTTP به شکل گسترده استفاده کنند با اجرای این حمله از کار خواهند افتاد. دقت کنید سایتهایی که توسط زیرساختهای قدرتمندی نظیر کلادفلیر پشتیبانی میشوند از ویژگی شناسایی آدرس حملهکننده برخوردار هستند با شکست روبرو میشوند
حمله ddos با cmd
برای این کار مراحل زیر را انجام دهید:
- منو Start داخل قسمت Run کلمه cmd را سرچ کنید.
- در پنجره ظاهر شده دستور Ping را برای یافتن آدرس IP سایت یا سرور هدف خود تایپ کنید. Ping را با آدرس سایت هدف بدون //:http یا //:https وارد کنید.
- با دستور Ping Ip -t -i 0 حمله ddos شروع خواهد شد: به جای Ip، آی پی هدف و به جای 0 حجم بستههای ارسالی به سمت سایت هدف را مشخص کنید.

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