چکیده

امنیت شبکه یک نگرانی جدی جهانی است. سودمندی سیستم های تشخیص نفوذ در تحقیقات روی امنیت اطلاعات با استفاده از تکنیکهای محاسبات نرم به سرعت در حال افزایش است, اما این سیستم ها با داده های حجیم برای تحلیل مواجه هستند. بررسی مجموعه داده سیستمهای تشخیص نفوذ نشان میدهد که بسیاری از ویژگیها، ویژگیهای غیرمفید، بی تاثیر در سناریوهای حمله و یا ویژگیهای نامربوط هستند. بنابراین حذف ویژگیهای نامناسب از مجموعه ویژگی، به عنوان یک راهکار مناسب برای کاهش مجموعه داده سیستمهای تشخیص نفوذ معرفی میشود. مساله انتخاب زیرمجموعه ویژگیها، به مفهوم شناسایی و انتخاب یک زیرمجموعه مفید از ویژگیها از میان مجموعه داده اولیه میباشد. هدف این مقاله، بهبود دقت دسته بندی، افزایش نرخ تشخیص درست و کاهش نرخ هشدار غلط در سیستم های تشخیص نفود، با استفاده از رویکرد ترکیبی الگوریتم بهینه سازی فاخته برای کاهش ابعاد ویژگیهای مجموعه های داده ای و ماشین بردار پشتیبان میباشد. مدل ترکیبی ارائه شده، با استفاده از زیر مجموعه ای از مجموعه داده های NSL-KDD CUP99 آزمایش شده است. نتایج پیاده سازی هم نشان می دهد که دقت دسته بندی زیرمجموعه های بدست آمده، نتایج مطلوبی را در مقایسه با مجموعه داده اصلی و کارهای گذشته ایجاد کرده است.

کلمات کلیدی: کاهش ابعاد ویژگیها، انتخاب مجموعه ویژگیها، سیستم تشخیص نفوذ, ماشین بردار پشتیبان، الگوریتم بهینه سازی فاخته.

-۱ مقدمه

با گسترش روز افزون تبادل اطلاعات و استفاده از سیستم های برخط میزان حملات و نفوذ در سیستم های اطلاعاتی افزایش یافته است. به منظور جلوگیری از سوء استفاده از اطلاعات و رخنه در سیستم های حساس و مهم باید سیستم های مذکور امن شوند.برای ایجاد امنیت کامل در یک سیستم کامپیوتری، علاوه بر دیواره های آتش و دیگر تجهیزات جلوگیری از نفوذ، سیستمهای دیگری به نام سیستم های تشخیص نفوذ مورد نیاز می باشند تا بتوانند در صورتی که نفوذگر از دیواره ی آتش، آنتی ویروس و دیگرتجهیزات امنیتی عبور کرد و وارد سیستم شد، آن را تشخیص داده و چاره ای برای مقابله با آن بیاندیشند. متمایز کردن رفتارهای نفوذی و طبیعی کاربر باید در یک سیستم ردیابی حمله های نفوذی خوب انجام شود. تکنیک های ردیابی نفوذ می تواند در ردیابی سوء استفاده و ردیابی خلاف قاعده دسته بندی شود. ردیابی قاعده فعالیت هایی را به عنوان نفوذ تشخیص می دهد، که بطور قابل توجهی از الگوهای کاربردی نرمال سیستم منحرف گردیده اند. در صورتی که سیستم های ردیابی سوء استفاده ای از الگوهای نفوذ های شناخته شده استفاده میکند، تا علائم مشخصه یا الگوهای نفوذ مشخص را تعیین نماید. برای ردیابی سوء استفاده ای و خلاف قاعده ای بطور وسیع، از بعضی تکنیک های داده کاوی استفاده شده است.

۱

-۲ الگوریتم بهینه سازی فاخته ۱
الگوریتم بهینه سازی فاخته یکی از جدید ترین و قویترین روشهای بهینه سازی تکاملی می باشد که توانایی بیشتری در پیدا کردن نقاط بهینه سراسری دارد.[۱] این الگوریتم رفتار پرنده فاخته در لانه سازی و تخم گذاری را برای حل مسائل بهینه سازی شبیه سازی می کند. این الگوریتم همانند سایر الگوریتمهای تکاملی, با یک جمعیت اولیه کار خود را شروع می کند. جمعیتی متشکل از فاخته ها. این جمعیت از فاخته ها تعدادی تخم دارند که آنها را در لانه تعدادی پرنده ی میزبان خواهند گذاشت. تعدادی از این تخم ها که شباهت بیشتری به تخم های پرنده میزبان دارند شانس بیشتری برای رشد و تبدیل شدن به فاخته بالغ خواهند داشت. سایر تخم ها توسط پرنده میزبان شناسایی شده و از بین می روند. میزان تخم های رشد کرده مناسب بودن لانه های آن منطقه را نشان می دهند. هرچه تخمهای بیشتری در یک ناحیه قادر به زیست باشند و نجات یابند به همان اندازه سود (تمایل) بیشتری به آن منطقه اختصاص می یابد. بنابراین موقعیتی که در آن بیشترین تعداد تخمها نجات یابند پارامتری خواهد بود که COA قصد بهینه سازی آنرا دارد.

شکل ۱-۲ شبه کد الگوریتم بهینه سازی فاخته

-۳ ماشین بردار پشتیبان ۲
یکی از روش هایی که در حال حاضر به صورت گسترده برای مسئله دسته بندی مورد استفاده قرار می گیرد، روش ماشین بردار پشتیبان است.[۲] شاید به گونه ای بتوان محبوبیت کنونی روش ماشین بردار پشتیبان را با محبوبیت شبکه های عصبی در دهه گذشته مقایسه کرد. ماشین بردار پشتیبان یکی از روشهای یادگیری با نظارت است که از آن برای طبقهبندی و رگرسیون استفاده میکنند. این روش از جمله روشهاینسبتاً جدیدی است که در سالهای اخیر کارایی خوبی نسبت به روشهای قدیمیتر برای طبقهبندی از جمله شبکههای عصبی پرسپترون نشان داده است . مبنای کاری دستهبندی کننده SVM دستهبندی خطی دادهها است و در تقسیم خطی دادهها سعی میکنیم خطی را انتخاب کنیم که حاشیه اطمینان بیشتری داشته باشد . حل معادله پیدا کردن خط بهینه برای دادهها به وسیله روشهای برنامه نویسی چند جمله ای ۳ که روشهای شناخته شدهای در حل مسائل محدودیتدار هستند صورت میگیرد. SVM از یک تکنیک که kernel trick نامیده می شود، برای تبدیل داده های شما استفاده می کند و سپس بر اساس این تبدیل، مرز بهینه بین خروجی های ممکن را پیدا می کند. به عبارت ساده تبدیلات بسیار پیچیده را انجام می دهد، سپس مشخص می کند چگونه داده هایتان را بر اساس برچسب ها یا خروجی هایی که تعریف کرده اید، جدا کنید.

-۱-۳نحوه تشکیل ابرسطح جداکننده توسط ماشین بردار پشتیبان

در این بخش می خواهیم نحوه ساخت ابرسطح جداکننده را بر روی یک مثال با جزئیات شرح دهیم. تصویر دقیقی از نحوه تشکیل ابرسطح جداکننده توسط ماشین بردار پشتیبان در شکل زیر نشان داده شده است:

۱ Cuckoo optimization algorithm 2 Support vector machine 3 Quadratic Programming

۲

شکل-۱-۳نحوه ساخت ابرسطح جداکننده بین دو طبقه داده در فضای دو بعدی

ابتدا یک convex (پوسته محدب) در اطراف نقاط هر کدام از کلاسها در نظر بگیرید. در شکل ۲ در اطراف نقاط مربوط به کلاس و نقاط مربوط به کلاس پوسته محدب رسم شده است. خط P خطی است که نزدیکترین فاصله بین دو پوسته محدب را

نشان می دهد. h که در واقع همان ابرسطح جداکننده است، خطی است که P را از وسط نصف کرده و بر آن عمود است. b عرض از مبدا برای ابرسطح با حداکثر مرز جداکننده است. اگر b صرفنظر شود، پاسخ تنها ابرسطحهایی هستند که از مبدا میگذرند. فاصله عمودی ابرسطح تا مبدا با تقسیم قدرمطلق مقدار پارامترb برطول w بدست میآید.

-۲-۳ ماشین بردار پشتیبان چند گانه ۱

این نوع از ماشینها K کلاس مختلف در مرحله آموزش سیستم های تشخیص نفوذ میسازند. سه روش رایج این نوع از ماشینها در زیر معرفی شده اند :>3@

۱٫ : One-versus-rest این نوع از ماشینها از K ماشین دو کلاسه ساخته میشوند. i امین (L 1’2 ‘…’N) SVM با همه ی الگوهای آموزشی آموزش داده میشود. الگوهای i امین کلاس با ۱ و بقیه الگوها با -۱ برچسب گذاری میشوند. کلاس یک الگوی ناشناخته مانند x از استدلال max توسط یک تابع تصمیم, تعیین میشود. مرحله

آموزش و تست این روش بسیار آهسته است.
۲٫ : One-versus- One این روش از همه ی دسته بندهای SVM ممکن ساخته میشود. از k(k-1)/2 دسته بند ساخته میشود که هر کدام با ۲ کلاس آموزش داده میشوند. یک الگوریتم Max Wins در مرحله آزمون استفاده میشود. وقتی k افزایش میابد تعداد دسته بندها به صورت خطی افزایش میابد. این روش در مسائلی که تعداد کلاسها زیاد است کند عمل میکند.

۳٫ : Directed Acyclic Graph آموزش این روش مانند روش ۲ است. این روش از k-1 دسته بند دو کلاسه تشکیل شده است و برای تعیین کلاس الگوهای ناشناخته از ماشین بردار پشتیبان به صورت ساختار درختی استفاده میکند.

-۴پایگاه داده NSL-KDD

NSL-KDD به عنوان مجموعه جدیدی است که محتوی رکورد های انتخاب شده از مجموعه KDD است که از مشکلات و نقایص آن کاسته شده است.[۴] این مجموعه داده شامل ۴۱ ویژگی و ۵ کلاس است که یکی از آنها کلاس حالت طبیعی و بقیه کلاس حملات هستند. چهار گروه شناخته شده از حملات در این مجموعه داده وجود دارد که به شرح زیر است: