یکی از دغدغههای مهم کارشناسان حوزه شبکه و امنیت، عدم دسترسی کاربران به سرویسها و زیرساختهای تجاری است. هکرها میتوانند از طریق پیادهسازی بردار حمله DDoS (انکار سرویس توزیعشده ) بدون نگرانی از بابت ردیابی و شناسایی شدن، کاری کنند که کاربران عادی قادر به استفاده از خدمات یک شرکت یا سازمان نباشند. همین مسئله باعث شده تا مدیران کسبوکارهای تجاری این پرسش را مطرح کنند که آیا راهکاری برای مقابله با این مدل حملهها وجود دارد یا این امکان وجود دارد که از سرویسها یا تجهیزات خاصی برای مقابله با این مدل حملهها استفاده کنیم؟ یکی از مهمترین پرسشهای صاحبان کسبوکارها این است که DDoS Mitigation چیست؟
واقعیت این است که از شبکههای کوچک گرفته تا شبکههای بزرگ، همگی در معرض حملات DDoS قرار دارند. به همین خاطر، همواره باید برای محافظت در برابر حملات شبکه از راهکار DDoS Mitigation بهرهمند شد. این کار میتواند با استفاده از تجهیزات فیزیکی یا راهحلهای ابری انجام شود. استفاده از تجهیزات فیزیکی، هزینهبر است و ممکن است در تمامی موارد قابل استفاده نباشد، اما
DDoS Mitigation مبتنی بر ابر میتواند سطح بالاتری از حفاظت را عرضه کند. در این مقاله به شما خواهیم گفت که بردار حمله DDoS چیست و چه راهحلهای نوینی برای مقابله با این بردار حمله در دسترس قرار دارند.
حمله DDoS چیست؟
حمله انکار سرویس توزیعشده (Distributed Denial of Service)، به مجموعه اقدامات مخربی اشاره دارد که با هدف ایجاد اختلال در ترافیک عادی یک سرور، سرویس یا شبکه بهشکل هدفمند انجام میشود. بهطور معمول، هکرها سعی میکنند اختلالی در زیرساختهای یک سازمان بهوجود آورند تا ترافیک عادی شرکت را دچار مشکل کنند. اینکار عمدتا به دو دلیل انجام میشود؛ دلیل اول کند کردن سرعت سایت است تا پاسخگویی به درخواستهای کاربران با صرف زمان زیادی انجام شود و دوم اینکه سایت بهطور کامل از حرکت بازایستد و کاربران هیچگونه پاسخی از سایت دریافت نکنند. در مجموع باید بگوییم که حمله DDoS ترافیک غیرمنتظره و شدیدی پدید میآورد تا عملکرد طبیعی وبسایتهای اینترنتی که میزبانی آنها توسط سرورها انجام میشود، مختل شود. در حالت کلی، باید بگوییم که یک حمله DDoS شبیه به این است که ترافیک غیرمنتظرهای وارد بزرگراهی شده و آنرا مسدود کند و از رسیدن ترافیک منظم به مقصد جلوگیری کند.
امروزه، از حملههای DDoS برای دستیابی به دادههای سازمانی، از مدار خارج کردن کسبوکارهای آنلاین رقبا، ایجاد اختلال در عملکرد سیستمعاملها و غیره استفاده میشود. بهطور معمول، حملههای DDoS از طریق طیف گستردهای از آدرسهای آیپی انجام میشود که پیشتر، هکرها آنها را آلوده کردهاند. همین مسئله باعث میشود تا شناسایی فرد یا افرادی که این حمله را پیادهسازی کردهاند سخت یا حتا غیرممکن شود. هکرها میتوانند حمله DDoS را از طریق بهکارگیری انواع مختلفی از دستگاهها و حتا تجهیزات اینترنت اشیاء پیادهسازی کنند. اینکار از طریق آلودهسازی تجهیزات متصل به شبکه به اسکریپتهای مخرب و کنترل آنها از راه دور انجام میشود. این دستگاههای آلوده «زامبی» نام دارند و به شبکهای از این دستگاههای آلوده، «باتنت» گفته میشود.
پس از ساخت شبکهای از باتها، هکرها میتوانند از طریق ارسال دستورالعملهای مخرب برای کامپیوترهای آلوده به آنها فرمان دهند به اهداف مدنظر حمله کنند. هنگامی که سرور یا شبکه هدف توسط باتها هدف قرار گرفته میشود، هر بات درخواستهایی را به آدرس آیپی هدف ارسال میکند. ارسال درخواستها تا زمانی ادامه پیدا میکند که سرور یا شبکه از توانایی انجام فعالیتهای روزمره باز ایستد. با توجه به اینکه هر بات یک دستگاه اینترنتی با آدرس آیپی معتبر است، تفکیک ترافیک مخرب از ترافیک عادی برای بیشتر مدیران شبکه سخت است.
چگونه یک حمله انکار سرویس توزیعشده را شناسایی کنیم؟
هنگامی که یک حمله DDoS اتفاق میافتد، نشانههای ملموسی از خود نشان میدهد که بارزترین آنها کند شدن ناگهانی سرعت سایت یا سرویسهای اینترنتی است. با اینحال، بهدلیل اینکه بخش عمدهای از حملههای داس شباهت زیادی به اختلالات اینترنتی دارند، کارشناسان شبکه مجبور هستند کارهای بیشتری برای شناسایی حمله انجام دهند. برای این منظور باید از ابزارهای تجزیهوتحلیل ترافیک استفاده کرد. از نشانههای روشن حملههای انکار سرویس توزیعشده به موارد زیر باید اشاره کرد:
- افزایش ترافیک مرتبط با یک آدرس یا محدوده آدرسهای آیپی مشخص.
- افزایش غیرعادی ترافیک کاربرانی که الگوی مصرف مشخصی دارند. به بیان دقیقتر، آنها از یک نوع دستگاه، موقعیت جغرافیایی مشخص و غیره اقدام به ارسال درخواست میکنند.
- افزایش ناگهانی درخواستها برای مراجعه به یک صفحه یا سایت خاص.
- الگوهای ترافیکی ناهنجار مثل مراجعه به صفحه خاصی در ساعات غیرقابل پیشبینی.
با در نظر گرفتن موارد یادشده، میتوان تا حدودی مانع پیادهسازی موفقیتآمیز حملههای سایبری شد. البته، برای اینکه تشخیص دهید آیا حمله انکار سرویس توزیعشده اتفاق افتاده یا خیر، باید تحلیلهای بیشتری انجام دهید.
انواع حملههای انکار سرویس توزیعشده
حملههای DDoS انواع مختلفی دارند و هر یک دستگاهها و مولفههای مختلف متصل به شبکهها را هدف قرار میدهند. برای آنکه بتوانید شناخت دقیقی درباره انواع مختلف حملههای انکار سرویس توزیعشده داشته باشید، ضروری است اطلاعات اولیهای در مورد شبکهها و کانالهای ارتباطی داشته باشید. شبکههای کامپیوتری از مولفهها و لایههای مختلفی تشکیل شدهاند و هر لایه هدف متفاوتی را دنبال میکند. مدل OSI نشاندادهشده در شکل ۱، چارچوب مفهومی است که عملکرد هر یک از این هفت لایه مجزا از هم را شرح میدهد. بهطور کلی، حملههای انکار سرویس توزیعشده به سه گروه اصلی زیر تقسیم میشوند:
حملههای لایه کاربرد (application layer)
این نوع حمله گاهیاوقات به نام حمله انکار سرویس توزیعشده لایه ۷ شناخته میشود که اشاره به لایه کاربرد در مدل مرجع OSI دارد. هدف این حمله مصرف سریع منابع زیرساختی هدف است. بهطوری که هیچ منبع آزادی برای پاسخگویی به درخواستهای کاربران در دسترس نباشد. این گروه از حملهها، لایهای که در آن وبسایتها روی سرور تعریف شدهاند و در پاسخ به درخواستهای HTTP بستههای اطلاعاتی را تحویل میدهند، هدف قرار میدهند. پیادهسازی و اجرای یک درخواست HTTP ساده، در سمت کلاینت هزینهای ندارد، اما پاسخی که سرور ارسال میکند، هزینهبر است؛ زیرا در بیشتر موارد، سرور باید چند فایل را بارگذاری کرده و کوئریهای پایگاه داده را برای ایجاد یک صفحه وب اجرا کند. بهدلیل اینکه تفکیک ترافیک مخرب از مجاز سخت است، دفاع در برابر حملههای انکار سرویس توزیعشده لایه ۷ نیز دشوار است. شکل ۲ نمونهای از یک حمله لایه کاربرد را نشان میدهد.
HTTP Flood
این حمله از طریق ارسال درخواستهای HTTP گسترده برای سرور انجام میشود. این حمله را میتوان به دو نوع ساده و پیچیده طبقهبندی کرد. در حملههای ساده به سرور یا شبکه، اینکار از طریق یک آدرس آیپی انجام میشود. در حالی که در حملههای پیچیده آدرسهای اینترنتی تصادفی مورد استفاده قرار میگیرند.
حملههای پروتکل
این حملهها نیز با هدف مصرف بیشازحد منابع سرور و تجهیزات مهم شبکه و مشغول نگه داشتن دیوارهای آتش انجام میشود تا اختلالی بزرگ در عملکرد سرویسها بهوجود آید. حملههای پروتکل، از نقاط ضعف لایه 3 و 4 پشته پروتکل استفاده میکنند تا هدف غیرقابل دسترس شود. شکل ۳، مثالی از نحوه پیادهسازی حمله فوق را نشان میدهد.
SYN Flood
این حمله با ارسال تعداد زیادی درخواست TCP (درخواست اتصال اولیه) از طریق آدرسهای آیپی جعلی با هدف عدم دسترسی به پروتکل TCP و بروز مشکلات در سرور یا شبکه مورد استفاده قرار میگیرد.
این حمله مشابه این است که فردی در انبار است و درخواستی از بخش فروشگاه که وظیفه رسیدگی به درخواستهای مشتریان را دارد، دریافت کند و پس از آمادهسازی بسته و ارسال آن برای فروشگاه به انتظار بنشیند تا تاییده نهایی از بخش حسابداری را دریافت کند. اما در این مدت، درخواستهای متعدد دیگری را دریافت کند. حال اگر این روند ادامه پیدا میکند، کارگر با طیف گستردهای از درخواستها روبهرو میشود و دیگر قادر به انجام وظایف محوله نیست؛ به طوری که نمیتواند به درخواستهای بیشتری رسیدگی کند و در نتیجه درخواستهای مشتریان بیپاسخ میماند.
حملههای حجمی (Volumetric)
این بردار حمله تمام پهنای باند موجود بین هدف و کاربر را مصرف میکند تا مشکل ازدحام را بهوجود میآورد. در حمله فوق، حجم زیادی از دادهها با استفاده از یک الگوی تقویتی (Amplification) برای ساخت ترافیکی بزرگ و ارسال آن بهسمت هدف ساخته میشوند. بهطور معمول، در این مدل حملهها از شبکه باتها استفاده میشود. شکل ۴، نحوه پیادهسازی حمله فوق را نشان میدهد.
حمله DNS Amplification
حمله فوق بر مبنای ارسال درخواست از سرور سامانه نام دامنه باز و آدرس آیپی جعلی (آیپی قربانی) با هدف ایجاد اختلال در عملکرد سرور و شبکه هدف اجرا میشود. حمله فوق، شبیه به این است که فردی با یک رستوران تماس بگیرد و بگوید من از تمام غذاهایی که دارید یکی میخواهم، لطفا با من تماس بگیرید تا تک تک موارد سفارشم را بگویم و شماره تلفنی که میدهد همان شماره تلفن هدف باشد. جالب است نه؟ در حمله فوق، تنها با یک تلاش بسیار کوچک، نتیجهای بزرگ حاصل میشود.
ممانعت از پیادهسازی حملههای انکار سرویس توزیعشده
دغدغه اصلی در پیشگیری از بروز حمله انکار سرویس توزیعشده، تشخیص و تفکیک ترافیک مخرب از عادی است. همانطور که پیشتر اشاره کردیم، حمله انکار سرویس توزیعشده به اشکال مختلف (پیچیده، تطبیقی، ساده) پیادهسازی میشود. به همین دلیل، راهکارها و روشهای خاصی برای پیشگیری از بروز حمله انکار سرویس توزیعشده در دسترس کارشناسان امنیت قرار دارد. لازم به توضیح است که هر چه حمله پیچیدهتر باشد، تفکیک ترافیک حمله از ترافیک عادی سختتر است.
در حقیقت، هدف مهاجم یا مهاجمان ساخت شرایطی پیچیده و غیرقابل حل برای سرور، شبکه یا سایت است. هکرها همواره سعی میکنند از رخنههای مستتر در سرور و شبکه برای پیادهسازی این مدل حملهها استفاده کنند. کارشناسان شبکه میتوانند از طریق بررسیهای مداوم و دقیق مانع شکلگیری حملههای فوق شوند. از راهکارهای مهم برای مقابله با حمله DDoS به موارد زیر باید اشاره کرد:
مسیریابی سیاهچاله (Blackhole Routing)
این روش، بیشتر توسط مدیران شبکه استفاده میشود. در روش فوق یک مسیر سیاهچاله ایجاد شده و ترافیکها بهسمت این مسیر هدایت میشوند. به بیان دقیقتر، سیاهچاله عملکردی شبیه به یک فیلتر دارد؛ ترافیک مخرب را به درون خود کشیده و آن را از شبکه دور میکند. در روش مذکور ترافیک سایت به سیاه چاله ارسال میشود و پس از مدتی از دسترس خارج میشود. درست است که راهکار فوق چندان ایدهآل نیست، اما از شبکه در برابر ترافیکهای مخرب محافظت میکند.
محدودیت سرعت (Rate Limiting)
در روش فوق، تعداد درخواستهایی که سرور در یک بازه زمانی خاص قبول میکند، محدود است. لازم به توضیح است که روش فوق بیشتر برای ممانعت از سرقت محتوا استفاده میشود و بهتنهایی یک روش کارآمد برای مقابله با حملههای انکار سرویس توزیعشده نیست.
دیوارآتش برنامه وب (Web Application Firewall)
روش WAF، یکی از راهکارهای موثر برای مقابله با حملههای انکار سرویس توزیعشده مبتنی بر لایه 7 است. شما میتوانید WAF را میان اینترنت و سرور مبدا قرار دهید تا عملکردی شبیه به یک دیوار داشته باشد. در این حالت، دیوارآتش برنامه وب، قادر به مقابله با انواع مختلف ترافیکهای مخرب است.
انتشار شبکه (Anycast Network Diffusion)
در روش فوق از یک شبکه یونیکست برای پراکنده کردن ترافیکهای مخرب که قصد ورود به شبکه را دارند استفاده میشود. راهکار فوق تقریبا به این صورت عمل میکند که کانالهای جداگانهای برای هدایت ترافیک تعریف میکند که قادر هستند ترافیک مخرب را به کانالهای مختلفی هدایت کنند تا از شدت آنها کاسته شود.
DDoS Mitigation، راهکاری قدرتمند برای مقابله با حمله DDoS
یکی از کارآمدترین راهکارهایی که برای مقابله با حملههای انکار سرویس توزیعشده در دسترس کارشناسان امنیتی قرار دارد،DDoS Mitigation است. راهکاری که طی آن از یک سرور یا شبکه در برابر حملههای انکار سرویس توزیعشده محافظت میشود. DDoS Mitigation میتواند با استفاده از تجهیزات مخصوص شبکه یا سرویسهای حفاظتی مبتنی بر ابر انجام شود. معماری DDoS Mitigation بر مبنای یک رویکرد چهار مرحلهای به مقابله با این مدل حملهها میپردازد که در آن یک سرویسدهنده ابری در مرکز معماری مستقر میشود.
عملکرد هر یک از مولفههای فوق بهشرح زیر است:
تشخیص (Detection)
برای پیشگیری از بروز حمله انکار سرویس توزیعشده، یک وبسایت باید توانایی تشخیص حجم بالای ترافیک معمولی و مجاز را که به دلایل گوناگون ایجاد میشود داشته باشد. بهطور مثال، اگر انتشار یک سرویس یا برنامه کاربردی وبمحور باعث ایجاد بازدید جدید شود، اما سایت آن را بهعنوان یک حمله تشخیص دهد، آنگاه بخش قابل توجهی از زحمات انجامگرفته برای افزایش بازدید به هدر میرود. ازاینرو، یکی از مهمترین مراحل DDoS Mitigation، توانایی تشخیص درست ترافیک مجاز است. بررسی آدرسهای آیپی، توجه به الگوی حملههای متداول و ارزیابی دادههای قبلی از جمله راهکارهایی هستند که باید در چنین شرایطی از آنها استفاده کرد.
پاسخ (Response)
مرحله بعد، پاسخدهی است. با حذف ترافیک مخرب و تفکیک آن از ترافیک عادی قادر به مقابله با این بردار حمله هستید. شبکه با استفاده از قوانین WAF برای مقابله با حملههای لایه کاربرد یا فرآیندهای فیلتراسیون برای مدیریت لایههای پایینتر (لایه ۳ و ۴) مانند تقویت حافظه پنهان، کمک میکند تا اختلال به میزان قابل توجهی کاهش پیدا کند.
مسیریابی (Routing)
در این مرحله با مسیریابی هوشمندانه ترافیک که یک راهحل موثر در استراتژی DDoS Mitigation است، ترافیک موجود به بخشهای کوچکتر تقسیم میشود تا سرویسدهی قطع نشود.
انطباق (Adapt)
شبکهای که طراحی خوبی داشته باشد، ترافیک ورودی را برای یافتن یک الگوی خاص مانند آیپی متخلف، حملههای مشخص از کشورهای خاص یا پروتکل ویژهای که بهشکل نامناسب استفاده میشود، تحلیل میکند. تحلیل فوق کمک میکند تا ترافیک دریافتی با الگوهای حمله مقایسه شود. راهکار فوق باعث میشود تا بتوان بهشکل قابل توجهی از شبکه در برابر تهدیدهای فعلی یا آینده محافظت کرد.
سرویس DDoS Mitigation چه ویژگیهای شاخصی دارد؟
در گذشته، راهحلهای سنتی DDoS Mitigation مبتنی بر خرید تجهیزاتی بودند که بهشکل درونسازمانی در محل شرکتها قرار میگرفتند و ترافیک ورودی را فیلتر میکردند. با این حال، رویکرد فوق شامل خرید و نگهداری تجهیزات گرانقیمت بود و متاسفانه اگر حمله انکار سرویس توزیعشده بیشازحد بزرگ بود، تجهیزات بهسختی قادر به محافظت از زیرساختها در برابر حملهها بودند. به بیان دقیقتر، تجهیزات برای ترافیکهای مخرب ترابایتی قادر به انجام کار خاصی نبودند. به همین خاطر هنگام اجاره سرویس DDoS Mitigation باید به ویژگیهای خاصی دقت کرد. این ویژگیها بهشرح زیر هستند:
ظرفیت شبکه
ظرفیت شبکه یک راه ایدهآل برای ارزیابی سرویس DDoS Mitigation است و قدرت سرویس فوق برای مهار حمله DDoS را نشان میدهد. بهطور مثال، شبکهای که ظرفیت یک ترابیت در ثانیه دارد، بهلحاظ تئوری میتواند تا همان حجم از ترافیک را منهای پهنای باند مورد نیاز برای حفظ عملیات معمول، مسدود کند. بیشتر سرویسهای DDoS Mitigation ابرمحور، ظرفیت چند ترابیت بر ثانیه ارائه میکنند که فراتر از نیازهای سازمانها است.
ظرفیت پردازش
علاوه بر ظرفیت شبکه، توان عملیاتی DDoS Mitigation، معیار مهم دیگری است که باید به آن دقت کنید و تحت عنوان قابلیتهای پردازشی از آن نام برده میشود. بهطور معمول، سرویسهای DDoS Mitigation با نرخ انتقال بیتها بر حسب ثانیه اندازهگیری میشوند. امروزه، بروز حملههایی بالاتر از 50 مگابیت بر ثانیه عادی است و برخی از آنها با شدت 200 تا 300 مگابیت بر ثانیه اتفاق میافتند. حملهای که فراتر از قدرت پردازشی مکانیزمهای امنیتی باشد، بهراحتی قادر به مختل کردن عملکرد سیستمهای دفاعی است. به همین دلیل ضروری است قبل از آنکه سرویس DDoS Mitigation را اجاره کنید، بهدقت این مسئله را ارزیابی کنید.
تاخیر
برخی سرویسهای DDoS Mitigation توانایی عبور یا به عبارت دقیقتر انتقال ترافیک وبسایت یا برنامه را دارند. اگر سرویس انکار سرویس توزیعشده بهشکل درونسازمانی باشد، هنگام وقوع حمله، ترافیک به سرویس DDoS Mitigation تغییر مسیر میدهد. اگر DDoS Mitigation همواره در وضعیت فعال باشد، تمام ترافیک دریافتی شبکه از این سرویس عبور میکند که بالاترین سطح از امنیت را ارائه میدهد. نکته مهمی که باید در این زمینه به آن دقت کنید، ارتباط بین مرکز داده و ارائهدهنده DDoS Mitigation است. اگر ارتباط به شکل پایدار و پرسرعت باشد، کاربران نهایی کمترین تاخیر را تجربه میکنند. علاوه بر این، موقعیت جغرافیایی سرویسدهنده DDoS Mitigation و نزدیک بودن آن به مرکز دادهای که از آن استفاده میکنید، اهمیت زیادی دارد. بهطور مثال، تصور کنید شرکتی در آسیا قرار دارد و در نظر دارد از سرویس DDoS Mitigation مستقر در اروپا استفاده کند. در چنین شرایطی، هر درخواست کاربر ابتدا باید به شرکت ارائهدهنده خدمات اروپا انتقال پیدا کرده و دومرتبه به آسیا بازگردد. بدیهی است، در چنین شرایطی شاهد تاخیر قابل توجهی هستیم.
زمان Mitigation
هنگامی که حملهای شناسایی میشود، مدت زمان مورد نیاز برای دفع حمله، باید در کمترین حالت ممکن باشد. کارشناسان امنیتی میتوانند بیشتر حملههای انکار سرویس توزیعشده را تنها در عرض چند دقیقه از بین ببرند. به همین دلیل، در زمان اجاره یک سرویس Mitigation باید بهمدت زمان آن دقت خاصی داشته باشید. یکی از پرسشهای مهم پیرامون DDoS Mitigation این است که آیا سرویس مذکور میتواند برای مقابله با حملههای لایه شبکه مورد استفاده قرار گیرد؟ با توجه به اینکه بیشتر حملههای انکار سرویس توزیعشده روی لایه شبکه انجام میشود، ماهیت حجمی دارند و آسیب زیادی به زیرساختها وارد میکنند، سرویسدهندگان Mitigation DDoS ابزارهای لازم برای مقابله با این مدل حملهها را پیادهسازی میکنند. بنابراین، پاسخ مثبت است.
کلام آخر
در این مقاله سعی کردیم، تا حدودی بردار حمله انکار سرویس توزیعشده را بررسی کرده و راهکارهایی برای مقابله با این مدل حملهها ارائه دهیم. بهطور کلی، پیشنهاد میشود هرچند وقت یکبار وضعیت ترافیک سرور خود را بررسی کنید تا مانع بروز حملههای انکار سرویس توزیعشده پیچیده پیرامون شبکهها و سرورها شوید. در نهایت به این نکته دقت کنید که اگر قصد استفاده از سرویسدهندههای ابرمحور در این زمینه را دارید، باید به روشهایی که شرکتها بر مبنای آن کار میکنند دقت نظر خاصی داشته باشید. بهطور مثال، برخی از آنها از مکانیزم مسیریابی تهی استفاده میکنند تا تمام ترافیک را به یک آدرس آیپی غیرموجود هدایت کنند یا برخی دیگر آدرس آیپی سرور اصلی را پنهان میکنند تا هکرها نتوانند حمله انکار سرویس توزیعشده مستقیمی به سرور داشته باشند.