در این پست قصد داریم تا راهکارهایی برای شناسایی و دفع حمله DDoS معرفی نماییم. پرسشی که اغلب از سوی مدیران امنیتی و وبمسترها مطرح میشود این است که ما چه زمانی میتوانیم متوجه شویم زیرساختهای شبکه یا سایت تحت سرپرستی ما گرفتار یک حمله منع سرویس توزیع شده قرار گرفته است؟ برخی از سازمانها سعی میکنند برای مقابله با این حمله از نیروی انسانی کمک گرفته و به شکل روزانه یا حتی ساعتی زیرساختهای خود را تحت نظارت قرار دهند. با وجود این کارآیی این تکنیک خیلی زیاد نیست. راهکار موثرتر دیگری که در این زمینه پیش روی شما قرار دارد بهکارگیری سرویسهای نظارتی قدرتمند است. سرویسهایی که به شکل خودکار و البته هوشمندانه منابع را مورد بررسی قرار دهند.
نظارت خودکار روی منابع به منظور شناسایی حملات منع سرویس توزیع شده به تیم امنیتی سازمان شما اجازه میدهد روی وظایف مهمتری متمرکز شده و اعلانهای درست را در زمان مناسبی دریافت کنند. همچنین فراموش نکنید ابزارها و سرویسهای نظارتی در اغلب موارد قادر هستند با ارائه راهحلهایی به مقابله با این حملات بپردازند. Arbor Networks که تقریبا ۵۰درصد سهام بازار را در زمینه ارائه راهکارهای محافظت در برابر حملات منع سرویس توزیع شده در اختیار دارد، Radware که یک مکانیزم حفاظتی در برابر انواع مختلفی از حملات DDoS را ارائه میکند و Fortinet که محصولات متنوعی در ارتباط با ایمنسازی زیرساختهای فناوری اطلاعات ارائه میکنند، از جمله این موارد هستند.
حمله منع سرویس توزیع شده چیست؟
بهطور خلاصه، یک حمله منع سرویس توزیع شده یک حمله سیلآسا بوده که ترافیک افسارگسیختهای را به سمت هاست یا سرور روانه میکند. یک هکر میتواند ترافیک سنگینی را ارسال کند تا به سرعت پهنای باند و منابع سرور از دسترس خارج شوند. در این حالت سرور دیگر قادر نیست به درخواستها رسیدگی کند. در این حالت ممکن است سرور دچار مشکل شده یا پهنای باند برای پاسخگویی به درخواستهای معتبر مشتریان وبسرویس شما در دسترس نباشد. همانطور که ممکن است حدس زده باشید تا زمانی که حمله ادامه پیدا کند خدماترسانی متوقف میشود که این حرف به معنای از دست دادن درآمدهای مالی شما از سرویسی است که آنرا ارائه کردهاید. حملات منع سرویس توزیع شده برای هر کسبوکار آنلاینی ویرانگر بوده و در هر ساعت از شبانهروز ممکن است رخ دهند. در نتیجه مهم است که بدانید این حمله چگونه عمل میکند و چطور باید آنرا در کوتاهترین زمان متوقف کنید. در مدت زمان بروز چنین حملاتی شما با یک منبع حملهکننده واحد سروکار ندارید تا با فیلتر کردن آدرس آیپی هکر حمله را متوقف کنید. هکرهایی که حملات منع سرویس توزیع شده را پیادهسازی میکنند در ابتدا سامانههای کاربران را آلوده میکنند. این سامانهها میتوانند کامپیوترهای شخصی، سامانههای توکار یا دستگاههای اینترنت اشیا باشند. در ارتباط با دستگاههای توکار و اینترنت اشیا هکرها بهطور مستقیم به میانافزاری که وظیفه کنترل دستگاه را عهدهدار است حمله میکنند. در ادامه هکرها از یک سامانه متمرکز که وظیفه ارسال دستورات را بر عهده دارد استفاده میکنند. سامانهای که به ماشینهای آلوده به بدافزار اعلام میدارد ترافیک را به سمت یک سایت ارسال کنند. شدت یک حمله به تعداد ماشینهایی که یک هکر موفق شده است آنها را آلوده کند بستگی دارد. بهطور معمول، تعداد این کامپیوترها ممکن است ۱۰۰۰ عدد یا حتی فراتر از ۱۰ هزار دستگاه برود. مکانیزم بهکار گرفته شده در حملات منع سرویس توزیع شده در اغلب موارد پیچیده است. بهطور مثال هکرها میتوانند درخواستهای اتصال ناقص را ارسال کرده که این مکانیزم باعث به وجود آمدن حالت انتظار میشود. در این تکنیک بهطور مرتب درخواستهای جدیدی ارسال میشود. شما در حالت عادی میتوانید میزان ترافیکی را که از بابت یک حمله قادر به دفع آن هستید، محاسبه کنید. بهطور مثال، اگر ترافیک عادی شما برابر با ۱۰۰ ارتباط ورودی در یک لحظه بوده و سرور در این وضعیت قادر است به فعالیتهای خود ادامه دهد، به معنای آن است که به احتمال زیاد ارتباط ۱۰۰ ماشین روی ترافیک شما تاثیرگذار نخواهد بود. با این حال در یک حمله منع سرویس توزیع شده هزاران اتصال مبتنی بر آدرسهای آیپی مختلف در یک زمان به سرور حمله میکنند. اگر سرور نتواند در یک لحظه ۱۰ هزار ارتباط را مدیریت کند، به معنای آن است که شما در برابر یک حمله منع سرویس توزیع شده آسیبپذیر خواهید بود. (شکل یک) به عبارت دقیقتر در یک لحظه ممکن است صدها یا هزاران ماشین (سرور، کامپیوترهای شخصی یا حتی دستگاههای موبایل) ترافیک خود را به سمت شما گسیل کنند. در عرض چند دقیقه عملکرد سایت کاهش پیدا کرده و منابع هدر میروند. در این حالت کاربران عادی موفق نخواهند شد به سایت شما دسترسی پیدا کنند.
چگونه میتوانیم اطلاع پیدا کنیم یک حمله منع سرویس توزیع شده رخ داده است؟
حملات منع سرویس توزیع شده از آن جهت بدترین نوع حملات به شمار میروند که بدون هیچگونه هشداری از راه میرسند. در حالی که برخی از گروههای بزرگ هکری پیش از حمله هشدارهایی را ارسال میکنند، اما در اغلب موارد مهاجمان بدون هیچگونه هشداری به سایت شما حمله میکنند. در این حالت شما تنها زمانی از این موضوع مطلع خواهید شد که مشتریان شکایت میکنند که مشکلی رخ داده و قادر نیستند به سایت شما دسترسی پیدا کنند.
در ابتدا تصور نمیکنید یک حمله منع سرویس توزیع شده رخ داده است، در نتیجه فکر میکنید سرور یا هاست دچار مشکل شدهاند. در ادامه سرور را بررسی کرده و یکسری آزمایشهای اولیه انجام میدهید، اما فقط حجم بالایی از ترافیک را مشاهده میکنید که باعث شده بهکارگیری منابع به حداکثر ظرفیت ممکن برسد. در ادامه به سراغ بررسی این موضوع میروید که آیا برنامههایی در پسزمینه در حال اجرا هستند، اما بازهم هیچ نشانهای از یک مشکل را پیدا نمیکنید. مدت زمانی که صرف درک این موضوع میکنید که یک حمله منع سرویس توزیع شده رخ داده و مدت زمانی که صرف کم کردن آسیبها میکنید حداقل چند ساعت زمان خواهد برد. در این چند ساعت ارزشمند شما ممکن است ضرر مالی زیادی را متحمل شوید. در نتیجه هر چه سریعتر این حمله را تشخیص دهید میزان خسارت به بار آمده به حداقل میرسد.
راهنمای تشخیص حمله منع سرویس توزیع شده
موثرترین راهکار برای مقابله با یک حمله منع سرویس توزیع شده درست همان زمانی است که حمله آغاز شده است. در اینجا چند سرنخ وجود دارد که نشان میدهند یک حمله منع سرویس توزیع شده رخ داده است.
یک آدرس آیپی x درخواست را در مدت زمان y ثانیه ایجاد کرده است.
سرور پیغام خطای ۵۰۳ به معنای غیر قابل دسترس بودن سرور به دلیل ترافیک زیاد را نشان میدهد.
زمان زندگی (TTL) سرنام time to live روی یک درخواست پینگ به اتمام رسیده است.
کارمندان از کندی سرعت گلایه دارند.
و در نهایت گزارشهای تحلیلی خبر از یک ترافیک بزرگ میدهند.
بیشتر این نشانهها میتوانند از سوی یک سامانه هشداردهنده جمعآوری شده و از طریق یک ایمیل یا پیام برای مدیران ارسال شوند. سامانه هشداردهنده طراحی شده از سوی loggly از جمله راهکارهایی است که در این زمینه پیش روی سازمانها قرار دارد.
ارسال درخواستهای زیاد از طریق یک آدرس آی پی
شما به شکل موقت میتوانید روتر را به گونهای تنظیم کنید تا ترافیک مبتنی بر یکسری آدرسهای آیپی خاص را به سمت مسیرهایی هدایت کند که وجود ندارند. این تکنیک در حقیقت آدرسهای آیپی حمله کننده را به یک مسیر خالی که وجود ندارد هدایت کرده و اجازه نمیدهد روی عملکرد سرور تاثیرگذار باشند. راهکار سادهتری که پیش روی شما قرار دارد، این است که آدرسهای آیپی غیرقانونی را مسدود کرده و به این شکل حمله را متوقف کنید. اما این روش مشکلی دارد. آدرسهای آیپی منبع حملهکننده ممکن است گمراهکننده باشند.
تنظیم هشدارها از طریق دیوارهای آتش یا سامانههای تشخیص نفوذ نیز ممکن است پیچیده باشد. هکرها ممکن است از روباتهایی که عملکرد عادی دارند برای فریب این سامانهها استفاده کنند. بهطور کلی، شما باید سامانه یا مکانیزم هشداردهنده را به گونهای تنظیم کنید که هر زمان تعداد زیادی درخواست را از آدرسهای آیپی دریافت کرد که همگی در یک محدوده قرار دارند و از قبل مشخص شدهاند و درون یک پنجره یکسان دریافت میشوند را تشخیص داده و این موضوع را به شما اطلاع دهد. به احتمال زیاد به یک فهرست سفید از آدرسهای متعبر نیاز دارید. به واسطه آنکه ربات گوگل موسوم به Googlebot با سرعت و نرخ بالایی فرآیند خزیدن را انجام میدهد. در نتیجه اگر این فهرست را در اختیار نداشته باشید آنگاه باتها و اسکریپتهای معتبری همچون ربات گوگل ممکن است به عنوان یک تهدید شناخته شده و سامانه هشدار دهنده یک پیغام هشدار کاذب را تولید کند.
سرور با کد ۵۰۳ پاسخ میدهد
در ویندوز شما میتوانید هشدارها را به گونهای تنظیم کنید که اگر یک رویداد خاص در Event Viewer اجرا شد از آن مطلع شوید. شما میتوانید هر موضوعی همچون خطاها، هشدارها یا هر نوع رویدادی را به یک وظیفه الصاق سنجاق کنید. اینکار باعث میشود تا پیش از آنکه یک موقعیت بحرانی شکل بگیرید موضوع را بررسی کنید. برای الصاق یک رویداد ۵۰۳ ابتدا باید رویداد موردنظر خود را در Event Viewer پیدا کنید. برای این منظور
Event Viewer را باز کرده و روی رویداد موردنظر کلیک راست کنید. (شکل دو) اینکار باعث میشود تا صفحه پیکربندی، مکانی که در نظر دارید یک رویداد را برای ارسال یک ایمیل به مدیر یا تیمی از پژوهشگران پیکربندی کنید، در اختیارتان قرار گیرد.
TTL Time Out
شما بهطور معمول میتوانید سرور را برای آزمایش پهنای باند و ارتباطات پینگ کنید، اگر در نظر دارید فرآیند هشداردهی را خودکارسازی کرده بهطوری که پیش از وقوع یک حمله به شما اطلاعرسانی کند، این راهکار کمک چندانی به شما نمیکند. البته بعضی مواقع پینگ کردن سرور با اشتباهاتی نیز همراه است. برای آنکه بتوانید هشداردهی مبتنی بر پینگ را خودکارسازی کنید، چند سرویس روی وب وجود دارند که اجازه میدهند از هر نقطه در جهان سایت خود را پینگ کنید. این سرویسها را میتوانید به شکل منطقهای پیکربندی کرده تا فرآیند پینگ کردن را انجام دهند. از طریق این سرویسها، سایت شما در ۲۴ ساعت شبانهروز و هفت روز کاری تحت نظارت قرار میگیرد. در نتیجه تیم فناوری اطلاعات میتواند در صورت بروز مشکل روی سرور به سرعت موضوع را بررسی کند. به واسطه آنکه حمله منع سرویس انکار شده به سرعت پهنای باند شما را مصرف میکند، زمان پینگ ممکن است بیش از اندازه طولانی شود. در این حالت سرویسهای فوق قادر هستند هشداری را برای تیم شما ارسال کرده تا به سرعت تدابیر امنیتی فنی را برای حل مشکل اعمال کنند.
استفاده از فرمان netstat برای تشخیص حمله منع سرویس توزیع شده
راهکارهای مختلفی برای شناسایی یک حمله منع سرویس انکار شده وجود دارد. بهطور مثال میتوانید از Wireshark استفاده کرده و بستههای SYN را مورد بررسی قرار دهید. اما از طریق فرمان netstat که روی پلتفرمهای مختلف قابل استفاده است میتوانید به شناسایی این موضوع بپردازید.
برای استفاده از دستورات netstat می توانید به پست دستورات netstat مراجعه نمایید.