اگر کمی اخبار حوزه امنیت سایبری را پیگیری کنید احتمالا نام حمله DDOS و یا منع سرویس به گوشتان خورده است. اهداف این حمله معمولا سایتها و یا سرورهایی است که از اهمیت خاصی برخوردار هستند مثلا سرورهای بانک ها و یا سایتهایی که مخاطب زیادی دارند. امروز در کلاسیک وب با حملهی DDOS و راههای جلوگیری از آن آشنا خواهیم شد.
حمله DDoS چیست و چگونه باید از آن جلوگیری کرد؟
What is a DDoS Attack and How to Prevent it?
قبلا در کلاسیک وب در مورد حملهی فیشینگ و همچنین هکر فانونمند صحبت کرده بودیم. حملهی DDOS یکی دیگر از حملات مهم حوزه امنیت سایبری است که امروز به بررسی آن و راههای جلوگیری از حمله DDOS میپردازیم. حملهی DDOS تلاشی مخرب برای مختل کردن ترافیک عادی سرور، سرویس یا شبکه بصورت هدفمند با استفاده از طغیان ترافیک اینترنت است.
DDoS مخفف چیست؟
DDoS مخفف عبارت Denial-of-service attack به معنای حمله منع سرویس یا حمله منع سرویس توزیع شده میباشد. حملات DDoS از چندین سیستم رایانهای به عنوان منبع ترافیک حمله، استفاده کرده و به ثمر می رسند. سیستمهای اکسپلویت کننده می توانند شامل رایانهها و دیگر منابع شبکه مانند دیوایسهای IoT باشند. در سطوح بالا، حمله DDoS مانند برخورد ترافیک جاده با بزرگراه است و از ورود منظم ترافیک به مقصد مورد نظر خود جلوگیری میکند.
حمله DDoS به یک مهاجم نیاز دارد تا بتواند شبکه ماشینهای آنلاین را کنترل کند و در نهایت یک حمله را انجام دهد. رایانهها و سایر دستگاهها (مانند دستگاههایIOT) به بدافزار آلوده شده و هرکدام را به یک ربات (یا زامبی) تبدیل میکنند. سپس مهاجم کنترل از راه دور بر روی گروه باتها دارد که به آن botnet گفته میشود.
هنگامی که یک بات نت ایجاد شد، مهاجم قادر است با ارسال دستورالعملهای به روز شده به هر ربات از طریق روش کنترل از راه دور، ماشینها را هدایت کند. هنگامی که آدرس IP یک قربانی توسط botnet هدف قرار گرفت، هر ربات با ارسال درخواست به هدف پاسخ خواهد داد. این کار به طور بالقوه باعث میشود سرور یا شبکه هدف، ظرفیت سرریز را افزایش دهد، و در نتیجه باعث عدم سرویس دهی به ترافیک عادی شود. از آنجا که هر ربات یک وسیله اینترنتی قانونی است، جدا کردن ترافیک حمله از ترافیک عادی مشکل میشود.
حملهی DDoS چیست؟
بردارهای حمله متفاوت در DDoS مؤلفههای مختلف اتصالات شبکه را هدف قرار میدهند. برای درک چگونگی عملکرد حملات DDoS، لازم است بدانید که چگونه یک اتصال شبکه ایجاد میشود. اتصال به شبکه در اینترنت از اجزای مختلف یا “لایه” های مختلف تشکیل شده است. مانند ساخت خانه از زمین به بالا، هر لایه هدفی دارد. مدل OSI که لایههای آن در زیر نشان داده شده، یک چارچوب مفهومی است که برای توصیف اتصال شبکه در ۷ لایه مجزا استفاده میشود.
حمله ی DDOS در لایه Application
هدف حمله
این حمله گاهی اوقات به عنوان حمله DDOS لایه۷ ( با اشاره به لایه۷ مدل OSI ) شناخته میشود، هدف از این حملات، فرسایش منابع مورد نظر است. این حملات لایهای را که صفحات وب روی سرور ایجاد شده و در پاسخ به درخواست HTTP تحویل داده میشوند، هدف قرار میدهند.
یک درخواست HTTP برای اجرا در سمت کلاینت هزینهی کمی دارد و میتواند برای سرور هنگام پاسخ دادن گران باشد زیرا سرور برای ایجاد یک صفحه وب اغلب باید چندین فایل را بارگیری کرده و دادههای پایگاه داده را نمایش دهد. دفاع از حملات لایه ۷ دشوار است زیرا شناخت ترافیک مخرب از ترافیک عادی مشکل است.
مثال از حملهی DDOS لایه ۷
حمله HTTP Flood نوعی حملهی DDOS لایه ۷
این حمله مانند فشردن دکمه Refresh در مرورگر بصورت مکرر و توسط چندین رایانه بطور همزمان است. با این کار درخواست های زیاد HTTP بصورت سیل به سمت سرور سرازیر شده و موجب حملهی DDOS میشود. این نوع حمله میتواند ساده یا پیچیده باشد.
پیاده سازی ساده آن به این صورت است که مثلا به یک URL با آدرسهای IP محدودی حمله میشود. اما نوع پیچیدهی آن به این صورت است که ممکن است تعداد زیادی آدرس IP حمله کننده، آدرسهای تصادفی را با استفاده از مراجعه کنندگان تصادفی مورد هدف قرار دهند.
حملهی DDOS و حملات پروتکل
هدف از حملهی پروتکل از انواع حملات DDOS
حملات پروتکل، همچنین به عنوان حملات state-exhaustion شناخته میشود، که با مصرف تمام ظرفیت جدول موجود در وب سرورها یا منابع واسطهای مانند فایروالها و توازن بار باعث ایجاد اختلال در سرویس میشوند. حملات پروتکل با استفاده از نقاط ضعف در لایه ۳ و لایه ۴، هدف را غیرقابل دسترسی می کند.
مثال از حملهی DDOS نوع پروتکل
SYN Flood نوعی حملهی DDOS پروتکل
یک SYN Flood مشابه کارگر یک فروشگاه است که درخواستها را از جلوی فروشگاه دریافت میکند. کارگر درخواستی را دریافت میکند، میرود و بسته را میگیرد و منتظر تأیید قبل از بیرون آوردن بسته است. سپس کارگر بدون تأیید بسته های قبلی، درخواستهای بسته بیشتری دریافت میکند تا زمانی که دیگر نتواند درخواست بسته های جدیدی را تحمل کند، در این زمان دچار ناراحتی میشود و درخواستها بدون جواب ادامه مییابند.
این حمله با ارسال تعداد زیادی دست تکانی TCP که شامل پیامهای SYN حاوی Initial Connection Request است انجام میشود و در آن آدرس IPفرستنده هربار جعل میشود. دستگاه هدف به هر درخواست اتصال پاسخ میدهد و سپس منتظر آخرین مرحله دست تکانی است که هرگز رخ نمیدهد و منابع هدف را در این فرایند خسته میکند.
حملهی DDOS و حملات حجمی
هدف حملهی حجمی از انواع حملهی DDOS
این دسته از حملات با استفاده از اشغال تمام پهنای باند موجود سعی در ایجاد تراکم دارد. مقادیر زیادی از داده به طرق مختلف دچار تشدید شده و با ایجاد ترافیک گسترده مثل درخواستهای یک بات نت به یک هدف ارسال میشوند.
مثال حملهی DDOS حجمی
تقویت DNS نوعی حملهی DDOS حجمی
DNS Amplification مانند این است که شخصی با یک رستوران تماس بگیرد و بگوید من از تمام موارد یک مورد سفارش میدهم لطفا با من تماس بگیرید و تمام سفارشم را به من بگویید. شماره تلفنی که برای تماس داده میشود همان هدف است.با تلاش کم یک پاسخ طولانی تولید میشود.
با ایجاد درخواست به یک سرور DNS با یک آدرس IP فاسد (آدرس IP واقعی هدف)، IP هدف، پاسخی را از سرور دریافت میکند. مهاجم، درخواست را طوری تنظیم میکند که سرور DNS با مقدار زیادی از دادهها به هدف پاسخ دهد. در نتیجه، دادههای زیادی را بخاطر Query مهاجم دریافت میکند.
محافظت از حملات DDOS
چالش اصلی در محافظت از حملات DDOS و جلوگیری از آن تمایز بین ترافیک عادی و ترافیک مخرب است. به عنوان مثال اگر یک شرکت دارای وبسایت باشد و محصولاتش را از آن طریق به فروش برساند زمانی که وبسایت مورد حمله DDOS قرار میگیرد قطع کردن کل ترافیک کار اشتباهی است زیرا این ترافیک عادی مشتریان است وهم ترافیک مخرب است اما تمایز بین این دو کار دشواری میباشد.
در اینترنت مدرن DDOS به اشکال مختلفی انجام میشود که میتواند بصورت منفرد باشد و یا چند بردار حملهی پیچیده داشته باشد. در نوع دوم یعنی حملهی DDOS چند برداری حمله کننده از چند مسیر برای حمله استفاده میکند تا به روشهای مختلفی هدف را تحت الشعاع قرار دهد و بطور بالقوه باعث کاهش اقدامات علیه حمله شود. حملاتی که همزمان چندین لایه از پشته پروتکل را هدف قرار میدهند، مانند حمله Amplification DNS (لایه های ۳ و ۴ ) و یا حمله HTTP Flood (لایه ۷) نمونهای از DDoS چند برداری است.
جلوگیری از یک حملهی DDoS چند برداری به منظور مقابله با مسیرهای مختلف به استراتژیهای مختلفی نیاز دارد. به طور کلی، هرچه حمله پیچیدهتر باشد، جداسازی ترافیک مخرب از ترافیک عادی مشکل تر خواهد بود. هدف مهاجم مخلوط کردن هر چه بیشتر این دو ترافیک و کاهش هر چه بیشتر اقدامات جلوگیری از DDOS است.
تلاشهای مربوط به جلوگیری از حملهی DDOS که شامل محدود کردن ترافیک بطورغیرمستقیم است، ممکن است ترافیک خوب را هم به عنوان ترافیک مخرب در نظر بگیرد. برای غلبه بر این مشکل و جلوگیری از تلاشهای زیاد و پیچیده راه حلهای لایهای بهترین راهکار است.
مسیریابی سیاه چاله برای جلوگیری از DDOS
یک راه حل معمول برای همهی ادمینهای شبکه در مورد جلوگیری از DDOS، استفاده از سیاه چاله یا Black Hole Routing است. در ساده ترین حالت و بدون اعمال هیچ فیلتری، این روش به این صورت است که تمام ترافیک اعم از ترافیک سالم و مخرب به یک مسیر فرعی هدایت شده و از شبکه حذف میشوند اگر یک بخش از شبکه در حال حمله DDOS باشد ISP احتمالا تصمیم میگیرد که برای دفاع کل ترافیک شبکه را به مسیر فرعی یا همان سیاه چاله بفرستند.
محدود کردن نرخ (Rate Limiting) برای جلوگیری از DDOS
محدود کردن تعداد درخواستهایی که سرور در طی یک بازه زمانی خاص میپذیرد نیز راهی برای جلوگیری از حملات DDOS است. با وجود اینکه محدود کردن نرخ در کاهش سرعت صفحه وب برای دزدیدن محتوا و همچنین برای جلوگیری از ورود به سیستم بصورت غیر مجاز مفید است، اما به تنهایی برای جلوگیری از حمله DDoS کافی نیست. با این وجود، محدود کردن نرخ یک اقدام مفید در یک استراتژی جلوگیری از DDoS است.
استفاده از WAF برای جلوگیری از DDOS
فایروال برنامه وب (WAF) ابزاری است که می تواند در کاهش حمله لایه ۷ DDoS موثر باشد. با قرار دادن WAF بین اینترنت و سرور مبدا، WAF ممکن است بعنوان یک پروکسی معکوس عمل کند و از سرور هدف در برابر انواع خاصی از ترافیک مخرب محافظت کند. با فیلتر کردن درخواستها بر اساس یک سری قوانین مشخص شده برای شناسایی ابزارهای DDoS، میتوان از حملات DDOS لایه ۷ جلوگیری کرد.
Anycast Network Diffusion برای جلوگیری از DDOS
این روش جلوگیری از DDOS، استفاده از یک شبکه Anycast برای پراکنده کردن ترافیک حمله در شبکهای از سرورهای توزیع شده است تا جایی که جذب ترافیک توسط شبکه انجام میشود. همانند هدایت یک رودخانه در حال حرکت به سمت کانالهای کوچکتر جداگانه، این رویکرد تأثیر ترافیک حمله توزیع شده را تا جایی که قابل کنترل باشد گسترش میدهد و هرگونه فعالیت مختل کننده را پراکنده میکند. قابلیت اطمینان شبکه Anycast برای جلوگیری از یک حمله DDoS به اندازه حمله و اندازه و کارایی شبکه بستگی دارد.
نظرات و دیدگاههای شما؟
امروز در کلاسیک وب به بررسی حملهی DDOS، انواع آن و روشهای مختلف برای جلوگیری از DDOS پرداختیم. امیدواریم این مطلب برای شما مفید باشد. خوشحال میشویم نطرات و تجربیات خود در مورد حملهی DDOS و روشهای محافظت از حملات DDOS را در دیدگاه همین پست با ما در میان بگذارید.
آخرین دیدگاه ها
تا کنون دیدگاهی ثبت نشده است.