بخشی از مقاله
چکیده
سیستم تشخیص نفوذ به عنوان بخش مهمی از سیستم دفاعی در شبکههای کامپیوتری به شمار میآید که برای شناسایی فعالیتهای غیر طبیعی سیستم کامپیوتری به کار میرود. در این مقاله ما به معرفی روشی برای طراحی سیستمهای تشخیص نفوذ بر اساس شبکههای عصبی- فازی خواهیم پرداخت. در طرح پیشنهادی ابتدا ویژگیهایی که در آموزش شبکهی موردنظر تاثیر بیشتری دارند انتخاب شده و سپس برپایهی شبکههای عصبی- فازی مدلهای موردنظر برای تشخیص حملات مختلف آموزش داده میشوند. ساختار روش پیشنهادی دو ویژگی بارز دارد که آن را از پیاده سازیهای قبلی متمایز میسازد. اولین مسئله ایجاد چندین مدل برای تشخیص انواع حملات بطور جداگانه است و دیگری انتخاب ویژگیهای موثر در تشخیص آن نوع حمله و آموزش مدل مورد نظر بر اساس آن ویژگیها است. با توجه به پیاده سازی روش فوق و مقایسه آن با برخی پیاده سازیهای قبلی، نشان داده میشود که دقت روش پیشنهادی در تشخیص نفوذ و تعیین نوع حملات بهتر از دیگر روشها میباشد.
کلمات کلیدی: سیستم تشخیص نفوذ، شبکههای عصبی، منطق فازی، سیستم استنتاج عصبی فازی، انتخاب ویژگی
-1 مقدمه
در طول چند سال گذشته، تعداد نفوذها در شبکههای کامپیوتری به صورت گسترده ای افزایش یافته است، و بسیاری از ابزارهای هک جدید و روشهای نفوذی ظاهر شدهاند. استفاده از یک سیستم تشخیص نفوذ - IDS1 - یکی از راههای مقابله با فعالیتهای مشکوک در یک شبکه است .[17]روشهای یادگیری ماشین، تواناییهای خود را در سیستمتشخیص نفوذ نشان دادهاند، و منافع مستمری در استفاده از آنها در سی ستمهای مختلف به د ست آمده ا ست 20]و17و9و.[2 منطق فازی به عنوان یک روش هوش م صنوعی قوی به صورت موفقیتآمیزی برای بسیاری از سیستمهای تشخیص نفوذ به کار گرفته شده است 8-9]و4و.[1-2
اکثر سی ستمهای فازی از دانش ان سانی برای ایجاد قوانین فازی خود ا ستفاده میکنند، به همین دلیل سازگاری کمتری دارند .[17] علاوه بر این، استخراج قوانین فازی از دانش کارشناسانمعمولاً کار دشواری است. بنابراین، ساخت سی ستمهای فازی با قابلیت یادگیری و سازگاریاخیراً توجه زیادی به سمت خود جلب کرده ا ست .[12] روشهای مختلفی برای تولید خودکار و تنظیم قوانین فازی بدون استفاده از کمک کارشناسان انسانی پیشنهاد شده است. عصبی فازی 15]و[12 و ژنتیکی فازی 14]و[11 دو روش بسیار موفق در این زمینه بودهاند.از نقطه نظر این دیدگاه، کار اصلی سیستم تشخیص نفوذ ساخت یک سیستم طبقهبندی است که میتواند دادههای طبیعی و غیرطبیعی یک مجموعه داده اصلی را طبقه بندی کند. شبکهی عصبی فازی - ANFIS2 - میتواند تخصص انسانی را در جهت سازگاری خود از طریق آموزش و تکرار ترکیب کند.[12]
به منظور مقایسه روشهای مختلف در حوزه IDS، آزمایشگاه لینکلن در MIT، تحت حمایت آژانس پروژه تحقیقاتی پیشرفته دفاعی - DARPA - و آزمایشگاه تحقیقات نیروی هوایی - AFRL / SNHS - ، ساخته شده است و برای اولین بار یک مجموعه دادهی استاندارد برای ارزیابی سیستمهای تشخیص نفوذ در شبکههای کامپیوتری ارائه کرده است .[3]در پنجمین کنفرانس بین المللی ACM SIGKDD که در حوزه ک شف دانش و داده کاوی برگزار شد، DARPA با ثبت دادههای TCP، یک مجموعه دادهی آموزش و آزمون را براساس ویژگیها و سوابق اتصالی، ایجاد و معرفی نمود، که ما آن را با عنوان مجموعه داده KDD cup 99 میشناسیم [13] و از آن برای آزمایشهای خود استفاده خواهیم کرد.
سیستم تشخیص نفوذ به عنوان یک طبقه بند به طور عمده از دو فرایند اصلی تشکیل می شود. ابتدا آموزش طبقه بندی که به وسیله مجموعه دادههای آموزشی انجام میشود و سپس با استفاده از این طبقه بندی به دسته بندی مجموعه داده آزمون میپردازیم. بدینوسیله، ما از ساختار طبقه بندی عصبی فازی بر اساس مجموعه داده KDD cup 99 برای تشخیص نفوذ در شبکههای کامپیوتری استفاده خواهیم کرد.ادامه مقاله به این شرح سازماندهی خواهد شد: در بخش 2 به صورت مخت صر کارهای انجام شده در این زمینه معرفی می شوند. سپس در بخش 3 مجموعه داده KDD cup 99 را توصیف میکنیم که در آزمایشهای خود از آن استفاده خواهیم کرد. در بخش 4 به طور خلا صه به ت شریح ا صول و مفاهیم شبکه ع صبی فازی خواهیم پرداخت. سی ستم پی شنهادی و نتایج تجربی به ترتیب در بخشهای 5 و 6 بحث خواهند شد. در نهایت، در بخش 7 نتیجه گیری کلی ارائه میشود.
-2 کارهای مرتبط
در این بخش به بررسی برخی کارهای انجام شده در زمینه سیستمهای تشخیص نفوذ خواهیم پرداخت. کارهایی که در این حوزه انجام شده است، بسیار وسیع هستند و ما در این بخش فقط بخش کوچکی از این حوزه را بررسی میکنیم.فاراون و همکارانش یک ساختار مبتنی بر شبکههای ع صبی چندلایه ارائه کردند [7] که از مکانیزم یادگیری پسانت شار3 استفاده میکند. همچنین برای افزایش قابلیت یادگیری و کاهش زمان آموزش مدل موردنظر از روش K-means استفاده کردند. در واقع ابتدا توسط روش K-means نمونههای موجود در پایگاه داده کاهش داده میشوند و یک مجموعهی بهینه از این نمونهها استخراج میشود، سپس مدل موردنظر با استفاده از این مجموعهی کاهش یافته آموزش میبیند.
ژانگ و همکارانش سیستم تشخیص نفوذ مبتنی بر SVM را طراحی کردند [19] که برای بهبود عملکرد این ساختار و رفع مشکل بزرگی پایگاه داده، الگوریتم انتخاب ویژگی Fisher score را بکار بردند. با ترکیب الگوریتم Fisher score و SVM یک ساختار بهبود یافته بهوجود میآید که ابعاد مربوط به فضای ویژگیها را بطور قابل توجهی کاهش میدهد.راوی رانجان و همکارانش برای بهبود سیستم تشخیص نفوذ ساختاری را ارئه کردند [16] که برپایهی روش K-means کار میکند. آنها برای بهتر کردن عملکرد روش K-means و افزایش دقت ساختار پیشنهادی یک طرح خوشهبندی جدید ارائه کردند که از الگوریتم K-medoids و نسخهی تغییریافتهی این الگوریتم استفاده میکند.
این الگوریتم بدانجهت که از مقاومت بالایی در برابر نویز برخوردار است، نسبت به K-means کارآیی بهتری دارد.مشتاق حسن یک سیستم تشخیص نفوذ جدید برپایهی الگوریتم ژنتیک و منطق فازی طراحی کرد [10] که با استفاده از ترکیب منطق فازی با الگوریتم ژنتیک قانونهای لازم برای استنتاج در منطق فازی را بهبود بخشید. او در این ساختار از 23 گروه برای آموزش سی ستم ت شخیص نفوذ ا ستفاده کرد که 22 گروه برای حملات مختلف و یک گروه برای حالت عادی درنظر گرفت.آدریانا کری ستانا و همکارانش ن سخهی بهبودیافتهای از سی ستم ت شخیص نفوذ برپایهی SVM ارائه کردند [6] که در این ساختار برای بهبود کارآیی SVM از الگوریتم هوش Swarm4 استفاده میشود.
درواقع الگوریتم Swarm در انتخاب پارامترهای مربوط به SVM به کار میرود. همچنین آنها برای افزایش سرعت ساختار پیشنهادی از طرح انتخاب ویژگیها استفاده کردند که بر پایهی روش IG انجام میشود.امین عینیپور سی ستم ت شخیص نفوذ هو شمندی را برپایهی منطقفازی طراحی کرد [5] که در این سی ستم از الگوریتم PSO برای بهبود قوانین فازی استفاده میشود. دلیل استفاده از الگوریتم PSO سرعت همگرایی این الگوریتم است که در مقایسه با سایر سایر الگوریتمهای بهینهسازی شناختهشده مانند الگوریتم ژنتیک عملکرد مناسبی دارد.
-3 مجموعه داده KDD cup 99
برای مجموعه داده KDD cup 99 شامل مجموعهای از دادهها است که بر اساس 41 ویژگی مشتق شده برای هر اتصال و همچنین یک برچسب برای آن اتصال است که وضعیت اتصال را بر اساس دو نوع عادی و حمله خاصی مشخص میکند. این ویژگیها به صورت پیو سته، گ س سته و یا نمادین ه ستند که در محدودههای متفاوتی قرار دارند و در چهار د سته طبقهبندی میشوند :[14]
·ویژگیهای ذاتی یک ات صال شامل ویژگیهای ا سا سی یک ات صال TCP ا ست. به عنوان مثال، مدت زمان اتصال، نوع پروتکل TCP - ، UDP، و ... - ، خدمات شبکه HTTP - ، شبکه راه دور و ... - و ... .
·ویژگی محتوایی در اتصال به منظور ارزیابی بستههای TCP اصلی استفاده می شود، به عنوان مثال، تعداد ورودهایی که ناموفق بودهاند.
·ویژگیهای میزبانی یکسان مربوط به بررسی اتصالات در دو ثانیه گذشته است که در اتصال فعلی مقصد یکسانی دارند، و محاسبه آمار مربوط به رفتار پروتکل، خدمات، و غیره.