بخشی از مقاله
مقایسه برخی الگوریتم های داده کاوی در تشخیص نفوذ به شبکه
چکیده:
رشد روز افزون استفاده از خدمات شبکه های کامپیوتری از یک سو و حمله به شبکه های کامپیوتری از سوی دیگر باعث شده است که سیستمهای یک زمینه ی تحقیقاتی مهم در مسئله امنیت شبکه های کامپیوتری تبدیل شوند . روش های تشخیص مورد استفاده در سیستم های تشخیص نفوذ به دو دسته تقسیم می شوند: روش تشخیص سوء استفاده و روش تشخیص رفتار غیر عادی . روش تشخیص سوء استفاده ، توانایی مشخص نمودن نفوذها را به کمک الگوهای شناخته شده از رفتارهای حمله کسب می کنند . در روش تشخیص رفتار غیر عادی ، مدیر شبکه وضعیت عادی بار ترافیک شبکه تعریف می نماید وبا مشاهده رفتارهایی که از وضعیت عادی پیروی نمی کنند موارد غیر عادی را تشخیص می دهد.
اخیرا مسئله تشخیص نفوذ به طور وسیعی در زمینه ها ی یاگیری ماشین و داده کاوی مو رد توجه قرار گرفته است . در این مقاله تکنیک های داده کاوی c4. 5 و SVM با روش تشخیص سوء استفاده. به منظور تشخیص نفوذ در شبکه های کامپیوتری، مقایسه و ارزیابی شده اند. نتایج حاصل از انجام آزمایشات نشان می دهد که در حالت میانگینc4. 5 ، در معیارهای نرخ تشخیص و دقت کمی بهتر عمل نموده است اما در معیارهای False Alarm RateوSVM عملکرد نسبتا بهتری داشته است. همچنین با توجه به معیار صحت عملکرد C4. 5 کمی بهتر از SVM می باشد.
کلمات کلیدی
سیستمهای تشخیص نفوذ، حمله های اینترنتی، داده کاوی، درخت تصمیم،
1 -مقدمه
نیاز انسان به سرعت و راحتی هر چه بیشتر باعث شده تا کارهای روزمره ی خود را تا آنجا که امکان دارد بصورت کامپیوتری انجام دهد ، مانند کارهای بانکی، خرید و غیره ، که اینگونه کارها با استفاده از اینترنت و شبکه های کامپیوتری قرار داده شده بر روی آن انجام میگیرد. همچنین از دیگر نقشهای اینترنت و شبکه های کامپیوتری ایجاد ارتباط بین کاربران و تبادل اطلاعات میان آنها می باشد. در این میان نیز افرادی وجود دارند که از اشکالات و نقاط ضعف موجود در این سیستمها استفاده کرده و سعی در نفوذ به آنها و ربودن اطلاعات مهم و کلیدی جهت اعمال فشار به صاحبان آنها و یا استفاده در جهت منافع خود و یا مختل نمودن کارکرد سیستم می نمایند [1].بنابرین لزوم حفظ و نگهداری اطلاعات مهم و حفظ کارایی بالا در شبکه های کامپیوتری احساس می شود. از آنجا ایجاد سیستمی کامپیوتری اعم از سخت افزار و نرمC4. 5، SVM، .Weka
افزار که کاملا امن بوده و در برابر اینگونه حملات و نفوذ به شبکه بدون عیب و نقص باشد تا به امروز محقق نشده ایجاد سیستمهای تشخیص نفوذ((IDS1 را ضروری کرده، که امروزه بخش مهمی از تحقیقات کامپیوتری در زمینه انجام می گیرد.[2] وظیفه ی سیستمهای تشخیص نفوذ همانطور که از اسم آن پیداست جلوگیری از حمله نیست ، بلکه کشف و احتمالا شناسایی حملات تشخیص راههای نفوذ به شبکه و اشکالات امنیتی سیستم و اعلام آن به مسئول شبکه می باشد که بصورت سخت افزاری و نرم افزاری ایجاد شده اند [2].در سیستمهای تشخیص نفوذ از روشهای مختلفی استفاده می شود که یکی از مهمترین آنها استفاده تکنیکهای داده کاوی 2 است. داده کاوی یکی شاخه های علم کامپیوتر است که در سالهای اخیر به منظور تحلیل و پردازش داده توسط ارگانها و سازمانهایی که با داده های زیادی سروکار دارند و پردازش آنها به صورت دستی امکان پذیر نیست ، مورد استفاده قرار گرفته است. داده کاوی به فرآیندی گفته می شود که طی آن الگوهای مفیدی از داده ها که تا کنون ناشناخته بودند از داخل یک پایگاه داده بزرگ استخراج می شود. علاوه برآن سیستمهای داده کاوی امکاناتی را به منظور خلاصه سازی و نمایش داده فراهم میکند 19] ، 11، [3, 13 .ازجمله تکنیک های مختلفی که مبتنی بر روشهای داده کاوی در سیستمهای تشخیص نفوذ وجود دارد عبارتند از درخت تصمیم 3، رگرسیون خطی چند گانه 4، رگرسیون لجستیک5، شبکه های عصبی6، ماشین بردار پشتیبان 7و نزدیکترین همسایه مجاور8 و . . .
14,15,4,16 ]، 11، .[17 در این مقاله دو تکنیک درخت تصمیم و ماشین بردار پشتیبان((SVM معرفی شده و با روش تشخیص سوء استفاده به منظور تشخیص نفوذ در شبکه های کامپیوتری مقایسه می شود . شیوه ی کار این سیستم تشخیص نفوذ به این صورت است که با تحلیل ترافیک جاری شبکه یا تحلیل تقاضاها سعی در شناسایی فعالیتهای نفوذگر می نماید ، به این صورت که با استفاده از تکنیکهای داده کاوی به دنبال الگوهای مشابه در پایگاه داده می گردد و در صورت پیدا کردن الگویی مشابه ترافیک ورودی به یک شبکه یا ماشین را از طرف یک کاربر مجاز و عادی تشخیص نداده بلکه آن را از طرف یک نفوذ گر می داند ، و به نحو مناسب به مسئول شبکه هشدار داده و یا واکنشی خاص از خود نشان می دهد . در غیر این صورت اجازه ورود عادی ترافیک را به شبکه می دهد . پس تکنیکهای مورد استفاده در این مقاله قادرند ترافیک شبکه را به دو کلاس حمله و عادی دسته بندی نمایند . هدف از این مقاله ارزیابی و مقایسه نتایج بدست آمده از هر یک از این تکنیکها در زمینه ی تشخیص نفوذ می باشد. بیشتر محققینی که در زمینه ی تشخیص نفوذ بر پایه ی انتخاب پارامتر در جهت افزایش راندمان تشخیص نفوذ ، کار کرده اند کانون فعالیت خود را بیشتر بر روی پارامترهای KDD CUP99 متمرکز کرده اند 9]، 11، .[13 در این مقاله نیز از این مجموعه داده ی معتبر استفاده شده که معیارهای مورد استفاده در این مقاله عبارتند از صحت9، دقت10، نرخ تشخیص11 و [5]False Alarm Rateسازماندهی مقاله به صورت زیر می باشد: در بخش 2 سیستمهای تشخیص نفوذ ذکر گردیده و انواع آن معرفی می شوند. در بخش 3 مروری بر داده کاوی و معرفی تکنیکهای درخت تصمیم وSVM را خواهیم داشت. در بخش 4 مدل سیستم تشخیص نفوذ با استفاده از تکنیکهای داده کاوی را معرفی کرده که از مجموعه داده ی استاندارد KDD CUP99 استفاده می کند. در بخش 5 به تحلیل و ارزیابی مدل معرفی شده می پردازیم و در بخش 6 نتایج مقاله ارائه می شود.
2 -معرفی سیستم های تشخیص نفوذ
نفوذ به عملیاتی اطلاق می شود که تلاش می کند برای دسترسی غیر مجاز به شبکه یا سیستم های کامپیوتری از مکانیزم امنیتی سیستم عبور کند. این عملیات نفوذ کنندگان خارجی و داخلی انجام می شود نفوذ گرها عموما از عیوب نرم افزاری، شکستن کلمات رمز، استراق سمع، ترافیک شبکه و نقاط ضعف طراحی در شبکه سرویس ها و یا کامپیوتر های شبکه برای نفوذ به سیستمها و شبکه های کامپیوتری بهره می برند.[5] سیستمهای تشخیص نفوذ، وظیفه شناسایی و تشخیص هر گونه استفاده غیر مجاز به سیستم ، سوء استفاده و یا آسیب رسانی توسط هر دو دسته کا ربران داخلی و خارجی را بر عهده دارند . سیستم های تشخیص نفوذ به صورت سیستم های نرم افزاری و سخت افزاری ایجاد شده که هر کدام مزایا و معایب خاص خود را دارند. سرعت ، دقت و عدم شکست امنیتی توسط نفوذ گران از مزایای سیستم های سخت افزاری می باشد اما استفاده آسان ا ز نرم افزار ، قابلیت انطباق پذیری در شرایط نرم افزاری و تفاوت سیستم های عامل مختلف، عمومیت بیشتری را به سیستم های نرم افزاری می دهد و عموما این گونه سیستم ها انتخاب مناسب تری هستند.[5]
-2 .1 انواع روش های تشخیص نفوذ
به منظور مقابله با نفوذ گران به سیستم ها و شبکه های کامپیوتری ، روش های متعددی تحت عنوان روش های تشخیص نفوذ ایجاد گردیده است که عمل نظارت بر وقایع اتفاق افتاده در یک سیستم یا شبکه کامپیوتری را بر عهده دارد. روش های تشخیص مورد استفاده در سیستم های تشخیص ن فوذ به دو دسته تقسیم می شوند :روش تشخیص رفتار غیر عادی 12 و روش تشخیص سوء استفاده13یا تشخیص مبتنی بر امضاء. [5]14
- 1. 2 روش تشخیص رفتار غیر عادی
روش های تشخیص رفتارغیرعادی بر اساس رفتارغیرعادی بنا می شوند . برای تشخیص رفتارغیرعادی ، باید رفتارهای عادی را شناسایی و الگوها و قواعد خاصی برای آنها پیدا کرد. رفتارهایی که از این الگوها پیروی می کنند، عادی بوده و رویدادهایی که انحرافی بیش از حد معمول آماری از این الگوها دارند ، به عنوان رفتار غیر عادی تشخیص داده می شوند.
-2 .1 .2 روش تشخیص سوء استفاده یا تشخیص مبتنی برامضاء
در این تکنیک که معمولا با نام تشخیص مبتنی بر امضاء شناخته شده اند ، الگوهای نفوذ از قبل ساخته شده ( امضاء) به صورت قانون نگهداری می شوند . به طوری که هر الگو انواع متفاوتی ازیک نفوذ خاص را در بر گرفته و در صورت بروز چنین الگویی در سیستم ، وقوع نفوذ اعلام می شود . در این روش ها ، معمولا تشخیص دهنده دارای پایگاه داده ای از امضاءها یا الگوهای حمله است و سعی می کند با بررسی ترافیک شبکه ، الگوهای مشابه با آنچه را که در پایگاه داده خود نگهداری می کند . از مزایای این روش دقت در تشخیص نفوذهایی است که الگوی آن ها عینا به سیستم داده شده است.[5]
3 -داده کاوی
تکنیک های داده کاوی عموما برای استخراج دانش و الگو از مجموعه داده های بزرگ و به منظور یادگیری وپیش بینی شرایط جدید بکار می رود. این تکنیک ها در زمینه هایی که داده زیادی تولید می کنندو پردازش این داده ها به صورت دستی امکان پذیر نیست مورد استفاده قرار می گیرند . تکنیک های اصلی داده کاوی به دو دسته توصیفی و پیش بینی تقسیم می شوند . -
_1.3تکنیک های دسته بندی در داده کاوی
دسته بندی یکی از مهمترین و پر کاربردترین تکنیک های داده کاوی می باشد که در یک فرآیند دو مرحله ای انجام می شود . دسته بندی یک فرآیند دو مرحله ای می باشد. در مرحله اول(مرحله یادگیری)، الگوریتم دسته بندی با آنالیز کردن مجموعه داده ها ، مدل را می سازد و در مرحله دوم از مدل برای دسته بندی داده ها استفاده می کند.[6]
روش های گوناگونی برای دسته بندی وجود دارد که از جمله می توان به درخت های تصمیم ، رگرسیون خطی چندگانه ، رگرسیون لجستیک ، تحلیل ممیزی15، بیز ساده ، شبکه های عصبی ، ماشین بردارپشتیبان ، نزدیکترین همسایه مجاور و . . . اشاره کرد7]، 21، 13، 19، 15، .[8
-3 .2 درخت تصمیم
در این درخت ، هر گره داخلی شامل سوالی بر مبنای یک صفت مشخص و یک فرزند برای هر پاسخ ممکن بوده و هر برگ با یکی از کلاس های ممکن برچسب گذاری می شود .[21, 2] درخت تصمیم ، جهت دسته بندی یک نمونه، با شروع از ریشه ، مسیری را بر اساس سوالات مطرح شده در گره های داخلی و پاسخ های آن دنبال می کند ، تا زمانی که به یک برگ برسد . در نهایت، برچسب برگ مربوطه، کلاس نمونه مورد نظر خواهد بود.[2]
SVM -3 .3
SVM یک روش دسته بندی است که برای اولین بار توسط Vapnik معرفی شد. مبنای کار دسته بندی SVM دسته بندی خطی داده هاست . روش های دسته بندی خطی، سعی دارند که با ساختن یک فوق صفحه(که عبارت است از یک معادله خطی)، داده ها را از هم تفکیک کند . به منظور درک بهتر مطلب ، در شکل 1 تصویری از یک مجموعه داده متعلق به دو کلاس نشان داده شده است.
شکل((1 مرزهای جدا کننده دو کلاس
- 4 فرآیند داده کاوی برای ساخت مدل سیستم تشخیص نفوذ
شکل 2، چگونکی استفاده از تکنیک های داده کاوی در ساخت مدل سیستم تشخیص نفوذ را نشان می دهد .[21] همانطور که از شکل مشخص می باشد ، روند کار به این صورت است که ابتدا بر روی مجموعه داده KDD CUP99 که یک مجموعه داده استاندرد برای سیستم های تشخیص نفوذ می باشد ،
عملیات پیش پردازش انجام می گیرد . سپس با استفاده از داده های پیش مجموعه Norm DOS U2 R2L Prob تعداد کل پردازش شده ، عملیات آموزش را با استفاده از تکنیکهای داده کاوی c4. داده5وSVM پیگیری می کنیم و به ساخت مدل با استفاده از این دو الگوریتم می پرداریم.