فهرست مطالب
چکیده............ . 1
فصل 1 کلیات تحقیق........ . 2
1.1 مقدمه..... . 3
1.2 تاریخچه......... . 5
1.3 سوالات تحقیق........ . 9
1.4 فرضیه های تحقیق...... 9
1.5 تعاریف........ 10
1.5.1 بات نت........ . 10
1.5.2 بات نت C&C.......... . 10
1.5.3 شبکه های بیزین........ . 11
1.5.4 الگوریتم بیزین...................................... . 12
1.5.5 جریان شبکه.......................................... . 13
1.5.6 یادگیری ماشین....................................... . 15
1.5.6.1 ماشین بردار پشتیبان............................. . 17
1.5.6.2 شبکه های عصبی مصنوعی............................ . 17
1.5.6.3 درخت های تصمیم.................................. . 18
1.5.6.4 k نزدیکترین همسایه.............................. . 19
1.5.6.5 دسته بندی کننده ساده بیز........................ . 20
1.5.6.5.1 تئوری بیز................................... . 25
فصل 2 مرور بر کارهای گذشته..................................... . 29
2 مقدمه..................................................... . 30
2.1 معماری دستور و کنترل..................................... . 30
2.1.1 سرورهای C&C متمرکز................................... . 31
2.1.2 سرور C&C مبتنی بر P2P................................................................. . 32
2.1.3 سرور C&C بدون ساختار................................. . 33
2.2 رخداد های رها سازی....................................... . 34
2.3 پروتکل ارتباطی........................................... . 35
2.4 مکانیزم صف آرایی......................................... . 36
2.4.1 IP سخت کد گذاری شده............................... . 36
2.4.2 نام دامنه DNS پویا................................... . 37
2.4.3 سرویس DNS توزیعی..................................... . 37
2.5 حملات..................................................... . 38
2.5.1 حملات DDOS............................................ . 38
2.5.2 اسپمینگ............................................ . 38
2.5.3 خرناس............................................... . 39
2.5.4 جعل کلیک............................................ . 39
2.5.5 جعل هویت............................................ . 39
2.6 تحلیل رفتاری............................................. . 40
2.6.1 رفتارهای مبتنی بر شبکه.............................. . 40
2.6.2 رفتارهای مبتنی بر میزبان............................ . 41
2.6.3 رفتارهای همبسته جهانی............................... . 41
2.7 تحلیل سه ربات............................................ . 42
2.7.1 زئوس................................................ . 42
2.7.2 کوب فیس............................................. . 43
2.7.3 تورپینگ.............................................. . 45
2.7.4 نتیجه گیری........................................... . 46
فصل 3 روش پیشنهادی............................................ . 48
3 روش پیشنهادی................................................. . 49
3.6 معماری روش پیشنهادی...................................... . 51
3.6.1 شبیه سازی داده ها................................... . 54
3.6.2 تحلیل بسته های شبکه، استخراج آمار و ارقام........... . 56
3.6.3 پیش پردازش دستی داده................................ . 57
3.6.4 انتخاب ویژگی........................................ . 58
3.6.5 اجرای الگوریتم بیزین................................ . 59
3.7 پیاده سازی و شبه کد روش پیشنهادی......................... . 63
3.8 ویژگی های روش پیشنهادی................................... . 64
فصل 4 نتایج روش پیشنهادی...................................... . 66
4 نتایج روش پیشنهادی .......................................... . 67
4.1 پلتفرم اجرا............................................. . 68
4.2 نتایج اجرا............................................... . 71
4.2.1 تاثیر انتخاب ویژگی.................................. . 73
4.2.2 مقایسه الگوریتم KNN و ساده بیز......................... 76
4.3 نتیجه گیری و پیشنهادات................................... . 77
منابع و مراجع ................................................... 78
منابع فارسی.................................................... 79
منابع انگلیسی.................................................. . 79
چکیده انگلیسی.................................................. . 82
فهرست جدول
جدول1 - توپولوژی های دستور و کنترل (Evan Cooke, 2009).. 31
جدول 2 - نحوه گردآوری دادههای مجموعه ISOT. 55
جدول 3 - برخی از هاستهای سالم و بات.. 55
جدول 4 - اطلاعات آماری جریانهای ذخیره شده.. 55
جدول 5 - شرح ویژگی ها.. 57
جدول 6- نمایی از دادههای اولیه.. 70
جدول 7 - اطلاعات آماری متغیرها.. 71
جدول 8 - نمودار فراوانی متغیرها73
جدول 9 - نمایی از جدول سردرگمی.. 74
جدول 10 - ماتریس سردرگمی به ازای مدل 1. سمت راست: نتایج آموزش، سمت چپ: نتایج تست.75
جدول 11- ماتریس سردرگمی به ازای مدل 2. سمت راست: نتایج آموزش، سمت چپ: نتایج تست.75
جدول 12-بررسی تاثیر انتخاب ویژگی بر ساخت مدل.. 76
جدول 13- بررسی دو روش نیوبیز وKNN.. 77
فهرست نمودارها
نمودار 1- نمودار مربوط به فراوانی داده در Weka. 72
فهرست اشکال
شکل 1 - سرورهای C&C متمرکز (Jacob, 2010).. 32
شکل 2 - شبکه رباتی P2P دوگانه (Jacob, 2010).. 33
شکل 3 - شاخص کنترل زئوس (Manky, 2009)43
شکل 4 - زیرساخت شبکه تورپیگ.. 46
شکل 5 - نمونهایازشبکهعصبیبایکلایهمخفی (برومندنیا, 1391) 18
شکل 6 –درخت تصمیم گیری (برومندنیا, 1391).. 19
شکل 7 - چارچوب روش پیشنهادی.. 53
شکل 8 - فرمت بسته.. 56
شکل 9 - فرمت بستههای IPV4. 56
شکل 10- کد تابعLearner به زبان Matlab. 61
شکل 11- شبه کد روش پیشنهادی.. 63
شکل 12- محیط نرم افزار Network Miner. 69
شکل 13 - بخشی از بسته های تفسیر شده توسط نرم افزار Network Miner. 69
چکیده
بات نت (Botnet) یکی از مهمترین تهدیدکننده امنیتی در چند سال اخیر
شناختهشده است. گستردگی ارتباطات، به اشتراکگذاری منابع، حس کنجکاوی، کسب
پول، جمعآوری اطلاعات و به دست آوردن ظرفیت منابع، انگیزههایی برای
ایجاد بات نت میباشند. بات نتها توسط مهاجمان برای انجام دادن فعالیتهای
بدخواهانه و غیرقانونی، از راه دور کنترل میشوند. بات نتها بسیاری از
حملات خطرناک از قبیل جلوگیری از سرویس توزیعشده، هرزنامه، فعالیتهای
جعلی و غیره انجام میدهند. با توجه به معماری C&C بات نتها تشخیص
حملات آنها نیز مشکل میشود معماری غیرمتمرکز و ترکیبی تشخیص اینگونه بات
نتها را مشکل کرده است البته خوشبختانه بیشتر بات نتها معماری متمرکزی
دارند. ما در این پژوهش برای شناسایی بات نتها از روش یادگیری دستهبندی
ساده بیز استفاده کردیم تا یادگیری انجام و مدل برحسب آن ساخته شود و برحسب
آن پیشگویی اینکه آیا میزبانی بات هست یا نه؟ انجام گیرید. این روش برخلاف
روشهای دستهبندی دیگر مانند درخت تصمیم و نزدیکترین همسایه و... دارای
پیچیدگی کمتر، اثبات بهینگی، حساسیت نداشتن به دادههای نامتقارن و... دارا
است و با یک سری پیشپردازشهای دستی و انتخاب ویژگی بهصورت هوشمند به
بهینه شدن روش کمک کردیم درروش هوشمند از الگوریتم انتخاب ویژگی
information Gain و نرمافزار Weka جهت انتخاب ویژگی مؤثر استفادهشده است
که در ارزیابیها نشان دادهشده که فاز انتخاب ویژگی بر کارایی ساده بیز
تأثیر دارد و باعث بهبود عملکرد ساده بیز میشود. برای ارزیابی روش
پیشنهادی از مجموعه داده آماده Waledac, Storm و آزمایشگاه ترافیک اریکسون
استفادهشده است؛ که در مقایسهای که از روش پیشنهادی با الگوریتم KNN
داشتیم، روش بیز دارای کارایی بیشتری ازنظر حساسیت به نسبت KNN دارا بود.
واژههای کلیدی: بات نت (Botnet)، دستهبندی، ساده بیز
فصل 1 کلیات تحقیق
1.1 مقدمه
یکی از تهدیدهای روزافزون در اینترنت و شبکههای کامپیوتری که اصل در
دسترسپذیری را نقض میکند، بات نت است. بات نت شبکهای از کامپیوترهای
آلوده است که به اینترنت متصل میباشند و برای حملههای توزیعشدهی
اینترنتی همانند رد سرویس مورداستفاده قرار میگیرند. گستردگی ارتباطات، به
اشتراکگذاری منابع، حس کنجکاوی، کسب پول، جمعآوری اطلاعات و به دست
آوردن ظرفیت منابع، انگیزههایی برای ایجاد بات نت میباشند.
بات نتها توسط مهاجمان برای انجام دادن فعالیتهای بدخواهاند و
غیرقانونی، از راه دور کنترل میشوند؛ بنابراین، آنها را ربات یا بهطور
کوتاه شده بات میگویند و این نامگذاری از رفتار خودکار آنها سرچشمه
میگیرد. برخلاف کرمها و ویروسها که اهداف خرابکارانه دارند، هدف از
بهکارگیری بات نتها توسط کنترلکنندههای آنان معمول مالی است. روشهایی
که امروزه برای به دست آوردن سود از بات نتها وجود دارند عبارتاند از
اجاره بات نت به شخصی دیگر برای ارسال نامههای ناخواسته، اخاذی از شرکتها
در مقابل حملههای رد سرویس، سرقت اطلاعات شخصی افراد مثل اطلاعات
کارتهای اعتباری آنها و... . به علت صرفهی بسیار زیادی که بات ها داشتند
تعداد بسیار زیادی بات جدید و شخصیسازیشده وارد عرصه شدند که این باعث
شد که شمار باتها و بات نتها بهسرعت در حال رشد باشد.
تعداد شبکههای بات نت روزانه در حال افزایش است و از طرفی سازندگان
چنین شبکههایی از فناوریها و فنهای جدید استفاده میکنند. بر اساس
گزارشی که توسط مرکز امنیتی Symantec انتشاریافته است، تعداد بات نتهایی
که در دنیا پراکندهشدهاند، حدود ۳٫۵ تا 5,4 میلیون عدد است. با افزایش
پهنای باند شبکهها و قدرت محاسباتی ماشینها، امروزه محاسبات توزیعشده
بهوفور مورداستفاده قرار میگیرد. در این راستا مجرمان اینترنتی و هکرها
هم از این مفهوم برای انجام حملههای قدرتمند استفاده میکنند. بات نتها
نمونهی علمی این نوع حملهها هستند.
بات نتها معمولاً برای هدایت فعالیتهای مختلفی مورداستفاده قرار
میگیرند. این فعالیتها میتواند شامل: حملات انکار سرویس توزیعشده،
هرزنامه، ابزار جاسوسی غیره باشد. بسیاری از بات نتها مبتنی بر IRC هستند
که معماری متمرکزی دارند و بسیار بزرگ هستند که این دو ویژگی کشف این نوع
باتنت را تسهیل میکنند. در سالهای اخیر روشهای زیادی برای تشخیص بات
نتهای مبتنی بر IRC پیشنهادشدهاند، به همین خاطر طراحان باتنت سعی
کردهاند امکانات جدیدی به این نوع حملات اضافه کنند که مهمترین آنها،
معماری غیرمتمرکز آن است. همچنین آنها توانستند با استفاده از پروتکلهای
شبکهی نظیر به نظیر یک شبکه از باتها معرفی کنند که نهتنها برای افزایش
سرعت انتشار باتها استفاده میشود، بلکه برای ساخت بات نتها با توان
بیشتر هم مورداستفاده قرار میگیرد. هر بات در این نوع شبکه میتواند نقش
فرماندهی و کنترل داشته باشد، بنابراین حملهکننده با برقرارکننده ارتباط
با شبکه باتنت بهعنوان یک همکار و ارسال فرمان به بقیه باتها، اجرای عمل
فرماندهی و کنترل توسط چندین بات عمل میکند، درنتیجه کشف آنها سخت خواهد
شد.
باتنتها شبکههایی از کامپیوترهای آلوده هستند. این کامپیوترها تحت
کنترل یک مجموعه دستورات هستند که از طریق نرمافزاری که آگاهانه یا
ناآگاهانه بر روی آنها نصبشده است، مدیریتشده و تغییر میکنند. این
نرمافزار توسط یککامپیوتر خرابکار کنترل میگردد. ممکن استباتنتها دارای
کارکردهای قانونی نیزباشند، ولی در اغلب موارد با فعالیتهای مجرمانه برای
انتشار هرزنامه، بدافزار یاحملات سرقت هویت در ارتباطاند. بر اساس مطالعات
اخیر، حدود 10 درصد از تمامیکامپیوترهای موجود بر روی اینترنت
توسطباتنتها آلودهشدهاند. زمانی که یککامپیوتر توسط نرمافزاربات
نتآلوده میشود، دیگر قادر نخواهد بود در برابردستورات مالکبات نتمقاومت
کرده یا از اجرای آنها سرباز زند. برخی اوقات ازکامپیوترهای موجود دربات
نتها بهعنوانزامبی نام برده میشود.