۱. سیستم های تشخیص نفوذ مبتنی بر شبکه عصبی هوشمند

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

شبکه های عصبی یکی از روش های متداولی بوده است که به منظور توسعه یک سیستم تشخیص نفوذ هوشمند مورد مطالعه واقع شده است. روش هایی که مبتنی بر شبکه عصبی هستند به صورت زیر دسته بندی می شوند:

· سیستم های تشخیص نفوذ مبتنی بر شبکه عصبی که از منطق فازی تبعیت می کنند: این دسته از روش ها متشکل از یک خوشه بند فازی و شبکه عصبی می باشد. دو دلیل اصلی برای توسعه این سیستم ها ارایه شده است: [1]

  1. افزایش دقت سیستم برای تشخیص حملات با تکرار کم

  2. بهبود پایداری سیستم

به عنوان مثال تقسیم داده های اموزشی به دسته های کوچک تر متقارن توسط خوشه بند فازی و سپس اموزش شبکه عصبی به صورت مجزا بر روی هر کدام از این مجموعه داده ها

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

    فلوچارت پردازشی الگوریتم ژنتیک

مراحل پردازشی الگوریتم ژنتیک به شرح زیر می باشد :

  1. در ابتدا یک جمعیت اولیه تصادفی تولید می گردد. هر کدام از اعضای این جمعیت حاوی یک جواب برای حل مساله می باشند.

  2. در این مرحله جواب ها ارزیابی می شوند. ارزیابی جواب ها توسط تابع هدف انجام می گیرد. تابع هدف با توجه به چالش مورد مطالعه که می تواند بازدهی, امنیت و عامل های دیگر در سیستم باشد به جواب ها مقادیری را تخصیص دهد. این مقادیر نشان می دهند که به چه میزان جواب ها به هدف مورد نظر نزدیک هستند

  3. عمل کراس اور

  4. عمل mutation

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

۲. سیستم تشخیص نفوذ پیشنهادی

در این پروژه قصد داریم که با ارایه یک سیستم تشخیص نفوذ بهبود یافته زمان پردازشی که صرف یافتن نفوذ ها می شود را کاهش دهیم. مدل پیشنهادی از سه بخش تشکیل شده است:

  1. ابتدا روش خوشه بندی فازی برای تولید زیر مجموعه های اموزشی مختلف مورد استفاده قرار می گیرد

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

  3. در نهایت ماژول ترکیب کننده فازی, که نتیجه نهایی را به عنوان خروجی نشان می دهد
    شکل زیر ساختار سیستم پیشنهادی را نشان می دهد.

    ساختار روش پیشنهادی

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

· دادگان موجود در یک خوشه یکجور باشند

· تجانس بین خوشه ها وجود داشته باشد. بدین معنی که داده های هر خوشه تا حد ممکن از داده های خوشه های دیگر تفاوت داشته باشد

از خوشه بند c-meansفازی در این بخش استفاده شده است. توابع هدف زیر در این بخش استفاده شده است:


مقدار m بیشتر از یک است. u درجه عضویت عنصر i ام در خوشه j ام. X یک داده مقدار دهی شده که d بعد دارد. C مرکز خوشه j ام است. مقدار u و c به صورت زیر بدست می اید:

مقدار دهی به این دو پارامتر انقدر تکرار می گردد تا شرط زیر پایدار گردد:

اپسیلون مقداری بین صفر و یک دارد و q نیز تعداد دفعات تکرار را نشان می دهد.

پس از اینکه داده های اموزش به چندین دسته تقسیم شدند, این داده ها برای اموزش چندین شبکه عصبی هوشمند مورد استفاده قرار می گیرد. ساختار این شبکه های عصبی feedforward است. شبکه های feedforward متشکل از چندین لایه می باشند. لایه اول شبکه مربوط به ورودی است. لایه نهایی نیز به خروجی تخصیص داده می شود. این نوع شبکه برای یادگیری نگاشت مقادیر ورودی به مقادیر خروجی به کار برده می شوند. نکته اساسی و مهم در این نوع شبکه ها انتخاب پارامترهایی است که با توجه به ان عمل نگاشت صورت می گیرد. این عامل تاثیر بسزایی بر زمان یادگیری و بازدهی شبکه عصبی دارد. به همین دلیل در ابتدا شبکه عصبی و الگوریتم ژنتیک به صورت تعاملی به دنبال پارامترهای مناسب برای اموزش می باشند. نحوه کدینگ کروموزوم ها به صورت [L1,R1] است. L1 مشخص کننده محدودگر سمت چپ و R1 نیز مشخص کننده محدودگر سمت راست است. تابع ارزیاب کروموزوم ها زمان پردازشی است که با ان شبکه اموزش داده می شود. از کراس اور و mutation نیز برای ایجاد واگرایی در جواب ها استفاده شده است. پس از انکه تعداد نسل های یادگیری الگوریتم ژنتیک به پایان رسید محدوده پارامترهای مناسب که برای اموزش شبکه باید مورد استفاده قرار گیرد مشخص می شود.

· داده های تست به شبکه های اموزش دیده داده می شوند. هر شبکه خروجی خود را ایجاد می کند.

· در مرحله اخر نیز جواب های هر شبکه عصبی که با داده های مختلف اموزش دیده اند با یکدیگر ترکیب می گردد تا تنیجه نهایی حاصل شود

منابع
[1] Wang, Gang, et al. "A new approach to intrusion detection using Artificial Neural Networks and fuzzy clustering." Expert Systems with Applications 37.9 (2010): 6225-6232

سعید عادل مهربان

سلام، خسته نباشید.
ضمن تشکّر از زحمات شما در این فاز، رعایت نکات زیر باعث بهتر شدن کار شما می‌شه و در ارزیابی مرحلهٔ بعد تأثیرگذاره:

  • مقدّمهٔ خیلی کوتاهی دارید. توضیح بیشتری برای انتخاب شبکه عصبی و الگوریتم ژنتیک در تشخیص نفوذ لازم بود. ضمن اینکه خود مسئلهٔ نفوذ و تشخیص نفوذ هم می‌تونست مفصّل‌تر بیان بشه.

  • کارهایی که مطالعه کردید کم بودن. حدّاقل یک کار دیگه در این زمینه رو مطالعه می‌کردید که چیزی برای مقایسه کردن وجود داشته باشه.

  • قسمت نتایج و تحلیل نتایج رو ندارید و این تقریباً بخش مهم کار محسوب می‌شه.

  • کلمات انگلیسی مثل جهش رو ترجمه کنید؛ در صورتی که مثل فیدفروارد نمی‌تونید ترجمهٔ مناسبی پیدا کنید، کلمه رو با رسم‌الخط فارسی بنویسید.

  • برخی از پارامترهای فرمول رو توضیح ندادید.

  • ارجاعی به منابع قابل مشاهده نیست. واقعاً به جز یک منبع از کار دیگه‌ای استفاده نکردید؟