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

شما می توانید تکه های دیگری از این مطلب را با جستجو در همین سایت بخوانید

ولی برای دانلود فایل اصلی با فرمت ورد حاوی تمامی قسمت ها با منابع کامل

اینجا کلیک کنید

3-3) انواع بهينه سازي:41
4-3) فراابتکاري42
5-3) انواع الگوريتم‌هاي ابتکاري44
1-5-3) الگوريتم ژنتيک46
1-1-5-3) مراحل انجام الگوريتم ژنتيک47
2-1-5-3) عملگرهاي الگوريتم ژنتيک:47
3-1-5-3) شرايط خاتمه براي الگوريتم ژنتيک58
2-5-3) الگوريتم رقابت استعماري (ICA)58
7-2-5-3) مراحل الگوريتم رقابت استعماري69
3-5-3) الگوريتم بهينه سازي توده ذرات (PSO )71
مراحل الگوريتم PSO72
فصل چهارم : محاسبات و يافته هاي تحقيق73
فصل پنجم: نتيجه گيري و پيشنهادات83
مراجع:85
فهرست جداول
عنوان صفحه
جدول 2- 1 دسته بندي رکورد هاي انتخابي بر اساس الگوريتم هاي اعمالي22
جدول 2-2 بررسي ويژگي هاي رکوردهاي موجود در KDD CUP 9988
جدول 4-1 نتايج حاصل از ترکيب الگوريتم هاي فراابتکاري با ماشين هاي بردار پشتيبان چندکلاسه76
فهرست تصاوير و نمودارها
عنوان صفحه
شکل 1-1 : دسته بندي هاي مختلف سيستم هاي تشخيص نفوذ………………………………………………………………………………………………………….. 5
شکل 1-2: HIDS ها روي هر يک از سيستم ها بصورت جداگانه نصب مي شوند…………………………………………………………………………………. 8
شکل1-3 : NIDS بايد در جايي قرار داشته باشد که ترافيک کل شبکه را مورد بررسي قرار دهد………………………………………………………… 9
شکل 2-1 : درصد کارايي الگوريتم هاي بکار رفته برروي ديتاست مورد نظر22
شکل2-2: صفحه تفکيک کننده داده ها در SVC براي فضاي سه بعدي24
شکل 2-3 : نحوه تفکيک ماشين بردار پشتيبان براي داده ها دو بعدي25
شکل 2-4 : دو کلاس خطي جدايي پذير و طبقه بندي کننده SVM26
شکل 2-5 : نمايش تاثير تابع کرنل براي نگاشت داده ها به فضاي خطي31
شکل2-6 : نمايش خط تفکيک کننده دو کلاس توسط ماشين بردار پشتيبان غيرخطي با C=10 و Sigma=1………………………..37
شکل2-7 : نمايش خط تفکيک کننده دو کلاس توسط ماشين بردار پشتيبان غيرخطي با C=10 و Sigma=3……………………….37
شکل 3-1 : جهش باينري در کروموزوم56
شکل 3-2 : وارونه سازي بيت57
شکل 3-3 : تغيير ترتيب قرارگيري57
شکل 3-4: وارون سازي57
شكل 3-5: اجزاي اجتماعي سياسي تشکيل دهنده يک کشور59
شكل 3-6: چگونگي شکل‌گيري امپراطوري‌هاي اوليه61
شكل 3-7: شماي کلي حرکت مستعمرات به سمت امپرياليست62
شكل 3-8: حرکت واقعي مستعمرات به سمت امپرياليست63
شكل 3-9: تغيير جاي استعمارگر و مستعمره65
شكل 3-10: کل امپراطوري، پس از تغيير موقعيت‌ها65
شكل 3-11: شماي کلي رقابت استعماري: امپراطوري‌هاي بزرگ‌تر، با احتمال بيشتري، مستعمرات امپراطوري‌هاي ديگر را تصاحب مي‌کنند. 66
شكل 3-12: سقوط امپراطوري‌ ضعيف 69
شكل 3-13: شماي کلي الگوريتم توسعه داده شده 70
شکل 3-14: نحوه حرکت ذرات 72
شکل 3-15 : فلوچارت مربوط به روند انجام تبديل داده ها از چند کلاسه به دو کلاسه و سپس اعمال پارامترهاي دريافت شده از الگوريتم فراابتکاري……………………………………………………………………………………………………………………………………………………………………………………….75
شکل 4- 1: نمودار مربوط به روند پيدا کردن بهترين هزينه توسط الگوريتم ژنتيک 77
شکل 4- 2: نمودار مربوط به روند پيدا کردن بهترين هزينه توسط الگوريتم ICA 77
شکل 4- 3: نمودار مربوط به روند پيدا کردن بهترين هزينه توسط الگوريتم PSO 78
فصل اول : مقدمه و کليات تحقيق

1-1) تعريف سيستم تشخيص نفوذ :
سيستم تشخيص نفوذ1 (IDS) يک سيستم دفاعي است که فعاليت هاي خصمانه در يک شبکه کامپيوتري را پيدا مي کند. به عبارت ديگر مهمترين مسئله در اين سيستم ها اين است که اغلب فعاليت هايي که ممکن است امنيت سيستم را به خطر بيندازد و يا کارهايي که منجر به شروع يک خرابکاري در سيستم بشود را تشخيص مي دهد مانند شناسايي اوليه اطلاعات سيستم ها و يا فاز جمع آوري داده که منجر به آسيب رساندن به سيستم مي شود مانند عمليات اسکن پورت هاي سيستم.
يک ويژگي مهم سيستم هاي تشخيص نفوذ توانايي آن ها در نمايش فعاليت هاي غيرنرمال در شبکه مي باشد مانند تلاش کاربران براي ورود به محيط هاي غير مجاز و اعلام خطر به مدير سايت.
علاوه بر آن يک سيستم تشخيص نفوذ اين توانايي را دارد که بتواند حملاتي که از داخل يک سازمان و يا خارج از سازمان به داخل آن مي شود را تشخيص دهد.
2-1) موارد زير جزء سيستم هاي تشخيص نفوذ نمي باشد:
براي درک بهتر سيستم هاي تشخيص نفوذ بايد گفت که برخلاف لغات و اصطلاحات بکار رفته در تعاريف بالا هر چيزي را نمي توان در اين دسته بندي قرار داد. به صورت منحصر به فرد ابزار هاي زير يک سيستم تشخيص نفوذ نمي باشد:
1-2-1 ) ابزارهايي که براي نگهداري گزارش روزانه يک سيستم بکار مي رود به عنوان مثال تشخيص انواع آسيب پذيري هايي که منجر به از کار افتادن سيستم مي شود. اين ابزارها سيستم هاي مانيتور ترافيک شبکه مي باشند.
2-2-1 ) ابزارهايي که براي تشخيص آسيب پذيري هاي مربوط به باگ و عيب سيستم هاي عامل و سرويس هاي شبکه بکار مي روند براي مثال Cyber Cop Scanner
3-2-1 ) ابزارهايي که براي تشخيص نرم افزارهاي مخرب مانند ويروس ها، اسب هاي تروجان، کرم ها و بمب هاي منطقي طراحي شده اند. اگر چه اين موارد بسيار شبيه ويژگي هاي سيستم هاي تشخيص نفوذ مي باشند يا به عبارت ديگر مي توانند زمينه را براي يک نفوذ آماده کنند.
نکته : ويروس ها برنامه هايي هستند که مشابه ويروس هاي زيستي گسترش يافته و پس از وارد شدن به کامپيوتر اقدامات غير منتظره اي انجام مي دهند. براي اينکه يک برنامه به عنوان ويروس شناخته شود فقط کافيست در ساختار خود يک واحد تکثير کننده داشته باشد تا بتوانند ساير برنامه هاي ديگررا آلوده کنند اما درواقع ويروس ها در ساختار خود داراي چهار فسمت اصلي مي باشند:
واحد پنهان کننده : يک برنامه گمراه کننده که باعث مي شود ويروس بتواند خود را در کامپيوتر پنهان کند
واحد تکثير کننده : يک برنامه تکثير کننده که بوسيله آن ويروس مي تواند خود را تکثير کرده و برنامه بيشتري را آلوده کند.
واحد فعال کننده : يک کليد فعال کننده که باعث مي شود ويروس در زمان خاصي يا بعد از انجام عمل خاصي فعال شود.
واحد اجرايي :قسمت اجرايي ويروس که ممکن است فقط يک نمايش بدون خطر باشد و يا يک برنامه خطرناک که باعث وارد شدن صدمه به سيستم شود.
اسب هاي تروجان : بزرگترين تفاوت اسب هاي تروجان (تراوا) و يک ويروس اين است که اسب هاي تراوا خودشان منتشر نمي شوند.
کرم ها : کرم هاي کامپيوتري برنامه هاي هستند که بطور مستقل تکثير و اجرا و در سراسر ارتباطات شبکه منتشر ميشوند.
تفاوت اصلي بين ويروس ها و کرم ها در روش تکثير و پخش آنهاست. يک ويروس وابسته به يک فايل ميزبان يا بخش راه انداز است در حاليکه يک کرم ميتواند کاملا مستقل اجرا شود و از طريق ارتباطات شبکه منتشر گردد.
4-2-1 ) فايروال ها
5-2-1 ) سيستمهاي رمزنگاري اينترنتي مانند VPN، SSL، Kerberos و غيره[28]
3-1 ) دسته بندي حملات :
بطور کلي حملات را مي توان به چهار دسته زير تقسيم بندي کرد:
1-3-1) وارسي2 : در اين نوع از حملات شخص مهاجم براي جمع آوري اطلاعات و يا يافتن نقاط آسيب پذير سيستم شروع به جمع آوري اطلاعات از سيستم يا شبکه مي کند.
2-3-1) حمله از کار انداختن سرويس3 : در اين حمله مهاجم آنقدر منابع سيستم را با استفاده از ابزارهايي که دارد مشغول مي کند که سيستم سرويس دهنده بدليل اتمام منابع قادر به پاسخگويي به سرويس ها نمي باشد.
3-3-1) حمله کاربر به ريشه4 : در اين حمله مهاجم قصد دارد با دستيابي به نام کاربري يک کاربر مجاز در سيستم، نقاط آسيب پذير را کشف کند.
4-3-1) حمله کنترل از راه دور5 : در اين حمله مهاجم از راه دور و از طريق شبکه بسته هايي را به سيستم هاي مورد نظر ارسال ميکند تا بتواند نقاط آسيب پذير سيستم را کشف کند [5].
4-1) انواع دسته بندي سيستم هاي تشخيص نفوذ :
سيستم هاي تشخيص نفوذ را مي توان از جهات مختلف دسته بندي کرد. شکل 1-1 يک نمونه از اين دسته بندي را نشان مي دهد[29].
شکل 1-1 : دسته بندي هاي مختلف سيستم هاي تشخيص نفوذ
[29]
1-4-1) روش هاي تشخيص نفوذ
1-1-4-1) روش تشخيص امضاء6 :
روش تشخيص امضاء بر اساس داشتن الگويي از نفوذهاي شناخته شده عمل ميکند. در اين روش، مسأله تشخيص نفوذ به يک مسأله دسته بندي تبديل ميشود و سيستم تشخيص نفوذ قادر است حمله هايي را که پيشتر الگوي آنها را در يک مرحله آموزشي فرا گرفته، تشخيص دهد. مهمترين خصيصه اين روش آن است که سيستم امنيتي قادر است حمله هاي شناخته شده را با دقتي بالا و نرخ هشدار غلط خيلي کم?تشخيص دهد. منظور از هشدار غلط هشداري است که هنگام عدم وقوع حمله توسط سيستم تشخيص نفوذ اعمال ميگردد. وجود هشدار غلط حتي به ميزان کم چنانچه بار ترافيکي عادي شبکه بالا باشد، باعث وقوع هشدارهاي متعدد و خسته کننده ميگردد. به همين دليل نرخ توليد هشدار غلط توسط يک سيستم تشخيص نفوذ?بايستي تا حد امکان پايين باشد. البته ذکر اين نکته ضروري است که پايين نگه داشتن نرخ مزبور سبب?کاهش توانايي سيستم در تشخيص حملات محتمل ميگردد. به عبارتي بايستي ميان دقت تشخيص بالا و نرخ هشدار غلط پايين نوعي تعادل برقرار نمود.[6]
2-1-4-1) روش تشخيص بر اساس ناهنجاري7 :
?نوع ديگر سيستمهاي تشخيص نفوذ با نام تشخيص ناهنجاري شناخته ميشود. در اين سيستمها مدلي بر?پايه داده هاي آماري از فعاليت عادي شبکه ساخته ميشود. چنانچه در هر لحظه بار ترافيکي شبکه از?مرزي که بين فعاليتهاي عادي و غير عادي توسط سيستم مشخص شده تخطي کند، سيستم هشداري?مبني بر وقوع حمله ميدهد. بديهي است که سيستم هايي که با اين روش پياده سازي ميشوند توانايي?تشخيص حمله هاي جديد را دارند. در عين حال معمولا تعيين مرز ميان رفتار عادي و غير عادي در?سيستمهاي مزبور کار مشکلي است.
پس مي توان گفت تکنيک هاي مبتني بر ناهنجاري براين فرض بنا شده که بتوان رفتارهاي مخربانه را از رفتارهاي عادي سيستم تفکيک کرد[15]
با توجه به انواع روشهاي ذکر شده براي تشخيص نفوذ به شبکه، مشخص است که هر روش نقاط ضعف و?قوت مربوط به خودش را دارا ميباشد. دقت بالا در تشخيص حملات و نرخ هشدار غلط پايين از جمله?ويژگيهاي اصلي در روش تشخيص امضاء ميباشد. در عين حال روش مزبور توانايي تشخيص حمله هاي جديد را دارا نمي باشد. روش تشخيص ناهنجاري با وجود داشتن توانايي بالا در تشخيص حمله هاي جديد،?داراي نرخ هشدار غلط بالايي است.
3-1-4-1) روش ترکيبي8 :
در اين روش که معمولا روش بهتري محسوب مي شود سيستم تشخيص نفوذ مزاياي دو حالت قبل را با هم مورد استفاده قرار مي دهد. ابتدا سيستم حملات شناخته شده را بر اساس تکنيک هاي روش مبتني بر امضاء پيدا مي کند و براي ساير حملات جديد که الگويي براي شناسايي آنها در پايگاه اطلاعاتي خود ندارد از روش مبتني بر ناهنجاري استفاده مي کند[[23],[35 .[32],
آقايان Zhang و Zulkernine در [21] يک مدل ترکيبي از سيستم هاي تشخيص نفوذ ارائه دادند که در واقع با استفاده از الگوريتم Random Forest ابتدا حملات شناخته شده را از طريق ماژول مبتني بر امضاء پيدا مي کند و سپس حملات خارج از پايگاه اطلاعاتي را با استفاده از همان الگوريتم و ماژول مبتني بر ناهنجاري پيدا مي کند. براي ارزيابي از مجموعه داده KDDCUP 1999 استفاده کرد که نتايج حاکي از آن است اين سيستم ترکيبي 94.7 درصد حملات را با تنها حدود 2 درصد نرخ هشدار غلط توانسته پيدا کند.
2-4-1) دسته بندي براساس ساختار سيستم حفاظتي
1-2-4-1) سيستم تشخيص نفوذ مبتني بر ميزبان9 :
اين نوع از سيستم هاي تشخيص نفوذ که اختصارا HIDS ناميده مي شوند تنها به بررسي تبادل اطلاعات موجود در يک کارت شبکه مي پردازند. به عبارت ديگر سيستم تشخيص نفوذ در هريک از سيستم ها بصورت جداگانه نصب مي شود. بديهي است که اين نوع از سيستم ها قادر به تشخيص برخي از حملات که بصورت گسترده در شبکه مي افتد نمي باشند و هزينه بالايي در بر خواهند داشت و نيز با تمامي سيستم هاي عامل سازگار نمي باشد اما يکي از مزيت هاي آن اين است که با کاهش تعداد قوانين سرعت آن افزايش مي يابد.
شکل 1-2: HIDS ها روي هر يک از سيستم ها بصورت جداگانه نصب مي شوند
2-2-4-1) سيستم تشخيص نفوذ مبتني بر شبکه10 :
در اين سيستم ها (NIDS) برخلاف حالت قبل به بررسي حملات روي شبکه مي پردازد. يعني علاوه بر برسي بسته هاي رسيده به کارت شبکه خود به اطلاعات در حال نقل و انتقال در کل شبکه نيز مي پردازد.(مثلا بسته هاي عبوري از روتر را مورد بررسي قرار ميدهد) اگر ترافيک شبکه رمز شده باشد، NIDS نمي تواند برخي از حملات را تشخيص دهد اين نوع از سيستم هاي تشخيص نفوذ کارايي بالاي براي تشخيص حملات DOS دارند.
شکل1-3 : NIDS بايد در جايي قرار داشته باشد که ترافيک کل شبکه را مورد بررسي قرار دهد.
3-2-4-1) مدل ترکيبي:
بديهي است بهترين حالت وقتي است که ترکيبي از دو حالت قبل يعني NIDS و HIDS براي تشخيص حملات در شبکه داشته باشيم.
3-4-1) دسته بندي از لحاظ ساختار پردازشي:
از لحاظ ساختار پردازشي بسته مي توان سيستم هاي تشخيص نفوذ را به دو حالت متمرکز و توزيع شده تقسيم بندي کرد. در حالت اول تمام پردازش ها دريک سيستم مرکزي انجام مي پذيرد اما در حالت دوم هر سيستم بصورت جداگانه پردازش بسته ها را انجام مي دهد.(در اين حالت از Agent ها براي اين پردازش ها استفاده مي کنند)
4-4-1) دسته بندي بر اساس نوع منابع داده:
برحسب اينکه سيستم تشخيص نفوذ از چه منبع داده اي براي تشخيص حملات استفاده مي کند مي توان سيستم هاي تشخيص نفوذ را به دسته هاي مختلفي تبديل کرد. اين منابع داده اي مي توانند موارد زير باشند:
منابع بازرسي شده بصورت دنباله اي مانند لاگ هاي سيستم
داده هاي بدست آمده از آناليز مکان هاي مختلف سيستم مانند هسته، سرويس، فايل ها و …
بسته هاي شبکه
5-4-1) دسته بندي براساس رفتار بعد از حمله:
برحسب اينکه بعد از تشخيص حملات چه عملياتي توسط سيستم هاي تشخيص نفوذ انجام بگيرد به دو دسته فعال و غير فعال مي توان اين سيستم ها را تقسيم بندي کرد. درحالت فعال سيستم، بعد از تشخيص حملات اقدام به هدايت فرد متخاصم به سمت کوزه عسل11 و يا اقداماتي از اين قبيل مي نمايد.
6-4-1) دسته بندي بر اساس جنبه هاي زماني
و درنهايت سيستم هاي تشخيص نفوذ را بر اساس زمانبندي آناليزها مي توان به دو دسته تقسيم بندي کرد: بررسي بسته هاي شبکه بصورت ممتد يا همان بلادرنگ و بررسي بصورت دوره اي که در اين حالت داده ها را ابتدا ذخيره کرده و در بازه هاي زماني مختلف به تحليل آنها و پيدا کردن حملات مي پردازند و در صورت پيدا کردن نشانه هاي از حملات به مدير شبکه هشدار مي دهد.
فصل دوم : ادبيات و پيشينه تحقيق
1-2) داده کاوي: مقدمه
بطور خلاصه داده کاوي12 عبارت است از کاوش يا استخراج دانش در مجموعه عظيمي از داده ها. ?رشد روز افزون داده در شاخه هاي مختلف صنعت و علوم باعث شده است تا از کامپيوتر و علوم مربوط به آن جهت پردازش اين حجم بالا از داده ها استفاده شود. بطور کلي هدف از پردازش داده ها، استخراج?اطلاعات و دانش از آنها به گونه اي است که بتوان در علوم و کاربردهاي ديگر از آنها استفاده نمود. کاوش?داده عبارت است از اعمال روشهاي مبتني بر کامپيوتر جهت استخراج دانش از روي داده هاي خام. در?سالهاي اخير روشهاي مختلف و متنوعي جهت کشف و استخراج دانش از روي داده هاي خام ارائه شده?است. دانش مزبور پس از استخراج شدن قابل ارزيابي توسط اشخاص خبره مي باشد. با توجه به ارزيابي?افراد خبره و همچنين روشهاي موجود در بررسي کيفيت دانش استخراج شده، اين امکان وجود دارد تا ?کارآيي الگوريتم کاوشگر دانش مورد مطالعه و بررسي قرار گيرد.,[4] [25]
?2-2) داده کاوي: مفاهيم کلي?
?بطور کلي علوم و مهندسي بر اساس مدلهاي علمي اوليه سعي در توصيف انواع مختلف سيستم ها ?مي کنند. اين توصيفها معمولا با يک مدل علمي اوليه مانند قوانين نيوتن در حرکت يا معادلات ماکسول در الکترومغناطيس آغاز شده و سپس بر اساس مدل بکار رفته مسائل مختلفي در مهندسي مکانيک يا?مهندسي برق مورد بررسي و آناليز قرار ميگيرد. از داده هاي آزمايشگاهي در اينگونه موارد جهت ارضاء?مدلهاي اوليه موجود استفاده ميشود. در اين راستا پارامترها و يا متغيرهايي که امکان محاسبه و?اندازه گيري آنها به طور مستقيم وجود ندارد و يا مشکل است تخمين زده مي شوند. در علوم مختلف?هميشه امکان داشتن مدلهاي اوليه ذکر شده وجود ندارد. همچنين بدست آوردن يک فرمول بندي رياضي?جهت واکشي يک مدل معمولا پيچيده و حتي در اکثر موارد امکانپذير نمي باشد.
با رشد علم کامپيوتر و?افزايش داده هاي متنوع در علوم مختلف، امکان استخراج مدلهاي حاکم بر مسائل گوناگون از روي?داده هاي مزبور ميسر است.?
?نياز به درک وقايع نهفته در حجم انبوهي از داده ها در زمينه هاي مختلف تجاري، علوم و مهندسي وجود?دارد. در دنياي تجارت، داده هاي شرکت و مشتري به عنوان منابع اصلي تصميم گيري شناخته مي شوند. استفاده مناسب از داده هاي مزبور ميتواند نقش تعيين کننده اي را در موفقيت و پيشرفت يک مجموعه?تجاري ايفا کند.?
فرآيند استفاده از يک روش مبتني بر کامپيوتر جهت استخراج دانش از داده هاي خام را ميتوان يک تعريف کلي براي داده کاوي در نظر گرفت.
1-2-2) اهداف مختلف داده کاوي به دو دسته زير تقسيم بندي?ميشوند:???
1-1-2-2) پيش بيني13: شامل استفاده کردن از برخي متغيرها يا فيلدها در مجموعه داده ها جهت پيش بيني مقادير نامشخص ميباشد.?
?2-1-2-2) توضيح يا توصيف14: تمرکز اين قسمت بيشتر بر روي استخراج الگوهاي توصيف کننده مجموعه داده ها? به گونه اي است که توصيف مزبور قابل درک و تفسير به کمک انسان خبره باشد.?
?اهميت هر کدام از اهداف فوق با توجه به کاربرد خاص داده کاوي متفاوت است.
2-2-2) کاربردهاي مختلف?داده کاوي در ادامه ارائه شده اند:?

??-2-2-2) دسته بندي15: هدف در دسته بندي، کشف يک مدل پيشگويي کننده به قسمي است که مدل مزبور توانايي دسته بندي يک داده ورودي را به يکي از مجموعه دسته هاي خروجي ممکن را دارا باشد.?
??-2-2-2) رگرسيون16: هدف در رگرسيون کشف يک مدل پيشگويي کننده با توانايي نگاشت يک نمونه داده اي به يک متغير تخميني است.?
??-2-2-2) خوشه بندي17: در خوشه بندي هدف يافتن مجموعه متناهي از دسته ها يا خوشه ها جهت توصيف داده ها مي باشد.?
4- 2-2-2)خلاصه بندي18: شامل روشهايي جهت يافتن توصيفي فشرده براي يک مجموعه داده مي شود.?
??-2-2-2) مدل کردن وابستگي19: هدف در مدل کردن وابستگي، يافتن مدلي محلي جهت تبيين وابستگي ميان متغيرها يا مقادير ويژگيها در يک مجموعه داده اي يا بخشي از آن است.?
6 -2-2-2) تشخيص انحراف و تغيير20: تشخيص تغييرات عمده در داده ورودي مهمترين هدف اين کاربرد مي باشد.?
??
فاکتور موفقيت در داده کاوي وابسته به ميزان انرژي، دانش و خلاقيتي است که شخص طراح مدل و الگوريتم داده کاوي براي آن صرف مي کند. در واقع فرآيند داده کاوي بسيار شبيه حل يک جورچين است.?
?قطعات يک جورچين هر کدام از نظر ساختار به تنهايي پيچيده نيستند. ولي چنانچه اين قطعات به صورت مجموعه اي گرد هم آيند، ميتوانند مبين سيستم بسيار پيچيده اي باشند. فرآيند داده کاوي از آن جهت شبيه جورچين است که ميتوان هر کدام از نمونه ها در مجموعه داده هاي ورودي را معرف يک قطعه در جورچين دانست. دانش نهفته در داده هاي مزبور و يا به عبارت ديگر نظم حاکمي که در ميان تمام داده ها وجود دارد و قادر است داده هاي ورودي يا بخشي از آنها را توجيه کند، همان نقشي است که يک جورچين در صورت کامل شدن ارائه مي کند. داده کاوي يکي از زمينه هايي است که در صنعت?کامپيوتر رشد قابل توجهي داشته است. يکي از دلايل اين امر رشد روز افزون روش هاي متنوعي است که از آنها جهت کاوش داده ها و استخراج دانش استفاده مي شود. از داده کاوي در صنايع مختلفي استفاده مي شود. نمونه هايي از اين صنايع عبارتند از: خرده فروشي، توليد و ساخت، مخابرات، بهداشت و درمان، بيمه، حمل و نقل، بازاريابي، مهندسي مجدد، قانون و جزاء و امنيت.?
?از ديدگاه کلي ميتوان داده کاوي را ترکيبي از علوم آمار و يادگيري ماشين دانست. در علم آمار تأکيد ?بيشتر بر روي واکشي يک فرمول رياضي جهت تبيين رابطه موجود ميان داده ها مي باشد. در مقابل يادگيري ماشين سعي در توجيه داده ها به صورت کاربردي و ضمني و نه لزوما فرمولي و صريح، مي کند.?
از ديدگاهي ديگر ميتوان هدف علم آمار را ارائه يک مدل دقيق براي داده هاي مورد بررسي دانست. اين?هدف در علم يادگيري ماشين بصورت ارائه يک الگوريتم ضمني جهت بررسي داده ها دنبال مي شود. اينکه?علم داده کاوي بيشتر به کداميک از علوم آمار يا يادگيري ماشين نزديکتر است بستگي به ماهيت مسأله اي? دارد که داده هاي مورد کاوش مربوط به آن هستند. هر چقدر که مسأله مزبور شناخته شده تر بوده و دانش ما در مورد داده هاي مورد کاوش بيشتر باشد، ماهيت علم داده کاوي به علم آمار نزديکتر مي شود.اين در حالي است که عدم وجود دانش قبلي درباره داده هاي مورد کاوش، ماهيت علم داده کاوي را به علم?يادگيري ماشين نزديکتر مي کند. با توجه به آنکه در مسأله تشخيص نفوذ دانش آماري خاصي درباره ?دسته هاي مختلف (همانند تابع توزيع احتمال وقوع حمله ها، نرخ رخداد دسته هاي موجود و غيره) براي ما فراهم نمي باشد، به همين دليل ميتوان ماهيت فرآيند داده کاوي را براي اين مسأله به علم يادگيري ماشين نزديکتر دانست.?
3-2) روال داده کاوي?
اگر بخواهيم تعريفي مناسب براي داده کاوي به گونه اي ارائه کنيم که به اندازه کافي گويا بوده و دامنه وسيعي از ديدگاه هاي موجود در آن را بپوشاند، مي توانيم تعريف زير را ارائه نماييم:?
داده کاوي فرآيندي است که در آن نظم حاکم بر مجموعه اي از داده هاي موجود کشف شده و در قالب يک مدل توصيف کننده ارائه مي گردد.?
کشف يا تخمين وابستگي ها در ميان داده ها و يا کشف مفاهيم جديد تنها بخشي از روال کلي است که توسط محققان، مهندسان و همه کساني که مراحل استاندارد داده کاوي را تا رسيدن به مدل توصيف کننده نهايي طي مي کنند، انجام مي شود. به عبارت ديگر فرآيند داده کاوي داراي مراحل مختلفي است که ?در ذيل به شرح کلي هر کدام از آنها مي پردازيم .[25]
1-3-2) بيان مسأله و فرمول بندي فرضيه?
در اين مرحله طراح مدل مجموعه متغيرهايي را که هدف از انجام فرآيند داده کاوي، پيدا کردن چگونگي وابستگي ميان آنهاست، تعيين مي کند. در صورت امکان شخص مزبور سعي در ارائه فرضيه (ارائه ساختار و مدل کلي پاسخ) در آغاز فرآيند داده کاوي مي نمايد. آنچه در اين مرحله حائز اهميت است تعامل نزديک دو فرد خبره مي باشد که يکي از آنها در دامنه مسأله اي که داده هاي مربوط به آن مورد کاوش قرار ميگيرد داراي خبرگي است و ديگري در علم داده کاوي. تعامل نزديک و مناسب دو فرد مزبور در اين مرحله سبب ارائه يک فرمول بندي مناسب جهت مسأله اي که داده کاوي سعي در تحليل آن خواهد داشت، مي شود.?
2-3-2) گردآوري داده?
در اين مرحله هدف تعيين نحوه و چگونگي توليد و گرد آوري داده هاي مورد کاوش مي باشد. به طور کلي دو وضعيت مشخص و مجزا وجود دارد. اولين وضعيت هنگامي است که فرآيند توليد داده در کنترل طراح مدل مي باشد. اين روش، آزمون طراحي21 شده ناميده مي شود. دومين وضعيت هنگامي است که شخص خبره نميتواند تأثيري در فرآيند توليد داده داشته باشد. اين وضعيت با نام رويکرد مشاهده اي22 شناخته مي شود. رويکرد مشاهده اي که گاهي توليد تصادفي داده نيز ناميده مي شود در بسياري از مسائل داده کاوي در نظر گرفته مي شود. به طور کلي هنگام جمع آوري داده، چگونگي توزيع داده هاي نمونه برداري شده کاملا نامشخص است و يا تنها به طور جزئي و ضمني مشخص مي باشد.
وجود دانش مربوط به چگونگي توزيع داده ها ميتواند در نتيجه نهايي داده کاوي تأثير به سزائي داشته باشد. اين تأثير ?هم در کيفيت مدل بدست آمده و همچنين در چگونگي تفسير آن وجود دارد. همچنين اينکه داده هاي?آموزشي23(داده هايي که در فرآيند داده کاوي جهت ساخت مدل و تنظيم آن مورد استفاده قرار مي گيرند)?و داده هاي آزمايشي24 (داده هايي که جهت تعيين کارآيي مدل بدست آمده و ارزيابي روش داده کاوي مورد استفاده قرار مي گيرند) داراي توزيع يکساني باشند نيز از اهميت ويژه اي برخوردار است. در صورت عدم يکسان بودن توزيع مزبور، نمي توان در يک مسأله واقعي از مدل بدست آمده در فرآيند داده کاوي استفاده? نمود.?
3-3-2) انجام پيش پردازش?
?داده ها معموال از پايگاه هاي داده اي موجود، مخازن داده ها و انبار اختصاصي جمع آوري مي شوند. اغلب مرحله پيش پردازش داده ها شامل حداقل دو مرحله معمول مي باشد. مراحل مزبور در ادامه توضيح داده ?شده اند.
4-3-2) تشخيص و حذف داده هاي زائد?
در مجموعه داده هايي که معموال جهت کاوش به الگوريتم داده کاوي ارائه مي شوند داده هايي وجود دارند?که در تناقض با داده هاي ديگر مي باشند. به طور معمول داده هاي مزبور نتيجه خطاهاي اندازه گيري، کد?کردن و يا ذخيره کردن هستند. گاهي اوقات هم اين داده ها مقاديري غير عادي هستند که منشاء کاملا?طبيعي دارند. نمونه هايي از مجموعه داده هاي مورد کاوش که شامل داده هاي زائد هستند مي توانند تأثير منفي قابل توجهي را در مدل توليدي الگوريتم داده کاوي داشته باشند. دو راه مي توان جهت برخورد با داده هاي زائد معرفي نمود:?
الف- تشخيص و حذف داده هاي زائد به عنوان بخشي از مرحله پيش پردازش.?
ب- ارائه مدلي مقاوم که نسبت به داده هاي زائد (نويزي) غير حساس باشد.?
نرمال کردن25، کد کردن26 و انتخاب ويژگي ها27?
پيش پردازش داده ها شامل مراحل مختلفي نظير نرمال و کد کردن متغيرها است. به عنوان مثال چنانچه دو ويژگي داشته باشيم که اولي تغييراتش در بازه [0,1] دومي در بازه [-0.001,1000] باشد، چگونگي تأثير اين دو ويژگي در مدل بدست آمده توسط الگوريتم داده کاوي يکسان نخواهد بود و اين اختلاف باعث تأثير منفي در کارآيي مدل نهايي مي گردد. به اين ترتيب توصيه مي شود که هميشه تمامي ويژگي ها?در يک بازه يکسان نرمال شوند تا از تأثير تفاوت بازه ها جلوگيري به عمل آيد. همچنين با توجه به?مسأله اي که قصد اعمال داده هاي آن را به الگوريتم داده کاوي داريم، گاهي اوقات با بکارگيري روش کد?کردن خاصي ميتوانيم ابعاد داده هاي ورودي را در مسأله مورد بررسي کاهش دهيم.
به عبارت ديگر تعداد ?ورودي ها را با توجه به يک روش کد کردن خاص مي توانيم کاهش دهيم. از آنجا که تعداد کم ورودي ها? هميشه اثري مهم در کاهش پيچيدگي مسأله و به تبع آن افزايش کارآيي الگوريتم داده کاوي در يافتن مدل نهائي مي شود، انتخاب روش کدکردني که بتواند باعث کاهش در تعداد ورودي هاي اعمالي به الگوريتم داده کاوي شود بسيار مورد توجه مي باشد. استفاده از دانش قبلي در هر کدام از انواع روش هاي پيش پردازش ذکر شده ميتواند در افزايش کارآيي فرآيند پيش پردازش نقش به سزائي داشته باشد.
5-3-2) برآورد مدل (کاوش داده)?
انتخاب و پياده سازي روش داده کاوي مناسب فرآيند مهمي است که در اين مرحله انجام مي شود. به طور کلي روش ها و الگوريتم هاي مختلفي جهت يادگيري و توليد يک مدل بر اساس داده هاي ورودي وجود دارند. به نوعي الگوريتم هاي مزبور را مي توان يک روال جستجو نيز در نظر گرفت. اين روال سعي در يافتن مدلي مي کند که به بهترين نحو داده هاي ورودي را پوشش دهد.?
بايستي توجه نمود که الگوريتم داده کاوي که در اين مرحله اجرا مي گردد، با توجه به ماهيت مسأله اي که?فرآيند داده کاوي سعي در تحليل داده هاي آن را دارد، طراحي مي گردد.
6-3-2) تعبير مدل و استخراج نتايج?
?در بسياري از موارد، مدل هاي استخراجي توسط روش هاي مختلف داده کاوي در يک فرآيند تصميمگيري مورد استفاده قرار مي گيرند. مدل هاي مزبور جهت قابل استفاده بودن بايستي قابل تفسير باشند. اين امر بخاطر آن است که انسان ها تمايل ندارند که اساس و پايه تصميم هاي خود را بر مبناي مدل هاي پيچيده?جعبه سياه28 قرار دهند. موضوع مهمي که در اينجا وجود دارد آن است که اهداف دقت29 مدل و قابليت درک30 آن معمولا با يکديگر در تضاد هستند. اغلب مدل هاي ساده قابليت تفسيري بهتري دارند اما دقت آنها پايينتر است. از طرف ديگر مدل هاي دقيق معمولا ساختار پيچيده اي دارند.?
فرآيند داده کاوي معمولا فرآيندي تکراري در تمامي فازهاي آن است. اين واقعيت در شکل ?-? نشان?داده شده است. جهت نيل به يک مدل نهائي کارا، بايستي تمامي مراحل مزبور به درستي طي شوند. به عبارت ديگر هيچکدام از اين مراحل نمي توانند نقص احتمالي موجود در مراحل ديگر را جبران نمايد,[4] ?[25].
4-2) آشنايي با مجموعه داده KDD :
KDD99 يا Knowledge Discovery Dataset99 يک مجموعه داده از ترافيک شبکه مي باشد که در بسياري از پژوهشهاي مربوط به سيستم هاي تشخيص نفوذ مورد استفاده قرار مي گيرد. اين مجموعه داده از سال 1999 توسط برنامه ارزياب سيستم تشخيص نفوذ در دانشگاه MIT جمع آوري شده است. اين مجموعه داده داراي حدود 4 گيگا بايت داده جمع آوري شده از 7 هفته ترافيک شبکه و 2 هفته داده تستي است. داده هاي آموزشي KDD داراي حدود 49000000 رکورد با 41 ويژگي است که داري برچسب حمله و يا نرمال مي باشد. در واقع هر رکورد در اين مجموعه داده داراي 42 قسمت مي باشد که 41 قسمت اول آن مربوط به ويژگي هاي رکورد مورد نظر و قسمت آخر مشخص کننده نوع اين رکورد (حمله يا نرمال بودن) مي باشد که اسامي و نوع داده مربوطه در جدول (2-2) آمده است.
با بررسي اين مجموعه داده مشخص است که اين مجموعه به دليل مشکلاتي که داراست غالبا براي تشخيص نفوذ مناسب نمي باشد [5]. در [5]، دو مورد از مهمترين مشکلات اين مجموعه داده مورد برطرف شده و مجموعه داده جديد بنام NSL-KDD در [27] قرار داده شده است.


پاسخ دهید