بخشی از مقاله
چکیده
ازآنجاییکه پیشگیری قطعی از رخداد حملات انکار سرویس توزیعشده* ممکن نیست تشخیص این حملات میتواند گام مهمی در جلوگیری از اختلال در سرویسهای ارائهشده باشد. در حملات انکار سرویس توزیعشده مهاجمان با ارسال بستههای مشابه بستههای نرمال، سعی در بالا بردن ترافیک ماشین قربانی دارند تا بهوسیله آن، شبکه سرویس کاربران ماشین قربانی را دچار اختلال نمایند.
در این پایاننامه روشی برای تشخیص حملات انکار سرویس توزیعشده با ترکیب الگوریتمهای Auto-encoder و K-means ارائهشده است و روش پیشنهادی بر روی نرمافزار Weka طراحی و پیادهسازی شده است. همچنین الگوریتم های ارائهشده در این پایاننامه ازنظر زمانی و دقت عملکرد بهبودیافته و قابلیت شناسایی حجم بالای ترافیک واقعی، بدون کاهش دقت عملکرد را دارد.
-1 مقدمه
امروزه گسترش روزافزون دانش کامپیوتر باعث پیشرفت جامعه بشری شده است. این پیشرفت در همه زمینهها صورت پذیرفته و یکی از شاخههایی که پیشرفت گستردهای پیداکرده، اینترنت و شبکههای کامپیوتری است. پیشرفت سریع اینترنت شرایط خوبی را برای بهبود وضع زندگی مردم سراسر جهان فراهم کرده تا بتوانند اطلاعات خود را به اشتراک بگذارند. همچنین فرصت دیگری که فراهمشده، استفاده مردم از خدمات و برنامههای کاربردی برخط است. این سرویسها و برنامههای برخط، خدمات مختلفی را به مردم ارائه میدهند. ازجمله این سرویسها میتوان به بانکداری الکترونیک و برنامههای برخط اشاره کرد.
حملات انکار سرویس امروزه یکی از بزرگترین تهدیدهای امنیتی شبکههای کامپیوتری بهویژه اینترنت محسوب میشوند. هدف از این حملات جلوگیری از دسترسی کاربران مجاز به منابع شبکه و اختلال در سرویسدهی شبکه است. انگیزه مهاجم از این حملات میتواند سیاسی، اقتصادی، انتقام، شخصی و یا خرابکاری باشد. به همین دلیل، سایتهای بانکی و بهابازار، درگاههای فروش محصولات و شبکههای اجتماعی بیشتر در معرض این نوع حملات قرار دارند. البته این حملات مختص سرویسدهندهها نمیباشند و حتی ممکن است حمله متوجه یک مسیریاب گذرگاه اصلی و شبکه اینترنت نیز باشد و کل شبکه را دچار مشکل نماید. انواع مختلفی از این حمله در لایههای مختلف شبکه قابل پیادهسازی هستند که نوع حمله و نحوه تأثیرگذاری آن با توجه به ویژگیهای هر لایه متفاوت است.
ازآنجاییکه حملات انکار سرویس بسیار سریع عمل کرده و در زمان بسیار کمی حجم ترافیک بسیار بالا میرود اگر عمل تشخیص بهموقع انجام نشود ممکن است بعد از تشخیص توانایی مقابله با حمله وجود نداشته باشد به عبارتی سیستم وقتی متوجه حمله انکار سرویس شود که حمله تأثیر موردنظر خود را گذاشته و برای مقابله با آن دیر شده است بنابراین باید دقت کرد که لایههای دفاعی را قبلتر از سرویسدهنده موردنظر قرارداد برای مثال اگر بتوان حمله را در یک مسیریاب تشخیص داد میتوان عمل مقابله با آن را در آن مسیریاب و یا حتی قبلتر از آن انجام داد و سرویسدهنده با استفاده از مسیریابهای دیگر تعبیهشده به کار خود ادامه دهد این مسئله اهمیت تشخیص حمله منع سرویس در لایههای پایینتر شبکه بهخصوص لایه شبکه و لایه پیوند داده بیشاز پیش روشن میشود. تشخیص حمله در لایههای بالاتر مانند لایه کاربرد نیازمند بررسی محتویات بستهها در یک سرویسگیرنده است که نیازمند صرف منابع مختلف و زمان است.
همواره ارائه روشی پیشگیرانه برای تشخیص حملات انکار سرویس توزیعشده یکی از اهداف تحقیقات بوده است. ارائه چنین روشی بدون در نظر گرفتن الگوی دادههایی که در شبکه موجود است غیرممکن است. همچنین روشی که با کمترین میزان محاسبات بتواند وجود داده غیرعادی در دادههای ورودی به شبکه را تشخیص دهد، احساس میشود. موضوع کم بودن میزان محاسبات و دقت یکی از مهمترین موضوعات است .
علت تأکید روی کم بودن میزان محاسبات، داشتن قابلیت پیادهسازی برای روش است. درواقع اگر روشی که ارائه میشود دارای میزان محاسبات کمی باشد میتوان از آن برای استفاده در سامانههای واقعی استفاده کرد .چون در حالتهای واقعی اگر حملهای صورت گیرد، کم بودن میزان محاسبات برای تشخیص حمله بسیار مورد اهمیت است.
با توجه به این موضوع، جلوگیری و تشخیص سریع این حملات از مهمترین مواردی است که باید موردتوجه قرار گیرد . همچنین پیدا کردن راهحلی برای جلوگیری و تشخیص این حملات توجه ویژهای رابین محققان به خود اختصاص داده است. به همین منظور روشهای مختلفی برای تشخیص این حملات معرفیشدهاند که ازنظر علمی بسیار موردتوجه هستند، ولی بسیاری از این روشها قابلیت پیادهسازی ندارند. علت نداشتن قابلیت پیادهسازی نیز زمانبر بودن و داشتن مشکلات درزمینهی مصرف منابع است. روش ارائهشده، ازنظر زمانی، مصرف منابع و دقت تشخیص بسیار خوب عمل کرده و در مقایسه با روشهای مشابه بهبودیافته است، بنابراین قابلیت پیادهسازی خوبی دارد.
در قسمت دوم به معرفی حملات انکار سرویس، پیشینه این حملات و انواع آن خواهیم پرداخت. در قسمت سوم روش پیشنهادی را مورد بررسی قرار خواهیم داد و در نهایت به نتیجهگیری و پیشنهادهای آتی خواهیم پرداخت.
-2 پیشینه تحقیق
روشهای مختلف برای کاهش اثرات حملات انکار سرویس در محیطهای مختلف ارائه شده و مورد بررسی قرارگرفتهاند. مؤلفان از شبکههای مصنوعی برای کشف حملات انکار سرویس استفاده کردهاند و خروجی تشخیص را با درخت تصمیمگیری ANN، آنتروپی و بیزی2 مقایسه کردهاند. مؤلفان درخواست یا تقاضای کاربران برای یک منبع خاص و دادههای ارتباطی آنها را تشخیص دادند، سپس نمونههای چنین درخواستهایی به دستگاههای کشف فرستاده شدند تا ازنظر غیرعادی بودن مورد قضاوت قرار گیرند
مؤلفان از کوانتیزگی3 بردار آموزش شبکههای عصبی برای کشف حملات استفاده کردند. این یک نسخه تحت نظارت از کوانتیزگی است که میتواند برای تشخیص الگو، طبقهبندی چند کلاسه4 و وظایف فشردهسازی دادهها استفاده شود. مجموعه دادههای مورد استفاده در آزمایش به صورت عددی تبدیل شدهاند و به عنوان ورودی برای شبکه عصبی در نظر گرفته شدهاند
مؤلفان یک طبقهبندی ترافیک حملات بر اساس شبکه عصبی احتمالاتی برای کشف حملات انکار سرویس مختلف استفاده کردهاند. بااین وجود، نویسندگان بر تفکیک رویداد هجوم ناگهانی حملات انکار سرویس متمرکز شدهاند. بهعنوان بخشی از تحقیقات خود، از قاعده تصمیمگیری بیز همراه با شبکه عصبی تابع پایه شعاعی5 برای طبقهبندی ترافیک حمله انکار سرویس و ترافیک عادی استفاده کردهاند
مؤلفان مجموعه واحد مشخصههای شبکه برای تشخیص حملات را تجربه کردند. آنها از مدل پرسپترون6 چندلایه به عنوان یک الگوریتم ترکیب دادهها استفاده کردهاند که در آن ورودیها معیارهایی هستند که از اندازهگیریهای مختلف غیرفعال که در شبکه در دسترس هستند میآیند و بنابراین با این ترافیک که توسط خود پژوهشگران ایجادشده است همراه میشوند
مؤلفان از یک شبکه عصبی برای کشف تعداد زامبیهایی که در حمله انکار سرویس درگیر شدهاند استفاده کردهاند. هدف آنها از این کار این است که رابطه بین زامبیها و آنتروپی نمونه مشخص شود. حجم کار پروژه بر اساس پیشبینی با استفاده از انتشار روبهجلو7 شبکه عصبی است .
مؤلفان از روشهای احراز هویت8 و رمزنگاری9 برای محافظت از خدمات شبکهها از حملات انکار سرویس استفاده کردهاند
یک روش مشابه ارائهشده است که در آن یک مکانیسم گیجکننده برای مبارزه با حمله انکار سرویس ارائه شده است. معماری آنها، کشف نقطه تغییر توزیعشده10 نامیده میشود که برای کاهش حملات انکار سرویس طراحیشده است. آنها الگوریتم غیر پارامتر - مجموع تجمعی - را برای توصیف هرگونه تغییر در ترافیک شبکه اقتباس کردهاند
بعضی از تحقیقات قبلی بر روی منبع حملات باهدف کشف آن متمرکزشدهاند. از مکانیسمهای علامتگذاری بستهها و آنتروپی برای شناسایی منبع بستهها استفاده کردهاند، با در نظر گرفتن اینکه هر بسته اطلاعاتی بر روی هر روتر که از آن عبور میکند علامتگذاری میشود
بعدازاینکه حمله انکار سرویس توزیعشده تشخیص داده شد، دستگاههای دفاعی باید منبع حمله را شناسایی کرده و ترافیک حمله را بلاک کنند. امروزه بیشتر مکانیسمهای پاسخدهی انکار سرویس توزیعشده نمیتوانند بهطور کامل مانع از وقوع حمله شده و یا حتی آن را متوقف کنند؛ بنابراین به حداقل رساندن حمله و به حداکثر رساندن دسترسپذیر بودن سرویسها تمرکز اصلی تمام مکانیسمهای بعد از وقوع است. بهعلاوه آژانسهایی بانفوذ کمتر باید با یکدیگر مشارکت و همکاری داشته تا بتوانند بهتر در برابر حملات ایستادگی کنند.
برای تمام ارائهدهندگان خدمات اینترنتی واجب است تا تجهیزات خود را در برابر حملات تقویت کنند؛ بنابراین بدون مشارکت نخواهند توانست در مورد تجهیزات همدیگر مطمئن باشند
بیشتر مکانیسمهای دفاعی بعد از وقوع حمله به دو گروه تقسیم میشوند:
• شناسایی منبع حمله: دسته اول پس از مکانیسمهای حمله مسئول شناسایی منبع حمله است. برای مثال، مهاجم از میزبان X برای راهاندازی حمله با نمایندگی آدرس منبع جعلی میزبان Y استفاده میکند، مکانیسم پیادهسازی IP باید آدرس منبع واقعی مهاجم را که host X است، پیدا کند. این کار را اگر راهی برای عبور همه روتر ها از x به قربانی وجود داشته باشد میتوان انجام داد.
• شروع یک پاسخ مناسب: دسته دوم پس از مکانیسمهای حمله مسئول آغاز پاسخ مناسب به حمله است. اکثر مکانیسمهای دفاع انکار سرویس توزیعشده، دامنه - محدودیت سرعت - و یا فیلتر کردن بسته در روترهای بالادست و میزبان برای ترافیک ناشی از جریانهای شناساییشده پس از شناسایی منبع حمله، اعمال می شود. بهعنوانمثال، فیلترینگ IP مبتنی بر تاریخ.
-3 روش پیشنهادی
در این پژوهش ما از الگوریتم Auto-encoder برای پیشپردازش مجموعه داده KDD استفاده خواهیم کرد و از الگوریتم K-means برای ایجاد مدل تشخیص حملات انکار سرویس توزیع شده استفاده خواهیم کرد و درنهایت آزمون مدل استخراج شده را با استفاده از معیارهای ارزیابی مشخص انجام خواهیم داد. شکل 1 مراحل روش پیشنهادی را انجام میدهد.