انواع حملات DoS — هر آنچه باید بدانید | به زبان ساده
حمله «انکار سرویس» (Denial Of Service) یا به اختصار DoS به نوعی حمله سایبری گفته میشود که در آن مهاجم خرابکار میخواهد کاری کند که با ایجاد وقفه در کارکرد نرمال یک رایانه یا دستگاه دیگر در سرویسدهی آن به کاربرانش اختلال ایجاد کند. حملات DoS به طور معمول از طریق غرق کردن دستگاه هدف در درخواستهای مکرر تا زمانی که دیگر نتواند به ترافیک معمول پاسخ دهد، انجام مییابد. یک حمله DoS از طریق استفاده از یک رایانه منفرد برای اجرای حمله شناسایی میشود. در این مطلب با انواع حملات DoS آشنا خواهیم شد.
نوعی از حمله DoS وجود دارد که در آن از منابع مختلف و پراکندهای برای اجرای حمله استفاده میشود و از این رو حمله DDoS یا «انکار سرویس توزیعیافته» (distributed denial-of-service) نامیده میشود.
طرز اجرای حمله DoS چگونه است؟
تمرکز اصلی حمله DoS روی اشغال کردن کامل ظرفیت دستگاه هدف و در نتیجه انکار قابلیت سرویسدهی به درخواستهای اضافی است. چندین بردار مختلف حمله در عملیات DoS را میتوان بر اساس مشابهتهایشان گروهبندی کرد. حملات DoS عموماً در دو دسته طبقهبندی میشوند: حملههای سرریز بافر و حملههای سیلآسا.
حملات سرریز بافر (Buffer Overflow)
در این نوع از حمله یک سرریز بافر حافظه موجب میشود که دستگاه همه فضای هارددیسک، حافظه یا زمان پردازنده را مورد استفاده قرار دهد. این نوع از اکسپلویت غالباً منجر به بروز رفتار کند شدن سرور، کرش کردن سیستم و یا دیگر رفتارهای ناهنجار در سرور میشود که در نهایت انکار سرویس را موجب میگردد.
حملههای سیلآسا
در این روش یک مهاجم خرابکار با اشباع کردن سرور هدفگیری شده با تعداد زیادی بستههای داده، میتواند ظرفیت سرور را اشغال کند که در نهایت منجر به بروز وضعیت انکار سرویس میشود. برای این که اغلب حملههای DoS موفق باشند، مهاجم خرابکار باید پهنای باند بیشتری نسبت به هدف خود داشته باشد.
انواع حملات DoS کدام هستند؟
از نظر تاریخی، حملههای DoS به طور معمول از آسیبپذیریهای امنیتی موجود در طراحی شبکه، نرمافزار و سختافزار سوءاستفاده کردهاند. این حملهها امروزه شیوع کمتری یافتهاند، زیرا حملههای DDoS ظرفیت مخرب بیشتری دارند و با توجه به ابزارهای موجود، اجرایشان آسانتر است. در واقعیت، اغلب حملههای DoS میتوانند به حملههای DDoS تبدیل شوند.
برخی از نمونههای تاریخی برجسته حملههای DoS شامل موارد فهرست زیر هستند:
حمله Smurf
در این حمله قدیمی DoS یک مهاجم خرابکار ازنشانی برادکست شبکه دارای آسیب به واسطه ارسال پاکتهای جعل شده سوءاستفاده میکرد تا نشانی IP مقصد را غرق کند.
Ping flood
این حمله انکار سرویس ساده بر مبنای اشغال کردن هدف با بستههای پینگ ICMP اجرا میشود. به این ترتیب با حمله کردن به یک سرور با تعداد پینگ زیاد که پردازش آن در توان سرور نیست، امکان پاسخدهی مؤثر از آن سلب میشود و وضعیت انکار سرویس رخ میدهد. این حمله نیز میتواند به صورت DDoS اجرا شود.
Ping of Death
این حمله غالباً با یک حمله Ping Flood ترکیب میشود و شامل ارسال یک بسته خرابکارانه به دستگاه هدف است که منجر به بروز رفتارهای ناهنجار مانند کرش کردن سیستم میشود.
چطور میتوان گفت رایانهای تحت حمله DoS است؟
با این که جداسازی یک حمله از دیگر خطاهای اتصالپذیری شبکه یا مصرف بالای پهنای باند کار آسانی نیست، اما برخی نشانهها وجود دارند که توجه کردن به آنها میتواند نشان دهد که سیستم تحت حمله قرار گرفته است. نشانههای حمله DoS شامل موارد زیر هستند:
- عملکرد کندی شبکه به طور نامعمول، مثلاً زمان زیاد بارگذاری فایلها یا وبسایت.
- ناتوانی از بارگذاری یک وبسایت خاص مانند فایلهای وب.
- فقدان ناگهانی اتصالپذیری برای دستگاههای روی شبکه واحد.
تفاوت بین حمله DoS و DDoS چیست؟
تمایز بین DDoS و DoS تعداد اتصالهایی است که در حمله مورد استفاده قرار میگیرد. برخی حملههای DDoS مانند حملههای کند و آرام از قبیل Slowloris توان خود را از سادگی و الزامات اندک مورد نیاز برای اثربخشی حمله میگیرند.
DoS از یک اتصال منفرد استفاده میکند، در حالی که حمله DDoS از منابع زیادی از ترافیک حمله غالباً به شکل باتنت استفاده میکند. به طور کلی بسیاری از حملهها به طور بنیادی مشابه هستند و میتوانند با استفاده از یک یا چند منبع ترافیک خرابکارانه انجام شوند.
انواع حملات DDoS
در ادامه با انواع حملات DDoS که میتوانند اجرا شوند آشنا میشویم.
حملههای قطره اشک (Teardrop) یا تفکیک IP
در این نوع حمله، هکر یک بسته که به طور خاصی جعل شده به قربانی ارسال میکند. برای درک این نوع حمله، فرد باید درکی از پروتکل TCP/IP داشته باشد. برای ارسال دادهها روی شبکه، بستههای IP به بستههای کوچکتری تقسیم میشوند که این کار تفکیک آیپی (IP fragmentation) نامیده میشود.
هنگامی که بستهها در نهایت به مقصدشان برسند، دوباره با همدیگر تجمیع میشوند تا دادههای اصلی بازسازی شوند. در فرایند تفکیک، برخی فیلدها به بستههای تفکیکی اضافه میشوند تا بتوان در زمان تجمیع مجدد در مقصد، آنها را شناسایی کرد. در حمله Teardrop، مهاجم برخی بستههای جعلی میسازد که با یکدیگر همپوشانی دارند. در نتیجه سیستم عامل مقصد در مورد چگونگی تجمیع مجدد بستهها دچار سردرگمی میشود و از کار میافتد.
حمله غرق کردن پروتکل دیتاگرام کاربر
«پروتکل دیتاگرام کاربر» که به اختصار UDP نامیده میشود یک بسته ناپایدار است. معنی این حرف آن است که فرستنده دادهها اهمیتی نمیدهد که آیا گیرنده آنها را دریافت کرده است یا نه. در حمله غرق کردن UDP، بستههای UDP زیادی در پورتهای مختلف به قربانی ارسال میشوند. زمانی که قربانی بسته را در یک پورت دریافت میکند، به دنبال اپلیکیشنی میگردد که به آن پورت گوش میدهد. زمانی که بسته پیدا نشود، با یک بسته ICMP پاسخ میدهد. بستههای ICMP برای ارسال پیامهای خطا استفاده میشوند. هنگامی که بستههای UDP زیادی دریافت شوند، قربانی منابع زیادی را صرف پاسخدهی با بستههای ICMP میکند. این امر موجب میشود که قربانی نتواند به درخواستهای مشروع پاسخ دهد.
حمله غرق کردن SYN
TCP یک اتصال پایدار است. این به آن معنی است که باید مطمئن شویم دادهای ارسالی از سوی فرستنده به طور کامل از سوی گیرنده دریافت میشوند. برای آغاز ارتباط بین گیرنده و فرستنده، TCP یک handshake سهطرفه اجرا میکند. SYN اختصاری برای عبارت بسته «همگامسازی» (synchronization) و ACK اختصاری برای عبارت «تصدیق» (acknowledgment) است:
فرستنده کار خود را با ارسال یک بسته SYN آغاز میکند و گیرنده با SYN-ACK پاسخ میدهد. فرستنده دوباره یک بسته ACK به همراه دادهها ارسال میکند. در حمله غرقسازی SYN، فرستنده مهاجم است و گیرنده قربانی است. مهاجم بسته SYN را میفرستند و سرور با SYN-ACK پاسخ میدهد. اما مهاجم با بسته َACK جواب نمیدهد. سرور منتظر دریافت بسته ACK از سوی مهاجم است و برای مدتی منتظر میماند. مهاجم تعداد زیادی بسته SYN ارسال میکند و سرور منتظر میماند تا تایماوت ACK به پایان برسد. از این رو سرور همه منابع خود را در جهت انتظار برای ACK مصرف میکند. این نوع از حمله به نام حمله «غرق کردن SYN» (SYN flooding) شناخته میشود.
حمله پینگ مرگ
در زمان مخابره دادهها روی اینترنت، دادهها به دستههای کوچکی از بستههای دادهای تقسیم میشوند. دریافت و بازسازی این بستههای خرد شده در کنار هم موجب میشود که بتوان پیام را بازسازی کرد. در حمله «پینگ مرگ» (Ping of death) مهاجم یک بسته بزرگتر از 65،536 بایت ارسال میکند که بیشینه اندازه مجاز برای بستههای پروتکل IP است. بستهها افراز شده و روی اینترنت ارسال میشوند. اما زمانی که بستهها در زمان دریافت در مقصد کنار یکدیگر قرار میگیرند، سیستم عامل نمیتواند این بستههای بزرگتر را مدیریت کند و از این رو کرش میکند.
اکسپلویتها
اکسپلویت (Exploit) کردن سرورها نیز میتواند منجر به آسیبپذیری DDoS شود. بسیاری از وباپلیکیشنها روی وبسرورهایی مانند آپاچی و تامکت میزبانی میشوند. اگر یک آسیبپذیری در این وبسرورها وجود داشته باشد، مهاجم میتواند یک اکسپلویت را برای بهرهبرداری از این آسیبپذیری اجرا نماید. اکسپلویت لزوماً نباید کنترل را به دست بگیرد، بلکه همین مقدار که موجب از کار افتادن وبسرور شود کفایت میکند. این وضعیت منجر به حمله انکار سرویس میشود. در صورتی که وبسرورها از پیکربندی پیشفرض استفاده کنند، هکرها با روشهای آسانی میتوانند وبسرور و نوع نسخه آن را شناسایی کنند. مهاجم آسیبپذیریها و اکسپلویتهای این نوع وبسرور را پیدا میکند و در صورتی که وبسرور پچ نشده باشد، میتواند با ارسال یک اکسپلویت آن را از کار بیندازد.
باتنتها
«باتنتها» (Botnets) میتوانند برای اجرای حملات DDoS مورد استفاده قرار گیرند. یک دسته از باتنتها به مجموعهای از رایانههای آلوده گفته میشود. رایانههای آلوده در واقع همان باتها هستند که فرامین یک سرور C&C را اجرا میکنند. این باتها گوش به فرمان سرور C&C هستند و میتوانند دادههای زیادی را به سرور قربانی ارسال کنند. در نتیجه سرور قربانی اورلود میشود.
حملات DDoS انعکاسی و حملههای تشدیدی
در این نوع از حملهها، مهاجم از یک رایانه قانونی برای پنهان کردن IP خود و اجرای حمله علیه قربانی بهره میگیرد. روش معمول این است که مهاجم بسته کوچکی را به دستگاه قانونی ارسال میکند و پس از پاک کردن ردپای خود از روی بسته آن را از دستگاه مجاز به سمت قربانی ارسال میکند، طوری که گویی آن دستگاه مسئول ارسال بسته بوده است.
اگر دادههای پاسخ بزرگ باشند، تأثیر حمله تقویت میشود به این ترتیب میتوان رایانههای مجاز واسطه را به عنوان انعکاسدهنده نامید. در سمت دیگر زمانی که مهاجم بسته کوچکی ارسال میکند و قربانی با حجم زیادی از دادهها پاسخ میدهد، این نوع از حمله را حمله تشدیدی مینامیم. از آنجا که مهاجم مستقیماً از رایانههای تحت کنترل خود برای حمله استفاده نمیکند و برخلافش از رایانههای قانونی دیگر استفاده میکند این نوع از حمله را حمله DDoS انعکاسی مینامند.
توجه کنید که برخلاف باتنتها انعکاسدهندهها لزوماً رایانههای آلودهای نیستند. انعکاسدهندهها دستگاههایی هستند که به یک درخواست خاص پاسخ میدهند. این درخواست میتواند یک درخواست DNS یا درخواست NTP و یا غیره باشد.
حملههای تشدید DNS، پینگبکهای وردپرس و حملههای NTP همگی جزو حملههای تشدیدی محسوب میشوند. در یک حمله تشدید DNS، مهاجم یک بسته جعل شده را به سرور DNS ارسال میکند که شامل نشانی IP قربانی است. سرور DNS در پاسخ با حجم بیشتری از دادهها به قربانی پاسخ میدهد. انواع دیگری از حملههای تشدیدی شامل حملههای تشدیدی از نوع SMTP ،SSDP و غیره هستند.
نمونههای مشهور حملههای DDoS
در ادامه مقاله انواع حملات DoS به بررسی نمونههایی از این دست حملات خواهیم پرداخت. رایانههایی که برای ارسال ترافیک به قربانی استفاده میشوند لزوم رایانههای آلوده نیستند و انعکاسدهنده نامیده میشوند. چند گروه از مجرمیان رایانهای مانند DD4BC, Armada Collective, Fancy Bear, XMR-Squad و Lizard Squad وجود دارند که مسئول اجرای حملههای گروگانگیری DDoS هستند. این گروهها سازمانها را هدفگیری میکنند. آنها نخست یک ایمیل اخاذی میفرستند و در صورتی که قربانی بهای مورد نظر را پرداخت نکند به سرورهای آنها حمله میکنند.
گروه DD4BC
این گروه در سال 2014 شروع به فعالیت کرد. آنها در زمان اخاذی تقاضای بیت کوین میکردند. این گروه به طور عمده سرویسهای مدیا، سرگرمی و مالی را هدف میگرفتند. معمولاً یک ایمیل تهدیدآمیز ارسال شده و در آن بیان میشد که ابتدا یک حمله DoS با قدرت کم اجرا خواهد شد. آنها ادعا میکردند که سازمان را در برابر حملههای بزرگتر محافظت میکنند. همچنین تهدید میکردند که اطلاعاتی در مورد حمله در رسانههای اجتماعی منتشر میکنند تا به شهرت شرکت لطمه بزنند.
گروه DD4BC به طور معمول از یک باگ آسیبپذیری پینگبک وردپرس بهرهبرداری میکردند. ما قصد نداریم به بررسی تفصیلی این آسیبپذیری بپردازیم. Pingback یک قابلیت وردپرس است که در آن مالک وبسایت وردپرسی در صورت لینک شدن وبسایتش آگاهی پیدا میکند. در این حمله مهاجم به سایت وردپرسی اعلان میکند که قربانی سایت او را مورد اشاره قرار داده است. بدین ترتیب همه سایتهای وردپرسی تلاش میکنند تا با قربانی تماس بگیرند و موجب اورلود شدن قربانی میشود. اگر صفحه وب قربانی بزرگ باشد و سایتهای وردپرسی تلاش کنند آن را دانلود کنند، در این صورت مشکل کمبود پهنای باند پیش میآید که این نوع تهاجم به نام حمله تشدیدی شناخته میشود.
گروه Armada Collective
این گروه نخستین بار در سال 2015 مشاهده شد. آنها به سرویسهای مالی و سایتهای میزبانی وب مختلف در روسیه، سوئیس، یونان و تایلند حمله میکردند. آنها دوباره در سال 2017 در اروپای مرکزی دیده شدند. این گروه یک حمله نمایشی DDoS برای تهدید کردن قربانی اجرا میکرد. در تصویر نمونهای از نامه اخاذی این گروه را مشاهده میکنید:
گروه Armada Collective به اجرای حملههای DDoS انعکاسی از طریق NTP مشهور است. پروتکل NTP پروتکلی است که برای همگامسازی زمان ساعت رایانهها مورد استفاده قرار میگیرد. پروتکل NTP یک دستور به نام monlist برای کارهای مدیریتی دارد. زمانی که یک مدیر دستور monlist را به یک سرو NTP ارسال کند، سرور لیستی از 600 میزبان بازگشت میدهد که به سرور NTP وصل هستند.
مهاجم میتواند از با ایجاد یک بسته NTP جعل شده که دستور monlist آن دارای نشانی IP قربانی است و سپس ارسال چندین کپی از آن به سرور NTP از این فرمان سوءاستفاده کند. سرور NTP تصور میکند که درخواست monlist از نشانی قربانی آمده است و یک پاسخ به قربانی میفرستد که شامل لیستی از 600 رایانه متصل به سرور است. از این رو قربانی دادههای زیادی را از سمت سرور NTP دریافت میکند و ممکن است از کار بیفتد:
گروه Fancy Bear
این گروه یک گروه هکری است که حدود سال 2010 شناسایی شده است. گروه Fancy Bear تهدید به استفاده از Mirai Botnet در حملههای خود کرده است. Mirai Botnet به عنوان سیستمهای هدف لینوکسی است که برای دستگاههای IoT مورد استفاده قرار میگیرد. این گروه به طور عمده دوربینهای مدار بسته را آلوده میکرد. نمونهای نامههای اخاذی این گروه به صورت زیر است:
سخن پایانی
در این مقاله با مفهوم حملههای DoS، انواع حملات DoS و همچنین انواع حملات DDoS به عنوان نسخ پیشرفتهای از حملههای انکار سرویس آشنا شدیم. همچنین با برخی از گروههای هکری که از این نوع حملهها برای اخاذی از سازمانها استفاده میکردند آشنا شدیم.