1. چکیده

    در میان انواع متعدی از نرم افزارهای مخرب، بات نت ها گسترده ترین و جدی ترین تهدیدی است که امروزه به طور معمول در حملات سایبری رخ می دهد. طبق آخرین گزارشات در سال 2013 میلادی بیش از 61 درصد ترافیک وب توسط شبکه‌های بات تولید می‌شود. به منظور مقابله موثر شبکه‌های بات، نیازمند بررسی دقیق کانال‏‌های فرمان و کنترل در آن‏ها هستیم. این مسأله تبدیل به یکی از چالش‏‌های بزرگ برای سیستم‏‌های امنیتی در سراسر جهان شده است، زیرا مهاجمین به سرعت در حال تغییر استراتژی‏‌های خود برای کانال‏‌های فرمان و کنترل هستند.
    در این بروژه سعی شده است که ضمن معرفی اجمالی روش‌های شناسایی بات ‏نت، با استفاده از تکنیک های خوشه‌بندی(فازی، غیرفازی) و طبقه بندی الگو، رفتارهای شبکه‌های بات شناسایی و پیش بینی گردد.
    کلمات کلیدی: شبکه‌های بات، داده‌کاوی، خوشه‌بندی، طبقه‌بندی، امنیت شبکه، پیش‌بینی رویداد شبکه، تشخیص ناهنجاری.

  2. مقدمه

در میان انواع متعدی از نرم افزارهای مخرب ، بات نت ها گسترده ترین و جدی ترین تهدیدی است که امروزه به طور معمول در حملات سایبری رخ می دهد. بات نت ها مجموعه از رایانه های در خطر هستند که از راه دور به وسیله bot master تحت زیرساخت مشترک C&C کنترل می شوند. تفاوت اصلی بین بات نت با سایر انواع بد افزارها وجود زیر ساخت C&C است که به بات ها اجازه می دهد که دستورات و command ها را دریافت کنند. Bot master باید مطمئن شود که ساختار C&C شان به اندازه کافی قوی است که هزاران بات توزیع شده در سراسر جهان را مدیریت کند و همچنین دربرابر هر گونه تلاش برای از بین بردن بات نت ها مقاوت کند.از بات نت‌ ها در جرایم سازمان یافته به منظور نفوذ در سیستم های امنیتی دولت ها، بانک ها و شرکت ها استفاده فراوانی می شود و کاربرد حملات DDOS و تکنیک های دیگر در آن بسیار متداول است. در سال‌های اخیر بر روی روش‌های تشخیص و جلوگیری از بات‌نت‌ها تحقیقات زیادی انجام شده است، اما بات‌نت‌ها نیز به همان اندازه در حال رشد و گسترش هستند. مهاجمین برای محکم سازی زیربنای ارسال فرامین خود از انواع روش‌های مختلف از قبیلِ رمزنگاری، پروتکل‌های ارتباطی جدید و … استفاده می‌کنند. معماری اولیه‌ی Command and Control (کانال‌های فرمان و کنترل) بات‌نت‌ها به صورت متمرکز بود، ولی به دلیل وجود Single point of failure (در این حالت کل بات‌نت از بین می‌رود)، امروزه از پروتکل ارتباطی نظیر به نظیر غیر متمرکز استفاده می‌کنند. در بات‌نت‌های غیرمتمرکز با شناسایی تعدادی از میزبان‌های آلوده به بات نمی‌توان کل شبکه بات‌نت را از کار انداخت. بات‌نت‌های غیر متمرکز به دو دسته ی نظیر به نظیر و Hybrid (ترکیبی) تقسیم می‌شوند. در یک بات‌نت نظیر به نظیر، بات‌ها می‌توانند با سایر بات‌ها ارتباط برقرار کرده و ترافیک‌ فرمان و کنترل را مبادله کنند.

توضیح تصویر

شکل: ترافیک ایجاد شده توسط بات نت ها در سال 2013 و مقایسه آن با سال 2012

3.معماری بات نت ها

بات‏ نت‏ ها با توجه به سازوکاری که برای فرمان- کنترل خود استفاده می‏کنند از دو معماری کلی استفاده می‏کنند. معماری متمرکز و نامتمرکز:

1.3معماری متمرکز:

در معماری متمرکز که عمومی ‏ترین معماری نیز می‏باشد، یک کارگزار فرمان- کنترل وجود دارد و تمام بات‏ ها دستورات خود را از این کارگزار دریافت می‏کنند. حسن این معماری پیاده ‏سازی آسان و امکان آرایش‏ دهی سریع بات‏ ها است به این معنی که با ارسال دستورات در مدت زمان کوتاهی می‏توان بات‏ ها را برای هدف خاصی آرایش داد. عیب اساسی این روش این است که اگر به دلیلی کارساز فرمان- کنترل از دسترس خارج شود، عملا بات‏ نت از کار می‏افتد.

توضیح تصویر
شکل: معماری متمرکز شبکه های بات نت [8]

2.3معماری غیرمتمرکز:

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

توضیح تصویر
شکل: معماری غیرمتمرکز شبکه های بات نت [8]

4. روش‌های شناسایی بات‌نت:

1.4 روشهای مبتنی بر امضاء (Signature-Based):

این روشها بر اساس الگو و امضاء حملات عمل می­کنند، یعنی سامانه­ تشخیص نفوذ دارای یک بانک اطلاعاتی است که در آن امضاء یا الگوی حملات شناخته شده وجود دارد و هر زمان که یکی از این الگوها در ترافیک شبکه مشاهده شود به عنوان حمله شناسایی می­شود. به این روش­ها، قانون-محور (Rule-Based) نیز گفته می­شود، زیرا با دنباله­ای از دستورات If-Else پیاده ­سازی می­شوند. از مزایای این روشها می­توان به سریع بودن، دقیق بودن و سربار کم آنها اشاره کرد. اما ایراد عمده این روش­ ها آن است که نسبت به تشخیص حملات Zero-Day ضعیف هستند. حملات Zero-Day به حملاتی گفته می­شود که امضاء آنها در بانک امضاء سامانه تشخیص نفوذ وجود ندارد، یا به عبارتی دیگر، جدید هستند و مشابه آن­ها قبلا مشاهده نشده است.
2.4. روشهای مبتنی بر ناهنجاری (Anomaly-Based):
این روش­ ها سعی می­کنند با الگوریتم­ها و تکنیک­های هوش مصنوعی (مثل شبکه­ های عصبی، خوشه ­بندی، درخت تصمیم و ...)، به مرور زمان ترافیک نرمال شبکه را بشناسند و سپس هر ترافیکی که خارج از نرم شبکه باشد را به عنوان نفوذ و تهدید تشخیص دهند. البته چالش اساسی این روشها تعریف ترافیک نرمال و یادگیری است که به آن Training گفته می­شود و عملی زمان گیر است. روش­های مبتنی بر ناهنجاری دارای خطای (False Positive) بیشتری نسبت به روشهای مبتنی بر امضاء هستند و سربار آنها نیز بیشتر است. این روشها فقط قادراند وجود حمله و نفوذ را تشخیص دهند و نه نوع آن را.

روش های شناسایی بات نت
شکل: روش های شناسایی شبکه های بات نت [2]
توضیح تصویر
شکل: مقایسه روش های شناسایی شبکه های بات[7]
5.پیاده سازی یادگیری در سیستم های مبتنی برناهنجاری
1.5طبقه بندی (Classification): در روش طبقه بندی به نمونه­ های آزمایشی نیاز داریم تا از روی پارامترهای داخلی توانایی شناسایی و پیش بینی نوع شبکه بات مهیا شود. این روش، بدلیل اینکه به روش با نظارت صورت می پذیرد از دقت بالایی برخوردار است. در یک بیان دیگر، در این روش، ابتدا حمله را Simulate می­کنیم و بعد نتیجه را به Classifier می­دهیم،
توضیح تصویر
شکل: معماری روش طبقه بندی [10]
2.5خوشه بندی(Clustering):در آمار و یادگیری ماشینی، خوشه‌بندی یا آنالیز خوشه به فرایند گروه‌بندی اشیاء مشابه یکدیگر با هم است. خروجی الگوریتم خوشه‌بندی می‌تواند به دو صورت باشد: (۱) گروه‌بندی اشیا به مجموعه‌های مجزا یا (۲) خوشه‌بندی سلسله مراتبی که یک درخت برای تقسیم‌بندی اشیا پیدا می‌کند. از الگوریتم‌های مشهور برای خوشه‌بندی می‌توان به k-means اشاره کرد. در این روش احتیاجی به نمونه­ های آزمایشی نداریم، یعنی کلاس داده ­ها مشخص نیست. این روش بصورت بدون نظارت و با بررسی ترافیک شبکه آن دسته از اتصالاتی که شباهت یکسان دارد را در یک خوشه قرار می دهد.

6کارهای مرتبط
1.6چوی و همکاران [11] یک روش شناسایی بات نت مبتنی بر ناهنجاری شناسایی کرده اند که با نظارت بر فعالیت گروهی در سرویس DNS بات نت ها را در چرخه حیات خود تشخیث می دهند.
2.6جی یو و همکاران [1][12] یک روش مبتنی بر خوشه بندی برای شناسایی بات نت ها در مرحله حمله ارائه کرده اند. در این روش ابتدا ترافیک ارتباطی و حملات مشابه خوشه بندی شده و سپس یک همبستگی بین خوشه ای انجام می شود. روش فوق برمبنای غیربرخط کار می کند. [4]
7آزمایش‌ها
1.7 داده مورد استفاده در پروژه: داده های مورد استفاده در این پروژه عبارت اند از: نت فلو(NetFlow)، یک پروتکل شبکه‌است که برای جمع‌آوری اطلاعات ترافیک IP طراحی و تولید شده‌است. در حال حاضر نت فلو به یک استاندارد صنعتی برای مانیتورینگ ترافیک شبکه تبدیل شده که توسط پلت فرم‌هایی دیگر پشتیبانی می‌شود،

توضیح تصویر
شکل: شمای کلی داده مورد استفاده در پروژه

زمان ابتدا و انتها در این فیلد تاریخ و ساعت ترافیک انتقالی میان دو سیستم درج شده است.
زمان اتصال: میزان زمان اتصال دو سیستم بخ یکدیگر بر حسب ثانیه
-آدرس آی پی مبدا: آدرس آی پی کلاینت/سرور مبدا در این ستون قرار دارد.
-آدرس آی پی مقصد:آدرس آی پی کلاینت/سرور مقصد در این ستون قرار دارد.
-پورت مبدا:پورت سیستم درخواست دهنده
-پورت مقصد:پورتی که سیستم مبدا از آن برای اتصال به سیستم مقصد استفاده می کند در این فیلد قرار می گیرد.
-پروتکل:نوع پروتکل ارتباطی میان دو سیستم از قبیل TCP، UDP و ICMP
نوع Flag:وضعیت نهایی بسته های ارسالی از سیستم مبدا به مقصد
تعداد Packet:تعداد بسته(Packet) ارسال شده در حین ارتباط
تعداد بایت: تعداد بایت ارسال شده در مجموع Packet های ارسالی
گفتنی است تعداد رکوردهای مورد استفاده در این پروژه، 34 میلیون رکورد از ترافیک یک روز سیستم های تشخیص نفوذ است.
2.7 آماده سازی داده‌: اهمیت آماده سازی داده ها به دلیل این واقعیت است که؛ "فقدان داده با کیفیت برابر با فقدان کیفیت در نتایج کاوش است.

توضیح تصویر

شکل: مراحل پاکسازی داده

7.2.1" جداسازی لیست سفید(White List): در این پروژه با بررسی آی پی های سرورهای 100 تارنمای برتر ایران در سایت الکسا، یک دیتابیس از تمامی آی پی های این 100 سایت ایجاد گردید که با حذف این آی پی ها از مجموع ترافیک دریافتی حدود سه و نیم میلیون از رکوردها حذف گردیدند.

7.2.2" جداسازی ارتباطات ناقص : با استفاده از وضعیت نهایی بسته های ارسالی از سیستم مبدا به مقصد آن دسته از ترافیکی که اتصالات آن یک طرفه و ناقص بود حذف گردیدند. مجموع این ترافیک در حدود 4 میلیون رکورد بود.

7.2.3" تجمیع داده‌ها: در این بخش داده های باقی مانده پس از مراحل جداسازی لیست سفید و جداسازی ارتباطات ناقص براساس فیلدهای آی پی مبدا، آی پی مقصد، پورت مبدا، پورت مقصد و نوع پروتکل برای محاسبه ویژگی های کلی ذیل تجمیع گردید:
1- میزان بسته ارسالی در طول روز
2- میزان بایت ارسالی در طول یک روز
3- مدت کل اتصال در یک روز
4- تعداد اتصال میان دو سیستم در طول روز
در این مرحله از میان 26 میلیون رکورد باقی مانده بیش از 10 میلیون رکورد تجیمع گردیدند

پایگاه داده پس از تجمیع

7.3" کاهش ابعاد:
بسترهای داده­ای که دارای ابعاد زیادی هستند علیرغم فرصتهایی که به وجود می­آورند، چالشهای محاسباتی زیادی را ایجاد می­کنند. یکی از مشکلات داده ­های با ابعاد زیاد اینست که در بیشتر مواقع تمام ویژگیهای داده­ها برای یافتن دانشی که در داده­ها نهفته است مهم و حیاتی نیستند. به همین دلیل در بسیاری از زمینه­ ها کاهش ابعاد داده یکی از مباحث قابل توجه باقی مانده است.[19]
روشهای مبتنی بر استخراج ویژگی: این روشها یک فضای چند بعدی را به یک فضای با ابعاد کمتر نگاشت می­کنند. در واقع با ترکیب مقادیر ویژگی های موجود، تعداد کمتری ویژگی بوجود می­آورند بطوریکه این ویژگیها دارای تمام (یا بخش اعظمی از) اطلاعات موجود در ویژگیهای اولیه باشند. این روش ها به دو دسته­ی خطی و غیر خطی تقسیم می­شوند.
در این پروژه برای کاهش ابعاد از روش های مبتنی بر استخراج ویژگی استفاده شده است. این ویژگی ها از روابط خطی زیر بوجود آمده اند:
the number of flows per hour: ساعت/ تعداد اتصال میان دو سیستم در طول روز
the number of packets per flow: تعداد اتصال میان دو سیستم در طول روز/ میزان بسته ارسالی در طول روز
the average number of bytes per packets: میزان بسته ارسالی در طول روز / میزان بایت ارسالی در طول یک روز
the average number of bytes per second: مجموع ثانیه های یک روز/ میزان بایت ارسالی در طول یک روز

توضیح تصویر

7.4"جمع آوری لیست سیاه: در این مرحله با بررسی سایت های شرکت های امنیتی همچون Zeus tracker، دیتابیسی از آی پی های سرورهای بات نت شامل منطقه جغرافیایی بات نت، آی پی سرور مرکزی(C&C) و نوع بات نت از قبیل:
1-Zeus
2- Pushdo
3- GameOver_Zeus_P2P
4- Sality-Virus
5- Glupteba
6- Pushdo_SpamBot
7- ZeroAccess
جمع آوری گردید.

توضیح تصویر

7.5"ادغام دو پایگاه داده: با استفاده از دستور Left Outer Join، دیتابیس اطلاعات شبکه های بات نت براساس فیلد آی پی درون پایگاه داده اصلی(نت فلو) ادغام شد.

SELECT *
FROM NetFlow
LEFT OUTER JOIN BotnetIp
 ON NetFlow.IP = BotnetIp.IP

7.6": روشهای مبتنی بر انتخاب ویژگی: در این روش ها سعی شد تا با انتخاب زیرمجموعه ­ای از ویژگی های اولیه، ابعاد داده ­ها را کاهش دهیم. در پاره­ای از اوقات تحلیل های داده­ای نظیر طبقه­ بندی برروی فضای کاسته شده نسبت به فضای اصلی بهتر عمل می­کند. گفتنی است پس از بررسی های صورت گرفته فیلدهای ذیل جهت داده نهایی برای ورود به الگوریتم های طبقه بندی و خوشه بندی لحاظ گردید.
1: Flows Per Hour
2:Packets Per Flow
3:Bytes Per Packets
4:Bytes Per Second
5: Malware

توضیح تصویر

7.7" طبقه بندی Classification: طبقه بندی در واقع ارزشیابی ویژگی‌های مجموعه ای از داده‌ها و سپس اختصاص دادن آن‌ها به مجموعه‌ای از گروه‌های از پیش تعریف شده است. این متداولترین قابلیت داده کاوی می باشد. در طبقه بندی می توان با استفاده از داده‌ها برای تولید یک مدل یا نمایی از یک گروه بر اساس ویژگی‌های داده‌ها به کار برد. سپس می توان از این مدل تعریف شده برای طبقه بندی مجموعه داده‌های جدید استفاده کرد. همچنین می‌توان با تعیین نمایی که با آن سازگار است برای پیش بینی‌های آتی از آن بهره گرفت.
7.7.1": درخت تصمیم گیری Decision Trees :ساختار درخت تصمیم در یادگیری ماشین، یک مدل پیش بینی کننده می باشد که حقایق مشاهده شده در مورد یک پدیده را به استنتاج هایی در مورد مقدار هدف آن پدیده نقش می کند. تکنیک یادگیری ماشین برای استنتاج یک درخت تصمیم از داده ها، یادگیری درخت تصمیم نامیده می شود. هر گرهء داخلی متناظر یک متغیر و هر کمان به یک فرزند، نمایانگر یک مقدار ممکن برای آن متغیر است. یک گرهء برگ، با داشتن مقادیر متغیرها که با مسیری از ریشهء درخت تا آن گرهء برگ بازنمایی می شود، مقدار پیش بینی شدهء متغیر هدف را نشان می دهد. یک درخت تصمیم ساختاری را نشان می دهد که برگ ها نشان دهندهء دسته بندی و شاخه ها ترکیبات فصلی صفاتی که منتج به این دسته بندی ها را بازنمایی می کنند. یادگیری یک درخت می تواند با تفکیک کردن یک مجموعهء منبع به زیرمجموعه هایی براساس یک تست مقدار صفت انجام شود. این فرآیند به شکل بازگشتی در هر زیرمجموعهء حاصل از تفکیک تکرار می شود. عمل بازگشت زمانی کامل می شود که تفکیک بیشتر سودمند نباشد یا بتوان یک دسته بندی را به همهء نمونه های موجود در زیرمجموعهء بدست آمده اعمال کرد. [20]
7.7.1.1 انواع درخت تصمیم:
1) درخت تصمیم C 4.5
2) درخت تصمیم Cart
3) درخت تصمیم Chaid
,....

توضیح تصویر

7.8" طراحی یک سیستم یادگیری: طراحی یک سیستم یادگیری به طور کلی از مراحل زیر تشکیل شده است:
الف- انتخاب Training experience ( آزمون یا روشی که سیستم از طریق آن می تواند اطلاعاتی را که برای یادگیری نیاز دارد کسب نماید. )
ب- انتخاب تابع هدف ( Target Function ): فیلد هدف در این پروژه فیلد کیفی Malware است.
پ-انتخاب الگوریتم : الگوریتم نهایی جهت شناسایی الگو درخت تصمیم C4.5 هست.
ت-طراحی نهایی

7.9": شبه کد الگوریتم درخت تصمیم C4.5:

1.Check for base cases
2.For each attribute _a_
    3. Find the normalized information gain ratio from splitting on _a_
4.Let _a_best_ be the attribute with the highest normalized information
gain
5.Create a decision _node_ that splits on _a_best_     
6.Recur on the sublists obtained by splitting on _a_best_, and add those
nodes as children of _node_ 
  1. "مطالعه موردی بات نت ZeuS و GameOver Zeus:
    بات نت GameOver Zeus یک شاخه‌ی خطرناک از بدافزار بانکی زئوس است، اما برخلاف خود زئوس شبکه‌ی رایانه‌های فرمان‌بر قربانی در این نسخه به صورت توزیع‌شده می‌باشد و معماری نظیر به نظیر دارد که شناسایی فرمانده را سخت‌تر می‌کند، در این معماری فرمان‌ها و دستور‌العمل‌هایی که برای قربانیان ارسال می‌شود ممکن است از طریق یک رایانه‌ی فرمان‌بر دیگر باشد و مستقیم از طرف فرمانده نباشد. اما بدافزار اصلی GameOver Zeus مانند همه‌ی بدافزار‌های بانکی، سعی در جعل ظاهر وب‌گاه بانکی و سرقت اطلاعات محرمانه‌ی قربانیان دارد، همان‌طور که مطرح شد مدت بسیار کمی پس از خاموشی شبکه‌ی رایانه‌های فرمان‌بر GameOver Zeus، نسخه‌ی جدید این بدافزار به نام newGOZ که از الگوریتم تولید نام دامنه‌ی جدید استفاده می‌کرد کشف شد. این الگوریتم روزانه نزدیک به ۱۰۰۰ نام دامنه‌ی جدید تولید می‌کرد، این الگوریتم از روشی موسوم به FastFlux یا شار تغییرات سریع برای مخفی‌سازی زیرساخت خود استفاده می‌کند. روش شار تغییرت سریع منجر می‌شود مهاجم بتواند به صورت تصادفی کارگزار‌های فرمان‌دهی و کنترل را تغییر دهد و زیرساخت خود را مخفی نگه دارد.
    بیش از یک میلیون آلوده به این بات در جهان شناسایی گردیده است. تقریباً 25% کامپیوترهای آلوده در ایالات متحده آمریکا قرار دارند. ضرر و تلفات در سطح جهان صدها میلیون دلار برآورد شده است.10 کشور در عملیات شناسایی و مقابله جهت رفع آن مشارکت کلیدی داشته اند.(+)

توضیح تصویر

شکل: Top Banking Botnets of 2013

9."نتایج:با اعمال الگوریتم درخت تصمیم در نرم افزاز IBM Spss Modeler16 در فاز انتهایی، به ترتیب یک و سه Rule برای شناسایی بات نت های Zeus و GameOver Zeus شناسایی شد:

Rule For Zeus :

Rule  for  Zeus
    if Flow per Hour <= 0.125
    and packets per flow > 12.500
    and packets per flow <= 13.500
    and bytes per packets > 75.191
    and bytes per packets <= 77.769
    and bytes per second > 4874.010
    and bytes per second <= 8505.260
    then ZeuS

Rule For GameOver Zeus

Rule 1 for  GameOver_Zeus_P2P 
     if packets per flow > 10.500
     and bytes per packets > 151.400
     and bytes per packets <= 175.667
     and bytes per second > 446,875
     then GameOver_Zeus_P2P
Rule 2 for  GameOver_Zeus_P2P 
     if packets per flow > 9.500
     and bytes per packets > 172.200
     and bytes per packets <= 175.667
     and bytes per second > 446,875
     then GameOver_Zeus_P2P
Rule 3 for  GameOver_Zeus_P2P 
     if packets per flow <= 3.500
     and bytes per packets <= 40.163
     and bytes per second <= 4.557
     then GameOver_Zeus_P2P

10.": ارزیابی: با استفاده از داده های Test و Train الگوریتم درخت تصمیم C4.5 نتایج ذیل حاصل گردید:

توضیح تصویر

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

9مراجع
[1] Guofei Gu , Roberto Perdisci , Junjie Zhang , and Wenke Lee , " BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection" : Damballa, Inc. Atlanta, GA 30308, USA
[2]Karim et al. J Zhejiang,"Botnet detection techniques: review, future trends and issues": Journal of Zhejiang University-SCIENCE C (Computers & Electronics)
[3]رضا شریف نیای دیزبنی، مهدی آبادی , "یک روش شهرت دهی برای تشخیص بات نت های نسل جدیدمبتنی بر شناسایی نام های دامنه الگوریتمی" : دهمین کنفرانس بین المللی انجمن رمز ایران
[4] موسی یحیی نژاد, مهدی آبادی,"روشی برای تشخیص بات نت ها در مرحله فرمان و کنترل با استفاده از خوشه بندی ": هشتمین کنفرانس بین المللی انجمن رمز ایران
[5]ALEXANDER V. BARSAMIAN , "NETWORK CHARACTERIZATION FOR BOTNET DETECTION USING
STATISTICAL-BEHAVIORAL METHODS": Hanover, New Hampshire
[6] Robert F. Erbacher,Adele Cutler,Pranab Banerjee,Jim Marshall,"A Multi-Layered Approach to Botnet Detection"
[7]Maryam Feily,Alireza Shahrestani, "A Survey of Botnet and Botnet Detection": 2009 Third International Conference on Emerging Security Information, Systems and Technologies
[8]Hossein Rouhani Zeidanloo, Mohammad Jorjor Zadeh,M. Safari, Mazdak Zamani,"A Taxonomy of Botnet Detection Techniques"
[9]Pedram Amini1, Reza Azmi , MuhammadAmin Araghizadeh,"Botnet Detection using NetFlow and Clustering": ACSIJ Advances in Computer Science: an International Journal, Vol. 3, Issue 2, No.8 , March 2014
[10]Chunyong Yin , Lei Yang, Jin Wang,"Botnet Detection Based on Degree Distributions of Node Using Data Mining Scheme":International Journal of Future Generation Communication and Networking
[11]Hyunsang Choi, Heejo Lee, and Hyogon Kim,"BotGAD: Detecting Botnets by Capturing Group Activities
in Network Traffic"
[12]Guofei Gu ,"CORRELATION-BASED BOTNET DETECTION IN ENTERPRISE NETWORKS":In Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy in the College of Computing
[13]S.S.Garasia, D.P.Rana, R.G.Mehta,"HTTP BOTNET DETECTION USING FREQUENT PATTERNSET MINING": INTERNATIONAL JOURNAL OF ENGINEERING SCIENCE & ADVANCED TECHNOLOGY
[14]Mohammad M. Masud, Jing Gao,Latifur Khan,"Mining Concept-Drifting Data Stream to Detect Peer to
Peer Botnet Traffic"
[15]Shishir Nagaraja, Prateek Mittal, Chi-Yao Hong, Matthew Caesar, Nikita Borisov,"BotGrep: Finding P2P Bots with Structured Graph Analysis": University of Illinois at Urbana-Champaign
[16]J´erˆome Fran¸cois, Shaonan Wang, Radu State, and Thomas Engel,"BotTrack: Tracking Botnets using NetFlow and
PageRank": Interdisciplinary Centre for Security, Reliability and Trust (SnT)
[17]Mohammad M. Masud, Jing Gao, Latifur Khan, Jiawei Han,Bhavani Thuraisingham ,"Peer to Peer Botnet Detection for Cyber-Security: A Data Mining Approach"
[18]Carl Livadas, Bob Walsh, David Lapsley, Tim Strayer,"Using Machine Learning Techniques to Identify Botnet Traffic":Internetwork Research Department BBN Technologies
[19]Mohammad sedegh sheikhani "Dimensionality Reduction"
.[20]لعبت عزیزی "گزارش تحقیق درس یادگیری ماشین"

تایید شده

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

سید رضا حسینی

مشخص است که زحمت زیادی کشیده‌اید و خسته نباشید.
در ابتدا عرض کنم که بهتر است درباره‌ی پایگاه‌ داده‌ی مورد بررسی خود،‌ روش جمع آوری داده‌ها،‌محل جمع‌آوری داده و جوانب آن توضیح بیشتری ارائه کنید.
درباره‌ی روش بدست آوردن آدرس خدمت‌گزار‌های بات‌نت،‌از وب‌سایت اشاره‌ شده توضیح بیشتری دهید.
دلیل استفاده از عکس‌ها، بهتر رساندن مطلب است. بنابراین داخل متن، باید به عکس ارجاع کنید تا عکس‌ها بهتر به خواننده کمک کنند.
بالاخره کدام روش کاهش ابعاد مورد استفاده قرار گرفت؟ آیا خروجی هر دو را با هم مقایسه کردید؟
انتخاب زئوس برای بررسی ویژگی‌ها هم از نظر کارکردی و هم از نظر ساختاری، انتخاب هوشمندانه و درستی بود. آفرین؛
قسمت مطالعه‌ی موردی زئوس، شماره‌ی درستی نخورده است و بهتر است در جای دیگری آن را ارائه کنید.
به علت عدم دسترسی به کدهای شما، امکان بررسی و ارزیابی نتایج نیست، اما عدد بدست آمده منطقی به نظر می‌رسد.
ساختار متن از نظر منطقی اشکال دارد لطفا بررسی کنید. برای مثال روش های مبتنی بر انتخاب ویژگی، زیرمجموعه‌ی روش کاهش ابعاد است.

در پایان به نظر من، با توجه به اینکه این پروژه، یک پروژه‌ی درسی بود،کار بسیار خوبی انجام شده است.