پروژه متلب تشخیص نفوذ IDS با الگوریتم ماشین بردار پشتیبان SVM و BPSO

250,000 تومان

توضیحات

پروژه متلب تشخیص نفوذ IDS با الگوریتم ماشین بردار پشتیبان SVM و BPSO

سیستم تشخیص نفوذ(IDS) در تحلیل و آنالیز داده های ترافیکی خیلی بزرگ استفاده می شود. لذا یک تکنیک دسته بندی کارآمد لازم است برای این مسئله استفاده شود. در این پروژه از تکنیک های قدرتمندی مانند SVM، الگوریتم جنگل تصادفی و ماشین یادگیری حداکثری (ELM) استفاده شده است. این تکنیک ها به دلیل توانمندی خود در دسته بندی داده ها، شناخته شده هستند. در این پروژه از الگوریتم SVM و BPSO در تشخیص نفوذ IDS استفاده شده است.

بطورکلی سیستم های تشخیص نفوذ به دو روش تقسیم بندی می شوند: 1- تشخیص مبتنی بر الگو (Misuse)، و 2- تشخیص مبتنی بر ناهنجاری(anomaly).

روش تشخیص ناهنجاری این مزیت را نسبت به روش تشخیص مبتنی بر الگو دارد که می تواند حملات ناشناخته را نیز شناسایی کند. روش مبتنی بر الگو نیازمند یادگیری الگوی کاربر معمولی جهت تشخیص آن از الگوی رفتاری حمله کنندگان و نفوذگران است. این امر نیازمند داده های نمونه رفتاری هریک از این دو گروه است. با تشخیص به موقع اقدامات انجام گرفته در راستای نفوذ به سامانه می توان امیدوار بود که امنیت تاحدودی در شبکه برقرار گردد. جهت دستیابی به این هدف هریک از ابزارهایی که می تواند مورد استفاده قرارگیرد داده کاوی است.

پایگاه داده KDD:

از سال 1999 داده های KDD به عنوان یکی از پرکاربردترین مجموعه داده های پیشنهادی جهت ارزیابی           روش­های مختلف تشخیص ناهنجاری مورد استفاده بوده است. این مجموعه داده توسط استولفو و همکاران براساس داده های برنامه ارزیابی تشخیص نفوذ DARPA98 تولید شده است. DARPA98 حاوی 4 GB اطلاعات خام هفت هفته ترافیک شبکه است. اطلاعات دو هفته آن نزدیک به دو میلیون رکورد ارتباطی را شامل می شود. داده های آزمون KDD CUP99 در مجموعه حاوی 311027 رکورد اطلاعاتی است که تعداد 60591 رکورد آن نمایش دهندة فعالیت نرمال و تعداد 250436 رکورد حمله را شامل می گردد. هر رکورد از داده ها شامل 41 ویژگی هستند و هر ردیف در ستون 42 دارای برچسب مشخص کننده نرمال یا حمله هستند. درواقع هر رفتاری غیر از نرمال به عنوان نوع خاصی از حمله برچسب گذاری شده است. کلاس های حمله موجود در KDD CUP99 به چهار گروه تقسیم شده است:

1- محرومیت از سرویس(DOS): نوعی از حمله را شامل می شود که منابع قربانی را با انجام برخی رایانش­ها و یا اشتغال نمودن منابع حافظه به حدی درگیر می نماید که مانع از سرویس دهی به درخواست های قانونی قربانی می گردد. حملات محرومیت از سرویس شامل Land، Pod، Smurf، Back، Neptune، و Teardrop است.

2- کاوش(Probing): در این حالت مهاجم اقدام به جمع آوری اطلاعاتی از راه دور در رابطه با شبکه می نماید تا هدف مورد نظر که دورزدن اقدامات امنیتی است ممکن گردد. کاوش شامل حملات Nmap، Satan، Portsweep، و Ipsweep است.

3-دسترسی غیرمجاز کاربر محلی به مدیر(U2R): نوعی از حمله را شامل می شود که مهاجم به وسیله یک حساب کاربری عادی به سامانه قربانی واردشده و با استفاده از یک سری آسیب پذیری ها تلاش می نماید تا دسترسی مدیر را بدست آورد. U2R شامل حملات Rootkit، Loadmodule، Buffer_و Perl است.

4- دسترسی غیرمجاز از یک ماشین از راه دور(R2L): مهاجم به یک ماشین از راه دور نفوذ نموده و دسترسی محلی به ماشین قربانی پیدا می کند. R2L شامل حملات Multishop، Warzclient، Spy، Warezmaster، Guess_Password، Imap، ftp_write، و Phf است.

مراحل تحقیق

مرحله اول: پیش پردازش(Pre-Processing)

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

مرحله دوم: مرحله دسته بندی

دسته بندی یک فعالیت به صورت نرمال یا حمله، عملکرد اصلی و محوری یک سیستم تشخیص نفوذ است که به عنوان موتور آنالیز نفوذ شناخته شده است. بنابراین دسته بندهای مختلفی به عنوان موتورهای آنالیز نفوذ در تشخیص نفوذ به کاربرده شده اند که از جمله آنها می توان به پرسپترون چندلایه(MLP)، ماشین بردار پشتیبان(SVM) و نایو بیز، اشاره نمود. بااینحال در این پروژه سه دسته بند مختلف SVM، جنگل تصادفی( RF)، و ماشین یادگیری حداکثر( ELM ) براساس قابلیت اثبات شده شان در مسائل دسته بندی انتخاب شده اند.

ماشین بردار پشتیبان:

ماشین بردار پشتیبان یک روش طبقه بندی با نظارت برمبنای نظریه یادگیری آماری است. ایده اصلی یافتن یک ابرصفحه(hyperplane) به عنوان سطح تصمیم گیری به گونه ای که حاشیه بین دو کلاس بیشینه باشد. درصورتیکه داده ها به صورت خطی قابل جداشدن نباشند، داده ها با کرنلی غیرخطی به فضای با ابعاد بالاتر منتقل می­شود و ابرصفحه بهینه تعیین می شود. الگوریتم پایه ماشین های بردار ماشتیبان برای طبقه بندی باینری توسعه داده شده است. ماشین های بردار پشتیبان برای مسائل طبقه بندی دوکلاسه استفاده شده اند و بر روی وظایف طبقه بندی داده های خطی و غیرخطی قابلیت کاربرد دارند. ماشین های بردار پشتیبان(SVM) یک ابرصفحه یا چندین ابرصفحه در یک فضای ابعادی بالا ایجاد می کند و بهترین ابرصفحه در آنها، ابرصفحه ای است که به صورت بهینه داده ها را به کلاس های مختلف با بزرگترین جدایش میان کلاس ها تقسیم می کند. یک طبقه بند غیرخطی از توابع کرنل مختلف برای تخمین حاشیه ها استفاده می کند. هدف اصلی این توابع کرنل(یعنی خطی، چندجمله ای، پایه شعاعی و سیگموئید) به حداکثر رساندن حاشیه ها میان ابرصفحه ها است.

در شکل زیر معماری مدل طبقه بندی ماشین بردار پشتیبان(SVM) در سیستم تشخیص نفوذ پیشنهادی نشان داده شده است. از کرنل تابع پایه شعاعی(RBF) برای پیاده سازی مدل SVM در سیستم پیشنهادی استفاده شده است. تابع کرنل از فاصله اقلیدسی مربعی بین دو بردار شمارشی استفاده می کند و داده های ورودی را بر روی یک فضای چندبعدی برای تفکیک بهینه داده های مشخص به کلاس های حمله مربوطه شان، نگاشت می­کند. بنابراین کرنل RBF در تفکیک مجموعه داده­ ها اهمیت ویژه ای دارد که مرزهای پییچده را به اشتراک می­گذارد.

در این تحقیق از معیارهای زیر برای تشخیص نفوذ استفاده شده است:

1-دقت (Accuracy): تعداد کلی پیش بینی صحیح، است که شامل مجموع مثبت واقعی(TP)+ منفی واقعی(TN) تقسیم بر تعداد کلی مثبت دیتاست(P)+ منفی(N) می باشد.

صحت(Precision): به صورت تعداد پیش بینی های مثبت صحیح(TP) تقسیم بر تعداد کلی پیش بینی های مثبت(TP+FP) محاسبه می شود.

فراخوانی(Recall): به صورت تعداد پیش بینی های مثبت صحیح(TP) تقسیم بر تعداد کلی مثبت ها(P) محاسبه می شود.

سیستم تشخیص نفوذ(IDS) است. این سیستم IDS سیستمی هوشمند بوده که بسته های شبکه را برای شناسایی رفتار ناهنجار نظارت و رصد می کند. همچنین بسته های شبکه شامل ویژگی های بسیاری بوده و بسیاری از ویژگی ها غیرمرتبط و تکراری هستند که عملکرد سیستم IDS را پایین آورده و منابع سیستم را پایمال می کنند. یکی از تکنیک های انتخاب ویژگی به کاهش زمان محاسبات و پیچیدگی با انتخاب زیرمجموعه بهینه از ویژگی ها کمک می کند. در این پروژه یک مدل IDS مبتنی بر ناهنجاری براساس الگوریتم بهینه سازی BPSO پیشنهاد شد. الگوریتم BPSO به عنوان یک مکانیزم انتخاب ویژگی برای شناسایی مناسبترین و مرتبط ترین ویژگی ها از دیتاست بکارگرفته شده است که در دقت بالای طبقه بندی نقش دارد. به علاوه، ماشین بردار پشتیبان(SVM) برای تخمین ظرفیت ویژگی های انتخابی در پیش بینی دقیق وظایف استفاده شد