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آزمایش‌ها
در فازهای آتی تکمیل خوهد شد.
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

سید رضا حسینی

چارچوب موضوع به درستی تحلیل شده است و به نظرم آشنایی کافی برای فاز اولیه‌ی پروژه،‌ به دست آمده است.
تنها با هدف یادگیری بیشتر، چند پیشنهاد ارائه می‌گردد.
۱- بات‌نت‌ها می‌توانند با در اختیار گرفتن روش‌های دور‌زدن سامانه‌های تشخیص نفوذ،‌به شبکه‌های پیچیده‌ای تبدیل شوند
در این باره‌، مطالعه بفرمایید (با کلیدواژه‌ی Evasion Technique).
۲- اشکال دیگر معماری بات‌نت‌ها را نیز مطالعه کنید.
۳- یک بات‌نت واقعی را به صورت دقیق تحلیل کنید (برای این کار می‌توانید گزارش‌های شرکت‌های امنیتی را بررسی کنید).

در پایان اگر فرصتی شد، بررسی نگارشی متن را در دستور کار قرار دهید.
موفق باشید.