بخشی از مقاله

چکیده

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

1 مقدمه

امروزه شبکههای کامپیوتری به بخشی جداناپذیر زندگی بشری تبدیل شدهاند. شبکه های کامپیوتری فقط به کامپیوترها محدود نبوده و شامل گوشیهای هوشمند، تبلتها و سایر ارتباطات شبکهای هم میشود. همچنان که استفاده از شبکههای کامپیوتری فراگیرتر میشود، میزان حملات به آنها نیز افزایش یافته و بنابراین توجه به امنیت ضروریتر میشود.نفوذ یکی از اقدامات مهاجمان برای خدشه در امنیت شبکههای کامپیوتری است. نفوذ عبارت است از - 1 - دسترسی به اطلاعات بدون تغییری در آنها، - 2 - تغییر یا دستکاری اطلاعات و - 3 - از دسترس خارج شدن سیستم - شبکه - . به طور خلاصه به هر اقدامی که پارامترهای یک شبکه امن را نقض کند نفوذ گفته میشود6,1]و.[7 یک سیستم تشخیص نفوذ3 نرم افزاری است با یک تابع محاسباتی آشکارساز که فعالیتهای غیرطبیعی4 و مضررا تشخیص و به بخش تعریف شدهای از شبکه گزارش میکند15]و.[20 در این سیستمها، تشخیص به سه دسته کلی الف- ناهنجاری5، ب- سوءاستفاده6 و ج- ترکیبی از سوءاستفاده و ناهنجاری تقسیم می شود.

در تشخیص ناهنجارییک پایگاه داده از رفتارهای مجاز وجود داشته و هر اقدامی که مطابق این پایگاه-داده نباشد کاندیدای رفتاری مضر و مخرب است. اما در تشخیص سوءاستفاده ابتدا الگویی از رفتارهای غیرطبیعی تشکیل شده و رفتارهای آینده براساس این الگو طبقه بندی میشوند5]و10و11و.[15برای پوشش امنیت شبکه های کامپیوتری روشهایی از دیرباز مطرح شدهاندکه به دو دسته روشهای قدیمی و نوین تقسیم میشوند. روش هایی مانند دیواره آتش1، تایید هویت کاربر2، رمزگذاری دادهها3، کنترل جریان دسترسی4 و ... از جمله روشهایی هستند که در دستهبندی قدیم ارزیابی میشوند.

اما این روشها هر کدام به دلایلی در برخی حملات کارایی کارایی لازم را ندارند5]و10و11و15و20 و.[24بنابراین بسیاری از تحقیقات بر استفاده از روش های نوینی همچون استفاده از روشهای مبتنی بر هوش مصنوعی5 متمرکز شدهاند. در بعضی از تحقیقات از شبکههای عصبیپرسپترون چند لایه9]6و12و[25، شبکههای عصبی شعاع مبنا9]7و[18به عنوان IDSاستفاده شده است . همچنین برخی پژوهشها از ماشینهای بردار پشتیبان 2]8و13و[17، درخت تصمیم16]9و[21 تصمیم16]9و[21 و یا ترکیبی از چند روش هوشمند3]و16و[23 استفاده کردهاند.شبکههای عصبی مصنوعی به عنوان یک یادگیرنده قوی مسائلی سخت در علوم مختلف را با دقتی خوب حل کرده است. با این وجود یکی از ضعفهای این روشها افتادن در بهینه محلی است.

این مشکل ناشی از الگوریتم یادگیری آنهاست که مبتنی بر کاهش شیب10 عمل میکند. در فرآیند یادگیری یک شبکه عصبی الگوریتم یادگیری تلاش دارد با تنظیم مقادیر وزنهاو بایاسهاعملکرد شبکه عصبی بهتر شود.به بیان دیگر آموزش یک شبکه عصبی تبدیل به یک مسئله بهینه سازی میشود و برای حل آن بسیاری از روشهای بهینه سازی هوشمند آزمایش شدهاند.به طور نمونه الگوریتم ژنتیک[8]11، الگوریتمجستجوی گرانشی[8]12، بهینهسازی ازدحام ذرات[22]13 و تکامل تفاضلی[19]14 برای آموزش شبکههای عصبی در حوزه تشخیص نفوذ مورد استفاده قرار گرفتهاند.

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

2 کلیات تحقیق

1.2 شبکههای عصبی پرسپترون چند لایه - MLP -

MLP یک از انواع شبکههای عصبی است که در بسیاری از مسائلی که راهحلهای کلاسیک آنها با خطاهای زیادی همراه است پاسخهای قابل قبولی ارائه میکند و بنابراین یکی از شبکههای عصبی بسیار پرکاربرد است. معماری این شبکه به صورت پیشخور1بوده و اغلب اغلب از روشهای مبتنی بر کاهش شیب - GD - برای آموزش آن استفاده میشود. معماری پیشخور MLP در حالت کلی دارای سه واحد ورودی، میانی و خروجی است. واحد ورودی که ورودیهای مسئله به آن اعمال میشود بر اساس مسئله تعریف خواهد شد بهطوری که تعداد نرونهای آن به تعداد ورودیهای مسئله بستگی دارد. به همین صورت واحد خروجی هم مطابق با خروجی مسئله تنظیم شده و تعداد نرونهای آن مساوی با تعداد خروجیهای مسئله است. اما تعداد نرونهای واحد میانی یکی از پارامترهای آزاد MLP است که باید تنظیم شود.

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

2.2 الگوریتم رقابت استعماری - ICA -

الگوریتم رقابت استعماری ICA یکی از الگوریتمهای بهینه سازی مبتنی بر جمعیت است که از رفتار سیاسی اجتماعی انسانها در جوامع مختلف الهام گرفته شده است. ذرات مورد استفاده در ICA کشور نام دارند و معادل کروموزم در GA و یا ذره در PSO عمل کرده و جوابهای مسئله را نام کشور کد میکند.ICA برای حل یک مسئله بهینهسازی به طولnبه طور تصادفی کشورهایی با همین طول به عنوان جواب اولیه تشکیل میدهد. این جوابها امپراطوری اولیه را تشکیل میدهند.

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

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید