جالب است بدانید امروزه بزرگترین نگرانی در بحث امنیت اینترنت، حملات DDOS هستند. جزئیات دقیق نحوه عملکرد حملات DDoS و نحوه متوقف کردن آنها را در این مقاله باهم بررسی می کنیم.
اهداف یادگیری حملات DDOS
۱- تعریف حملات DDOS
۲-توضیح ساختار کلی یک حمله DDoS
۳- تفاوت های بین ۳ دسته اصلی حملات DDoS
۴- درک چند راهکار کاهش حملات DDoS
حمله DDOS چیست؟
حمله ddos یا dos مخفف (denial of service attack) به زبان ساده یعنی سرازیر کردن تقاضاهای زیاد به یک سرور (کامپیوتر قربانی یا هدف) و استفاده بیش از حد از منابع (پردازنده، پایگاه داده، پهنای باند، حافظه و…) به طوری که سرویس دهی عادی آن به کاربرانش دچار اختلال شده یا از دسترس خارج شود (به دلیل حجم بالای پردازش یا به اصطلاح overload شدن عملیات های سرور)، در این نوع حمله ها در یک لحظه یا در طی یک زمان به صورت مداوم از طریق کامپیوترهای مختلف که ممکن است خواسته یا حتی ناخواسته مورد استفاده قرار گرفته باشند، به یک سرور (با آی پی مشخص) درخواست دریافت اطلاعات می شود و به دلیل محدود بودن قدرت پردازش سرور به کاربران در وضعیت عادی ، دچار وقفه در سرویس دهی یا حتی down شدن آن می شود.
حملات DDoS اثربخشی خود را با استفاده از چندین سیستم کامپیوتری در معرض خطربه عنوان منابع حمله ترافیک بدست می آورند. ماشین هایی که مورد حمله قرار می گیرند، می توانند شامل کامپیوتر ها و دیگر منابع شبکه مثل دستگاه های loT باشند. از نگاه بالا یک حمله DDOS مثل ترافیک نامنظمی است که بزرگ راه را بندآورده ، و جلو ترافیک منظم را برای رسیدن به مقصد مطلوبش گرفته است.
حمله DDoS چگونه کار می کند؟
حمله DDoS به یک مهاجم برای کنترل یک شبکه از دستگاه های آنلاین و انجام حمله نیاز دارد. کامپیوتر ها و دیگر دستگاه ها (مانند دستگاه های IoT) با نرم افزارهای مخرب آلوده می شوند و هر کدام به یک روبات (یا زامبی) تبدیل می شوند. پس از آن مهاجم کنترل از راه دور گروهی از ربات ها را در دست دارد که به عنوان یک بات نت ( botnet ) شناسایی می شود.
هنگامی که یک بات نت ایجاد شد، مهاجم با ارسال دستورالعمل های به روز شده به هر ربات قادر به هدایت ماشین ها از طریق روش کنترل از راه دور است. هنگامی که آدرس آی پی یک قربانی توسط بات نت مورد هدف قرار می گیرد، هر ربات با ارسال درخواست هایی به هدف، پاسخ می دهد و به طور بالقوه سرور یا شبکه هدف را با سرریز ظرفیت مواجه می کند، و در نتیجه منجر به عدم دسترسی به ترافیک عادی می شود. از آنجا که هر ربات یک دستگاه اینترنت قانونی است، تفکیک ترافیک حمله از ترافیک عادی کار دشواریست.
انواع متداول حملات DDOS چیست؟
بردارهای متفاوت حمله DDoS اجزای مختلف یک اتصال شبکه را هدف قرار می دهند. برای درک اینکه حملات DDoS مختلف چگونه کار می کنند، لازم است بدانیم چگونه یک اتصال شبکه ایجاد می شود. یک اتصال شبکه در اینترنت از بسیاری از اجزای مختلف یا “لایه ها” تشکیل شده است. همانند شروع ساختن یک خانه از سطح زمین، در مدل هر مرحله هدف متفاوتی دارد. مدل OSI که در زیر نشان داده شده است، یک چارچوب مفهومی است که برای توصیف اتصال شبکه در ۷ لایه متمایز استفاده می شود.
در حالی که تقریبا تمام حملات DDoS شامل غافلگیر کردن یک وسیله یا شبکه هدف با ترافیک می شوند، حملات را می توان به سه دسته تقسیم کرد. مهاجم ممکن است از یک یا چند بردار حمله مختلف استفاده کند یا به طور بالقوه بردارهای چرخه حمله بر اساس اقدامات متقابلی که توسط هدف انجام می شود پایه ریزی می گردد.
حملات لایه کاربردی (Application)
هدف حمله:
این نوع حمله گاهی اوقات با نام حمله DDOS لایه ۷ خوانده می شود (با اشاره به لایه ۷ مدل OSI)، هدف این حملات، خسته کردن منابع هدف است. این دسته از حملات، لایه ای را که در آن وب سایت ها بر روی سرور ایجاد شده و در پاسخ به درخواست های HTTP تحویل داده می شوند، هدف قرار می دهند. اجرای یک درخواست HTTP ساده ، در سمت کلاینت ارزان است اما پاسخ به آن در سمت سرور هدف پرهزینه است، چون اغلب سرور بایستی چندین فایل را بارگذاری کرده و کوئری های پایگاه داده را برای ایجاد یک صفحه وب اجرا کند. مقابله با حملات لایه ۷ دشوار است چون تشخیص اینکه ترافیک مخرب است یا عادی کار سختی است.
مثال حمله لایه کاربردی:
حملات HTTP Flood
این حمله مثل زدن دکمه رفرش در یک مرورگر وب است که بارها و بارها در چندین کامپیوتر مختلف در یک زمان انجام شود – بنابراین تعداد زیادی از درخواست های HTTP، سرور را منهدم کرده و منجر به انکار سرویس می شود.
این مدل از حملات DDos می تواند از ساده تا پیچیده باشد. پیاده سازی های ساده تر این نوع حمله ممکن است به یک URL با همان محدوده آدرس IP حمله ، مراجع و عوامل کاربر دسترسی داشته باشد. نسخه های پیچیده ممکن است از تعداد زیادی آدرس IP های حمله استفاده کنند و آدرس های تصادفی را با استفاده از ارجاع های تصادفی و عوامل کاربر هدف قرار دهند.
حملات پروتکل
هدف حمله:
حملات پروتکل، که به عنوان حملات خستگی نیز شناخته می شوند، با مصرف تمام ظرفیت موجود وب سرورها یا منابع واسط مانند فایروال ها و متعادل کننده های بار، باعث اختلال در خدمات می شوند. حملات پروتکل، از نقاط ضعف لایه ۳ و ۴ از پشته پروتکل استفاده می کنند تا هدف غیرقابل دسترس را به دست آوردند.
مثالی از حمله پروتکل:
حمله SYN flood
حمله SYN Flood مشابه یک کارگر در اتاق انبار است که درخواستی از قسمت جلوی فروشگاه (درخواست مشتری) دریافت می کند. این کارگر پس از دریافت درخواست، می رود و بسته را بر می دارد و قبل از آوردن بسته به جلو فروشگاه منتظر تایید می ماند. سپس این کارگر درخواست بسته های زیادی را بدون تأیید دریافت می کند و این روند تا زمانی ادامه پیدا می کند که کارگر غرق در درخواست های بدون تایید می شود و عملا از کار می افتد و نمی تواند بسته های بیشتری را تحویل دهد و درخواست ها بی پاسخ می ماند.
این حملات از TCP handshake با فرستادن تعداد زیادی از بسته های SYN “درخواست اتصال اولیه” TCP با آدرس IP های منبع جعلی، سوء استفاده می کند. ماشین هدف به تک تک درخواست های اتصال پاسخ می دهد و سپس منتظر مرحله نهایی handshake می ماند که هرگز اتفاق نمی افتد و باعث خسته کردن منابع هدف در این فرآیند می گردد.
حملات حجمی :
هدف حمله:
این دسته از حملات تلاش می کنند با استفاده از تمام پهنای باند موجود بین هدف و اینترنت بزرگتر، باعث ایجاد تراکم شوند. حجم زیادی از داده ها با استفاده از یک فرم تقویت یا وسیله ای دیگر برای ایجاد ترافیک بزرگ به سمت یک هدف ارسال می شود، مثل درخواست های یک بات نت.
حمله DNS Amplification (حمله تقویت DNS ) :
مثالی از روش تقویت:
حمله DNS Amplification مثل این است که شخصی با یک رستوران تماس بگیرد و بگوید من یک عدد از تمام غذاهایکه دارید می خواهم، لطفا با من تماس بگیرید و تک تک موارد سفارشم را بگویید، و شماره تلفنی که می دهد همان شماره تلفن هدف باشد. جالب است نه؟ با یک تلاش بسیار کوچک، نتیجه ای بزرگ ایجاد می شود.
با ارسال درخواست با یک آدرس IP تقلبی (آدرس آی پی واقعی هدف)، به یک سرور DNS باز، آدرس IP مقصد از سرور پاسخ دریافت می کند. مهاجم درخواست را طوری طراحی کرده است که سرور DNS با مقدار زیادی از داده ها به هدف پاسخ می دهد. در نتیجه، هدف، یک نسخه تقویت شده از درخواست اولیه مهاجم را دریافت می کند.
چطور می توان میزان خطر حمله DDoS را کاهش داد؟
نکته کلیدی در کاهش خطر حمله DDoS ، توانایی تمایز دادن بین ترافیک عادی و ترافیک حمله است. به عنوان مثال، وقتی یک شرکت مشهور، محصول جدید خود را ارائه می دهد و مشتریان مشتاق برای بررسی یا خرید این محصول به وب سایت آن شرکت هجوم می آورند، قطع ترافیک وب سایت کاری صد در صد اشتباه است. اما اگر همین شرکت ناگهان با حجم بالایی از ترافیک از سمت افراد ناشناخته مواجه شود، تلاش برای کاهش حملات احتمالا ضروری است. مشکل اینجاست که جدا کردن مشتری واقعی از ترافیک حمله واقعا سخت است.
در اینترنت مدرن، ترافیک DDoS به شکل های مختلفی بوجود می آید. ترافیک از لحاظ طراحی می تواند از حملات تک منبع غیرمحرمانه تا حملات پیچیده و انعطاف پذیر چند برداری متفاوت باشد. یک حمله چند برداری DDoS از چندین مسیر حمله به منظور غلبه بر هدف از راه های مختلف استفاده می کند، و به طور بالقوه مانع تلاش های مهار حمله در هر یک ازین مسیرها می شود. حمله ای که چندین لایه پشته پروتکل را همزمان هدف قرار دهد، مانند DNS amplification (لایه های ۳/۴ هدف گرفته می شود) همچنین حمله HTTP flood (لایه ۷ هدف گرفته می شود)، نمونه ای از حمله DDoS چند برداری است.
مقابله با حمله چند برداری DDoS نیاز به استراتژی های متفاوت برای مقابله با مسیرهای مختلف دارد. به طور کلی، هرچقدر حمله پیچیده تر باشد، جدا کردن ترافیک عادی از ترافیک حمله دشوار تر است، هدف مهاجم اینست که این دو را تا حد ممکن با هم ترکیب کند و عمل مهار حملات را تا حد ممکن ناکارامد کند، بی تردید تلاش هایی که شامل حذف یا محدود کردن ترافیک می شود، ترافیک خوب را از بد جدا می کند و همچنین ممکن است با ایجاد تغییر و سازگاری در حمله، اقدامات مخالف متوقف شود. به منظور غلبه بر یک تلاش اختلال پیچیده ، راه حل لایه ای مفیدتر خواهد بود.
مسیریابی چاله سیاه
یک راه حل موجود برای تقریبا تمام مدیران شبکه، ایجاد یک مسیر چاله سیاه (Blackhole) و هدایت ترافیک در این مسیر است. در ساده ترین شکل آن، وقتی فیلتر کردن Blackhole بدون معیار محدودیت خاصی اجرا می شود، هر دو ترافیک مشروع و مخرب شبکه به مسیر صفر یا Blackhole منتقل می شوند و از شبکه حذف می شوند. اگر یک منبع اینترنتی حمله DDoS را تجربه کند ، ارائه دهنده اینترنت (ISP) به عنوان یک حرکت دفاعی ممکن است تمام ترافیک سایت را به سیاه چاله هدایت کند.
محدودیت سرعت
محدود کردن تعداد درخواست هایی که سرور در یک بازه زمانی مشخص قبول می کند نیز یک راه کاهش حملات انکار سرویس است. در حالی که محدود کردن سرعت باعث کاهش سرعت سرقت محتوا از وب سایت ها و کاهش میزان حملات بروت فورس می گردد. به احتمال زیاد به تنهایی برای مقابله با یک حمله پیچیده DDoS مؤثر نخواهد بود. با این وجود، محدودیت سرعت جزء مفیدی در استراتژی کاهش اثربخشی DDoS است.
فایروال برنامه وب
یک فایروال برنامه وب یا WAF ابزاریست که می تواند در کاهش حمله DDoS لایه ۷ کمک کند. با قرار دادن WAF بین اینترنت و یک سرور مبدا، WAF می تواند به عنوان یک پروکسی معکوس عمل کند، و کار محافظت سرور هدف از انواع مشخصی از ترافیک مخرب را انجام دهد. با فیلتر کردن درخواست ها بر اساس یک سری از قوانین مورد استفاده برای شناسایی ابزارهای DDoS، با حملات لایه ۷ می توان مقابله کرد. یک مقدار کلیدی از یک WAF موثر، توانایی اعمال سریع قوانین سفارشی در پاسخ به حمله است.
انتشار شبکه Anycast
این رویکرد کاهش، از شبکه Anycast برای پراکنده کردن ترافیک حمله در یک شبکه از سرورهای توزیع شده به نقطه ای که ترافیک توسط شبکه جذب می شود استفاده می کند. مثل تقسیم شدن یک رودخانه خروشان به چندین کانال های آب مجزای کوچکتر ، این روش نیز تاثیر ترافیک حمله توزیع شده را به نقطه ای که در آنجا قابل کنترل باشد، و انتشار هر گونه قابلیت اختلال غیرممکن باشد، پخش می کند.
قابلیت اعتماد به یک شبکه Anycast برای کاهش حمله DDOS به اندازه حمله بستگی به اندازه حمله و اندازه و کارایی شبکه دارد. بخش مهمی از کاهش DDoS که توسط Cloudflare اجرا می شود استفاده از یک شبکه توزیع Anycast است. Cloudflare دارای یک شبکه ۱۵ Tbps(ترابایت در ثانیه ) است که به مراتب بزرگتر از بزرگترین حمله DDoS ایست ، که ثبت شده است.
بن مایه: https://blog.iranserver.com