بخشی از مقاله

خلاصه

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

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

-1مقدمه

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

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

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

-2 کارهای مرتبط

در سال 2013، Shuxin ZHU و Bin Hu با ترکیب ویژگیهای نوع filter وwrapper ، یک نوع روش ترکیبی برای انتخاب ویژگی با استفاده از یک الگوریتم ژنتیک توسعهیافته شامل مکانیزم تنبیه و پاداش را پیشنهاد دادند. این مکانیزم میتواند همگرایی سریع این الگوریتم روی راهحل بهینهی کلی تقریبی را تضمین کند. بر طبق نتایج آزمایشی این الگوریتم بسیار خوب عمل میکند و پیچیدگی زمانی آن کم است اما عیبی که دارد این است که روند کار شکل سادهای ندارد.[3]Shingo Mabu و همکارانش در سال 2011 یک روش جدید کلاسبندی مجموعه قوانین فازی مبتنی بر 1GNPرا بیان میکند. بهوسیلهی اتصال نظریه مجموعه فازی با GNP این روش برای هر دو مجموعه داده پیوسته و گسسته به کارمی آید. با استفاده از GNP قوانین انجمنی فازی را استخراج کردند و با استفاده از مجموعه قوانین انجمنی فازی تولیدشده کار تشخیص نفوذ را انجام دادند؛ بنابراین روش پیشنهادی انعطافپذیر بوده و بر روی پایگاههای تشخیص Anomal و Misuse عمل میکند.

نتایج پیادهسازی نشان میدهد که برای هر دو مسئله تشخیص نفوذ، روش پیشنهادی این مقاله در مقابل دیگر روشها دادهکاوی نتایج بهتری میدهد.[4]Maryam Moeen Taghavi و Maryam khademi در سال 2016 با استفاده از ترکیب قوانین فازی و الگوریتم جستجوی تابو الگوریتمی را پیشنهاد دادند و این الگوریتم را روی دیتاست NSL_KDD آزمایش کردند که نتایج خوبی داشت.[5]Bolakhsh mipathi و A.Gomathy در سال 2011 درروش ترکیبی به کاربرد شبکههای عصبی و الگوریتم ژنتیک در تست تشخیص نفوذ با استفاده از روشی جدید از انتخاب ویژگیها بر اساس الگوریتم ژنتیک بهمنظور بهرهوری و صحت و دقت در تشخیص نفوذ پرداختهاند. در این تحقیق از الگوریتم ژنتیک برای بهینهسازی بهترین انتخاب و از شبکه عصبی برای ارزیابی عملکرد ازنظر دقت در تشخیص استفادهشده است.[6]

-3 مجموعه دادههای مورداستفاده در تشخیص نفوذ

.3-1 مجموعه داده DARPA

گروه ارزیابی شناسایی نفوذ2تحت نظر نمایندگی پروژههای تحقیقاتی پیشرفته دفاعی3و آزمایشگاه تحقیقات نیروی هوایی4اولین مجموعه داده استاندارد را برای ارزیابی سیستمهای شناسایی نفوذ شبکههای کامپیوتری جمعآوری و منتشر کرد. اولین ارزیابی مهم آماری سیستمهای شناسایی نفوذ درسال 1998 و 1999 انجام شد. این ارزیابیها شانس شناسایی و احتمال هشدار اشتباه هر سیستم تحت آزمایش را اندازهگیری میکرد. این ارزیابی بهطور مؤثری به حوزه تحقیقاتی شناسایی نفوذ جهت ارائه به محققان و همچنین درجهبندی عملی برای کارهای تحقیقاتی در این زمینه کمک میکند.[7]

.3-2 مجموعه داده KDD Cup 1999

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

.3-3 مجموعه داده KDD Cup 2010

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

.3-4 مجموعه داده NSL

مجموعه داده KDD CUP 99 دارای حدود 4 گیگابایت داده جمعآوریشده از 7 هفته ترافیک شبکه و 2 هفته داده تستی است. دادههای آموزشی KDD دارای حدود 49000000 رکورد با 41 ویژگی است که داری برچسب حمله و یا نرمال هست. درواقع هر رکورد در این مجموعه داده دارای 42 قسمت هست که 41 قسمت اول آن مربوط به ویژگیهای رکورد موردنظر و قسمت آخر مشخصکننده نوع این رکورد - حمله یا نرمال بودن - هست.با بررسی این مجموعه داده مشخص است که این مجموعه به دلیل مشکلاتی که داراست غالباً برای تشخیص نفوذ مناسب نمیباشد.[8] دو مورد از مهمترین مشکلات این مجموعه داده برطرف شده و مجموعه داده جدید بنام NSL-KDD در قرار دادهشده است. دو اشکال مهمی که در KDD اصلی قرار داشته و حلشده است عبارتاند از:

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

-4 روش پیشنهادی

سیستم تشخیص نفوذ میتواند بصورت مجموعهای از قوانین فازی تعریف شود که این قوانین براساس توابع عضویت ساخته میشوند.برای تنظیم توابع عضویت و ساختن قوانین بهتر و همچنین انتخاب مجموعه قوانین برتر نیاز به الگوریتمهای تکاملی داریم.لذا برای حل مشکل در این مقاله از الگوریتمهای ژنتیک و PSO استفاده میکنیم یعنی ابتدا این دو پارامتر مربوط به تنظیم توابع عضویت ذوزنقهای و یک پارامتر مربوط به انتخاب مجموعه قوانین برتر را بهصورت یک کروموزوم سه مقداری به الگوریتم ژنتیک و یا یکذره به الگوریتم PSO میدهیم. سپس تابع هزینه برای هریک از این الگوریتمها را طوری تعریف میکنیم که مقدار خطای دقت برای عمل دستهبندی حملات به کمترین مقدار خود برسد یا بهعبارتدیگر دقت accuracy به حداکثر خود برسد. فلوچارت مربوطه در - 2 - قابلمشاهده است.

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