رشته مهندسی فناوری اطلاعات
عنوان :بررسی و تشخیص نفوذ با استفاده از الگوریتم های دادهکاوی
استاد راهنما:دکتر حسین مومنی
استاد مشاور: دکتر جواد وحیدی
برای رعایت حریم خصوصی نام نگارنده پایان نامه درج نمی شود
(در فایل دانلودی نام نویسنده موجود است)
تکه هایی از متن پایان نامه به عنوان نمونه :
(ممکن است هنگام انتقال از فایل اصلی به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است)
چکیده
با رشد فناوری اطلاعات، امنیت شبکه به عنوان یکی از مباحث مهم و چالش بسیار بزرگ مطرح است. سیستم های تشخیص نفوذ، مولفه اصلی یک شبکه امن است. سیستم های تشخیص نفوذ سنتی نمیتوانند خود را با حملات جدید تطبیق دهند از این رو امروزه سیستم های تشخیص نفوذ مبتنی بر دادهکاوی مطرح گردیدهاند. مشخص نمودن الگوهای در حجم زیاد داده، کمک بسیار بزرگی به ما میکند. روشهای دادهکاوی با مشخص نمودن یک برچسب دودویی (بسته نرمال، بسته غیرنرمال) و همچنین مشخص نمودن ویژگیها و خصیصه با الگوریتمهای دستهبندی میتوانند داده غیرنرمال تشخیص دهند. از همین رو دقت و درستی سیستمهای تشخیصنفوذ افزایش یافته و در نتیجه امنیت شبکه بالا میرود. در این پایاننامه ما مدلی پیشنهادی ارائه مینماییم که الگوریتمهای مختلف دستهبندی را روی مجموعه داده خود تست نموده و نتایج شبیهسازی نشان میدهد در درخت تصمیم الگوریتم J48 ، شبکه عصبی الگوریتم Neural net ، شبکه بیزین الگوریتم HNB ، مدل کاهل الگوریتم K-STAR، در ماشین بردار پشتیبان الگوریتم LibSVM و در مدل قانون محور الگوریتمRule Induction Single Attribute دارای بهترین جواب از نظر پارامترهای مختلف ارزیابی برای سیستم تشخیص نفوذ است. بین تمامی الگوریتمها با این مجموعه داده، الگوریتم J48 دارای بالاترین مقدار درستی به میزان 85.49%، دارای بالاترین میزان دقت به مقدار 86.57% و دارای بالاترین مقدار یادآوری به مقدار 86.57% میباشد. نوآوری اصلی در پایاننامه، استفاده از الگوریتمهای مدل کاهل و مدل قانونمحور است که تاکنون برای سیستمهای تشخیصنفوذ استفاده نشده است. و همچنین پیشنهاد 5 نمونه داده که از داده اولیه استخراج شده که برای مدلهای مختلف و الگوریتمها بهترین جواب را میدهد.
کلمات کلیدی: داده کاوی، کشف تقلب، یادگیری بانظارت، تشخیصنفوذ و حملات
فهرست مطالب
فصل اول 1
1-1 مقدمه. 2
1-2 بیان مسئله. 3
1-3 اهمیت و ضرورت تحقیق.. 4
1-4 اهداف تحقیق.. 5
1-5 تعاریف و اختصار. 6
1-6 ساختار پایاننامه. 9
فصل دوم 10
2-1 دادهکاوی.. 11
2-1-1دستهبندی 11
2-2مدلها و الگوریتمهای دادهکاوی.. 13
2-2-1 شبکههای عصبی 13
2-2-2درخت تصمیم 16
2-2-3 روش طبقهبندی بیزین 19
2-3-2-2 شبکههای بیزین 20
2-2-4 مدل قانونمحور 22
2-2-5 مدل کاهل 26
2-2-6ماشین بردارپشتیبان 32
2-3 مقدمهای بر تقلب… 36
2-3-1 ساختن مدل برای تقلب 36
2-3-2 اصول کلی تقلب: 36
2-3-3 چگونگی شناسایی تقلب: 37
2-3-4 چگونگی ساخت مدل تقلب: 37
2-4 مقدمهای بر سیستم تشخیص نفوذ. 38
2-4-1 تعاریف اولیه 39
2-4-2 وظایف عمومی یک سیستم تشخیص نفوذ: 39
2-4-3 دلایل استفاده از سیستم های تشخیص نفوذ: 40
2-4-4 جمع آوری اطلاعات 41
2-4-5 تشخیص و تحلیل: 41
2-4-6 تشخیص سوء استفاده: 41
2-4-7 تشخیص ناهنجاری: 42
2-4-8 مقایسه بین تشخیص سوء استفاده و تشخیص ناهنجاری: 42
2-4-9 پیاده سازی سیستمهای تشخیص نفوذ: 42
2-5 تعاریف برخی مقادیر ارزیابی مورد استفاده در سیستم داده کاوی: 44
2-5-1Confusion matrix: 46
2-5-2 درستی 47
2-5-3 میزان خطا 47
2-5-4 حساسیت، میزان مثبت واقعی، یاد آوری 47
2-5-5 ویژگی، میزان منفی واقعی 48
2-5-6 حساسیت: 48
2-5-7دقت 49
2-5-8 معیار F: 49
2-6 پژوهشهای انجام شده در این زمینه: 50
2-6-1 پژوهش اول: کشف تقلب در سیستمهای مالیبا استفاده از دادهکاوی… … 51
2-6-2 پژوهش دوم: کشف تقلب در کارت اعتباری با استفاده از شبکه عصبی و بیزین 53
2-6-3پژوهش سوم: شناسایی تقلب بیمه با استفاده از تکنیکهای دادهکاوی…….. ……… 56
2-6-4 پژوهش چهارم: استفاده از الگوریتم ژنتیک برای تشخیص تست نفوذ. 62
2-6-5 پژوهش پنجم: شناسایی ترافیک غیرنرمال در شبکه با الگوریتم خوشه بندی 65
3-1 روش تحقیق.. 71
3-2 دادههای آموزشی و تست: 73
3-2-1 ویژگیهای دادهها ………. 73
3-2-2 ویژگیهای اساسی مجموعه دادهها: 73
4-1 الگوریتمهای مدل بیزین و ارزیابی آنها 83
4-2 مدل کاهل.. 92
4-3 شبکه عصبی.. 99
4-4 مدل قانون محور. 108
4-5 درخت تصمیم. 118
4-6 ماشین بردار پشتیبان.. 130
فصل پنجم 139
5-1 مقدمه. 140
5-2 مزایا 141
5-3 پیشنهادات… 141
فصل ششم 143
فهرست منابع. 144
پیوستها 148
پیوست الف -مجموعه داده نوع اول: 148
پیوست ب-مجموعه داده نوع دوم. 153
پیوست ج-نوع داده مجموعه سوم: 156
پیوست د-مجموعه داده نوع چهارم. 161
پیوست ه -مجموعه داده نوع پنجم. 190
فهرست جداول
جدول2‑1: تعریف معیارها 45
جدول2‑2: ماتریس Confusion. 46
جدول2‑3:معیارهای مختلف ارزیابی وفرمول آنها 50
جدول2‑4: مقایسه نتیجه بین شبکهعصبی وشبکه بیزین.. 56
جدول2‑5: داده برای دسته بندی بیزین 59
جدول2‑6: داده برای دستهبندی بیزین 60
جدول2‑7: ارزیابی درخت تصمیم 62
جدول2‑11: ارزیابی با استفاده ازخوشهبندی.. 69
جدول3‑1 :ویژگیهای اساسی استخراج شده ازارتباطTCP. 74
جدول3‑2 :ویژگی های استخراجی ازارتباطTCP. 74
جدول3‑3: ویژگیهای استخراج شده ازپنجره. 76
جدول4‑2: ماتریس Confusion الگوریتم Kernel naive Baysian 83
جدول4‑1: معیارهای ارزیابی ونتایج الگوریتم Kernel naive Baysian 84
جدول4‑4: ماتریس Confusion الگوریتم Naive Baysian. 84
جدول4‑3: معیارهای ارزیابی ونتایج الگوریتم Naive Baysian 84
جدول4‑6: ماتریس Confusion الگوریتم Waode. 85
جدول4‑5: معیارهای ارزیابی ونتایج الگوریتم Waode. 85
جدول4‑8: ماتریس Confusion الگوریتم Aode. 85
جدول4‑7: معیارهای ارزیابی و نتایج الگوریتم Aode. 86
جدول4‑10: ماتریسConfusion الگوریتم Aodesr 86
جدول4‑9: معیارهای ارزیابی ونتایج الگوریتم Aodesr 86
جدول4‑12: ماتریسConfusion الگوریتم Bayesenet 87
جدول4‑11: معیارهای ارزیابی ونتایج الگوریتم Bayesenet 87
جدول4‑13: معیارهای ارزیابی ونتایج الگوریتم HNB.. 88
جدول4‑14: ماتریسConfusion الگوریتم HNB 88
جدول4‑16: ماتریس Confusion الگوریتم Dmnbtext 88
جدول4‑15: معیارهای ارزیابی ونتایج الگوریتم Dmnbtext 89
جدول4‑18: ماتریسConfusion الگوریتم BaysianLogic Regression. 89
جدول4‑17: معیارهای ارزیابی ونتایج الگوریتم BaysianLogic Regression. 89
جدول4‑20: ماتریسConfusion الگوریتم IB1. 93
جدول4‑19: معیارهای ارزیابی و نتایج الگوریتم IB1 93
جدول4‑21: معیارهای ارزیابی ونتایج الگوریتم IBK.. 93
جدول4‑22: ماتریس Confusion الگوریتم IBK.. 94
جدول4‑24: ماتریس Confusion الگوریتم LWL. 94
جدول4‑23: معیارهای ارزیابی ونتایج الگوریتم LWL. 94
جدول4‑26: ماتریسConfusion الگوریتم KSTAR.. 95
جدول4‑25: معیارهای ارزیابی ونتایج الگوریتم KSTAR.. 95
جدول4‑27: معیارهای ارزیابی ونتایج الگوریتم KNN.. 95
جدول4‑28: ماتریس Confusion الگوریتم KNN.. 96
جدول4‑29: معیارهای ارزیابی ونتایج شبکه MLP. 101
جدول4‑30: ماتریس ConfusionشبکهMLP 101
جدول4‑32: ماتریس Confusionشبکه Perceptrons. 102
جدول4‑31: معیارهای ارزیابی ونتایج شبکه Perceptrons 103
جدول4‑34: ماتریسConfusion الگوریتم RBF. 104
جدول4‑33: معیارهای ارزیابی ونتایج الگوریتم RBF. 104
جدول4‑36:ماتریسConfusion الگوریتم Neural net 105
جدول4‑35:معیارهای ارزیابی ونتایج الگوریتم Neural net 105
جدول4‑38: ماتریس Confusion الگوریتم Conjuctive rule. 108
جدول4‑37: معیارهای ارزیابی ونتایج الگوریتم Conjuctive rule. 108
جدول4‑39: معیارهای ارزیابی ونتایج الگوریتم decision table. 109
جدول4‑40: ماتریسConfusion الگوریتم decision table. 109
جدول4‑41 :معیارهای ارزیابی ونتایج الگوریتم DTNB.. 110
جدول4‑42: ماتریسConfusion الگوریتم DTNB.. 110
جدول4‑44: ماتریس Confusion الگوریتم JRIP. 110
جدول4‑43: معیارهای ارزیابی ونتایج الگوریتم JRIP. 111
جدول4‑45: معیارهای ارزیابی ونتایج الگوریتم ONER.. 111
جدول4‑46: ماتریس Confusion الگوریتم ONER.. 111
جدول4‑47: معیارهای ارزیابی ونتایج الگوریتم PRSIM.. 112
جدول4‑48: ماتریس Confusion الگوریتم PRSIM.. 112
جدول4‑49: معیارهای ارزیابی ونتایج الگوریتم RIDOR.. 112
جدول4‑50: ماتریسConfusion الگوریتم RIDOR.. 113
جدول4‑51: معیارهای ارزیابی ونتایج الگوریتم RULE Induction. 113
جدول4‑52: ماتریسConfusion الگوریتم RULE Induction. 113
جدول4‑53: معیارهای ارزیابی ونتایج الگوریتم RULE Induction single attribute. 114
جدول4‑54: ماتریسConfusion الگوریتم RULE Induction single attribute. 114
جدول4‑55: معیارهای ارزیابی ونتایج الگوریتم TREE by rule. 114
جدول4‑56:ماتریس Confusion الگوریتم TREE by rule. 115
جدول4‑57: معیارهای ارزیابی ونتایج الگوریتم part 115
جدول7‑58: ماتریسConfusion الگوریتم part 115
جدول4‑59: معیارهای ارزیابی ونتایج الگوریتم CHAID.. 119
جدول4‑60: ماتریسConfusion الگوریتم CHAID.. 119
جدول4‑61: معیارهای ارزیابی ونتایج الگوریتم DECISION TREE 119
جدول4‑62: ماتریس Confusion الگوریتم DECISION TREE. 120
جدول4‑63: معیارهای ارزیابی ونتایج الگوریتم J48. 120
جدول4‑64: ماتریسConfusion الگوریتم J48. 120
جدول4‑65: معیارهای ارزیابی ونتایج الگوریتم FT. 121
جدول4‑66: ماتریس Confusion الگوریتم FT 121
جدول4‑68: ماتریس Confusion الگوریتم ID3. 121
جدول4‑67: معیارهای ارزیابی ونتایج الگوریتم ID3. 122
جدول4‑69: معیارهای ارزیابی ونتایج الگوریتم LAD.. 122
جدول4‑70: ماتریس Confusion الگوریتم LAD.. 122
جدول4‑71: معیارهای ارزیابی ونتایج الگوریتم ADT. 123
جدول4‑72: ماتریس Confusion الگوریتم ADT. 123
جدول4‑73: معیارهای ارزیابی ونتایج الگوریتم BF. 123
جدول4‑74: ماتریس Confusion الگوریتم BF. 123
جدول4‑75:معیارهای ارزیابی ونتایج الگوریتم LMT. 124
جدول4‑76:ماتریسConfusion الگوریتم LMT. 124
جدول4‑77: معیارهای ارزیابی ونتایج الگوریتم J48graft 124
جدول4‑78: ماتریس Confusion الگوریتم J48graft 125
جدول4‑79: معیارهای ارزیابی ونتایج الگوریتم NB 125
جدول4‑80:ماتریس Confusion الگوریتم NB.. 125
جدول4‑81:معیارهای ارزیابی ونتایج الگوریتم REEPTREE 126
جدول4‑82: ماتریس Confusion الگوریتم REEPTREE. 126
جدول4‑83: معیارهای ارزیابی ونتایج الگوریتم Simplecart 126
جدول4‑84:ماتریس Confusion الگوریتم Simplecart 127
جدول4‑85:معیارهای ارزیابی ونتایج روش Libsvm.. 130
جدول4‑86: ماتریسConfusion روش Libsvm.. 130
جدول4‑87: معیارهای ارزیابی ونتایج روش Support vector machine. 131
جدول4‑88: ماتریس Confusion روش Support vector machine 131
جدول4‑89: معیارهای ارزیابی ونتایج روش Support vector machine(linear) 132
جدول4‑90: ماتریسConfusion روش Support vector machine(linear) 132
جدول4‑91: معیارهای ارزیابی ونتایج روش Speggeous. 132
جدول4‑92: ماتریسConfusion روش Speggeous. 133
جدول4‑93: معیارهای ارزیابی ونتایج روش W-svm.. 133
جدول4‑94: ماتریس Confusion روش W-svm.. 133
جدول4‑95: معیارهای ارزیابی ونتایج روش Fast large. 134
جدول4‑96: ماتریس Confusion روش Fast large. 134
فهرست اشکال و نمودارها
شکل2‑1: معماری یک نمونه سیستم دادهکاوی 12
شکل2‑2: Wx,yوزن یال بینXو Yاست. 15
شکل2‑3: درخت تصمیم گیری 17
شکل2‑4: شبکه بیزین 21
شکل2‑5: شبه کد الگوریتم توالی پوشش… 26
شکل2‑6: شبکه کد الگوریتم IB3. 29
شکل2‑7: شبکه کد مربوطذ به الگوریتمKDD 31
شکل2‑8: انواع سیستم های تشخیص تقلب… 38
شکل2‑9: معماری یک سیستم تشخیص نفوذ. 40
شکل2‑10: چارچوب کلی دادهکاوی برای کشف تقلب 52
شکل2‑11: مقایسه خروجیهابااستفاده ازنمودارROC.. 55
شکل2‑12: الگوریتم استخراج شده ازدرخت تصمیم. 61
شکل2‑13: عملکرد الگوریتم ژنتیک 63
شکل2‑14: قاعده استخراج شده ازالگورِیتم ژنتیک 64
شکل2‑15: توابع مربوط به الگوریتم ژنتیک ومقداردهی آنها 64
شکل2‑16: معماری الگوریتم ژنتیک برای تست نفوذ 65
شکل2‑17: خوشه بندی برایk=2. 67
شکل2‑18: شناسایی دادهغیرنرمال 68
شکل2‑19: ترکیب دستهبندی وشناسایی غیرنرمال.. 68
شکل3‑1: معماری پیشنهاد داده شده برای تشخیص نفوذ باروش مبتنی بردادهکاوی.. 72
شکل3‑2: مدلسازی الگوریتم شبکهعصبی با نرمافزارRapidminer 78
شکل3‑3: مدلسازی الگوریتم مدلبیزین با نرمافزارRapidminer 78
شکل3‑4: مدلسازی الگوریتم درخت تصمیم با نرمافزارRapidminer 79
شکل3‑5: مدلسازی الگوریتم مدلقانونمحوربا نرمافزارRapidminer 79
شکل3‑6: مدلسازی الگوریتم مدل بردارپشتیبان با نرمافزارRapidminer 80
شکل3‑7: مدلسازی الگوریتم مدل کاهل بانرم افزارRapidminer 80
شکل3‑8: نمونهای ازخروجی نرمافزار Rapidminerباپارامترهای مختلف ارزیابی.. 81
شکل4‑1: نمودار ارزیابی الگوریتمهای مدل بیزین برحسب پارامتر درستی.. 90
شکل4‑2: نمودار ارزیابی الگوریتمهای مدل بیزین برحسب پارامتر دقت… 90
شکل4‑3: نمودار ارزیابی الگوریتمهای مدل بیزین بر حسب پارامتر یادآوری.. 91
شکل4‑4: نمودار ارزیابی الگوریتمهای مدل بیزین برحسب پارامتر F. 91
شکل4‑5: نمودار ارزیابی الگوریتمهای مدل بیزین برحسب پارامترهای مختلف… 92
شکل4‑6: نمودار ارزیابی الگوریتمهای مدل کاهل برحسب پارامتر درستی.. 96
شکل4‑7: نمودار ارزیابی الگوریتمهای مدل کاهل برحسب پارامتر دقت… 97
شکل4‑8: نمودار ارزیابی الگوریتمهای مدل کاهل برحسب پارامتر یادآوری.. 97
شکل4‑9: نمودار م ارزیابی الگوریتمهای مدل کاهل برحسب پارامتر F. 98
شکل4‑10: نمودار مربوط به ارزیابی الگوریتمهای مدل کاهل برحسب پارامترهای مختلف… 98
شکل4‑11: نمونه ای ازشبکهMLP. 100
شکل4‑12: عملکرد شبکه پرسپتون.. 102
شکل4‑13: نمونه ای ازشبکهRBF. 103
شکل4‑14:نمودار ارزیابی مدلهای شبکه عصبی برحسب پارامتر درستی.. 105
شکل4‑15: نمودار ارزیابی مدلهای شبکه عصبی برحسب پارامتر دقت… 106
شکل4‑16: نمودار ارزیابی مدلهای شبکه عصبی برحسب پارامتر یادآوری.. 106
شکل4‑17: نمودار ارزیابی مدلهای شبکه عصبی برحسب پارامتر F. 107
شکل4‑18: نموداره ارزیابی مدلهای شبکه عصبی برحسب پارامتر مختلف… 107
شکل4‑19:نمودار ارزیابی الگوریتمهای مدل قانونمحور برحسب پارامتر درستی.. 116
شکل4‑20: نمودار ارزیابی الگوریتمهای مدل قانونمحور برحسب پارامتر دقت… 116
شکل4‑21: نمودار ارزیابی الگوریتمهای مدل قانونمحور برحسب پارامتر یادآوری.. 117
شکل4‑22: نمودار ارزیابی الگوریتمهای مدل قانونمحور برحسب پارامتر F. 117
شکل4‑23: نمودار ارزیابی الگوریتمهای مدل قانون محور برحسب پارامتر مختلف… 118
شکل4‑24:نمودار ارزیابی الگوریتمهای مدل درخت برحسب پارامتر درستی.. 127
شکل4‑25: نمودار ارزیابی الگوریتمهای مدل درخت برحسب پارامتر دقت… 128
شکل4‑26: نمودار ارزیابی الگوریتمهای مدل درخت برحسب پارامتر یادآوری.. 128
شکل4‑27: نمودار ارزیابی الگوریتمهای مدل درخت برحسب پارامتر F. 129
شکل4‑28: نمودار ارزیابی الگوریتمهای مدل درخت برحسب پارامتر مختلف… 129
شکل4‑29: نمودار ارزیابی روشهای مختلف ماشین بردارپشتیبان برحسب پارامتر درستی 135
شکل4‑30: نمودار ارزیابی روشهای مختلف ماشین بردارپشتیبان برحسب پارامتر یادآوری 135
شکل4‑31: نمودار ارزیابی روشهای مختلف ماشین بردارپشتیبان برحسب پارامتر F. 136
شکل4‑32: نمودار ارزیابی روشهای مختلف ماشین بردارپشتیبان برحسب پارامتر دقت… 136
شکل4‑33: نمودار ارزیابی روشهای مختلف ماشین بردارپشتیبان برحسب پارامتر مختلف 137
شکل 4-34: نمودار مربوط به مقایسه بین همه الگوریتمها بر حسب پارامترهای مختلف 137
مقدمه
از آنجایی که از نظر تکنیکی ایجاد سیستمهای کامپیوتری بدون نقاط ضعف و شکست امنیتی عملا غیر ممکن است. تشخیص نفوذ در سیستمهای کامپیوتری با اهمیت خاصی دنبال میشود. سیستمهای تشخیص نفوذ سختافزار یا نرمافزاری است که کار نظارت بر شبکه کامپیوتری را در مورد فعالیتهای مخرب و یا نقص سیاستهای مدیریتی و امنیتی را انجام میدهد و گزارشهای حاصله را به بخش مدیریت شبکه ارائه میدهد[1]. سیستمهای تشخیص نفوذ وظیف شناسایی و تشخیص هر گونه استفاده غیر مجاز به سیستم، سوء استفاده و یا آسیب رسانی توسط هر دودسته کاربران داخلی و خارجی را بر عهده دارند. هدف این سیستمها جلوگیری از حمله نیست و تنها کشف و احتمالا شناسایی حملات و تشخیص اشکالات امنیتی در سیستم یا شبکهکامپیوتری و اعلام آن به مدیر سیستم است. عموما سیستمهای تشخیص نفوذ در کنار دیوارهای آتش و بصورت مکمل امنیتی برای آنها مورد استفاده قرار میگیرد. سیستم های تشخیص نفوذ ستنی نمیتوانند خود را با حملات جدید تطبیق دهند از این رو امروزه سیستم های تشخیص نفوذ مبتنی بر دادهکاوی مطرح گردیدهاند[1]. مشخص نمودن الگوهای در حجم زیاد داده، کمک بسیار بزرگی به ما میکند. روشهای دادهکاوی با مشخص نمودن یک برچسب دودویی (بسته نرمال، بسته غیرنرمال) و همچنین مشخص نمودن ویژگیها و خصیصه با الگوریتمهای دسته بندی میتوانند داده غیرنرمال تشخیص دهند. از همین رو دقت و درستی سیستم های تشخیص نفوذ افزایش یافته و در نتیجه امنیت شبکه بالا میرود[1].
در این پایاننامه سعی شده است با استفاده از روشهای مبتنی بر دادهکاوی سیتم های تشخیص نفوذ پیشنهاد کنیم که از این روشها برای شناسایی و کشف حملات