آشنایی با بات نت(botnet)

آشنایی با بات نت(botnet)

آشنایی با بات نت(botnet)

در میان انواع متعدی از نرم افزارهای مخرب ، بات نت ها گسترده ترین و جدی ترین تهدیدی است که امروزه به طور معمول در حملات سایبری رخ می دهد.بات نت ها مجموعه از رایانه های در خطر هستند که از راه دور به وسیله bot master تحت زیرساخت مشترک C&C کنترل می شوند. bot مخفف Robotاست که همچنین به آن زامبی هم گفته می شود. تفاوت اصلی بین بات نت با سایر انواع بد افزارها وجود زیر ساخت C&C است که به بات ها اجازه می دهد که دستورات و command ها را دریافت کنند. Bot master باید مطمئن شود که ساختار C&C شان به اندازه کافی قوی است که هزاران بات توزیع شده در سراسر جهان را مدیریت کند و همچنین دربرابر هر گونه تلاش برای از بین بردن بات نت ها مقاوت کند. بات نت چیزی جز یک ابزار نیست و انگیزه های مختلفی برای استفاده از آنها وجود دارد.
بات نت شبکه‌ای از چندین کامپیوتر است که مخفیانه و بدون اطلاع صاحبانشان، توسط یک بات مستر    (Bot Maste )  برای انجام فعالیت‌های مخرب و اغلب حملات DDoS یا ارسال ایمیل‌های هرزنامه تحت کنترل گرفته شده‌اند.
هکرهای خرابکار با توسعه‌ی ویروس‌های کامپیوتری یا تلاش برای نفوذ به سیستم‌ها و سخت‌افزارهای مختلف که به اینترنت متصل هستند، تلاش می‌کنند به صورت مخفیانه کنترل این ابزارها را در دست بگیرند.
یک شبکه از سیستم‌های خراب‌کار می‌تواند شامل سرورهای وب، سیستم‌های شخصی و حتی ابزارهای هوشمند متصل به اینترنت باشد. ابزارهایی مانند دوربین‌های مداربسته تحت شبکه، ساعت‌های هوشمند، گوشی‌های هوشمند، تلویزیون و ابزارهای خانگی هوشمند هر یک می‌توانند پس از هک شدن، جزئی از یک بات نت به حساب آیند.


بات‌نت چه کار می‌کند؟
با توجه به کسی که آن را اجرا می‌کند یک بات‌نت می‌تواند عملکردهای مختلفی داشته باشد.
1. اسپم: ارسال تعداد بسیار زیادی اسپم به سراسر دنیا. برای مثال میزان ارسال اسپم از طریق ایمیل در سال گذشته 56.69 درصد بوده است. وقتی که شرکت امنیتی FireEye بات‌نت Srizbi را از کار انداخت میزان تعداد اسپم‌ها در سراسر دنیا تا حدود پنجاه درصد کاهش یافت.
2. بدافزار: ارسال بدافزار و جاسوس افزار به دستگاه‌های ضعیف.
3.داده: ضبط رمزها و دیگر اطلاعات شخصی.
4. کلیک تقلبی: یک دستگاه آلوده به وب‌سایت‌ها سر می‌زند تا ترافیک وب را به صورت تقلبی بالا ببرد.
5. بیت کوین: کسانی که بات‌نت را کنترل می‌کنند از دستگاه‌های آلوده برای دزدی بیت کوین و دیگر اعتبارات اینترنتی استفاده می‌کنند.
6. DDoS  :کسانی که بات‌نت را کنترل می‌کنند کنترل دستگاه آلوده را به دست گرفته و آن‌ها را هنگام حمله‌ی محروم سازی از سرویس آفلاین می‌کنند.
اوپراتورهای بات‌نت معمولاً از این روش‌ها برای کارهای مخرب سوء استفاده می‌کنند.
 

بات‌نت چه شکلی است؟
ما می‌دانیم که بات‌نت شبکه‌ای از کامپیوترهای آلوده است. با این حال اجزای مرکزی و معماری بات‌نت بسیار جالب هستند.
معماری:

• مدل کلاینت- سرور: یک بات‌نت کلاینت-سرور معمولاً از یک کلاینت چت ( قبلاً از IRC استفاده می‌شد اما بات‌نت‌های مدرن از تلگرام و دیگر سرویس‌های پیام رسان کدگذاری شده استفاده می‌کنند.) دامنه و یا وب‌سایت برای برقراری ارتباط با شبکه استفاده می‌کنند. اپراتور پیامی را به سرور می‌فرستد که فرمان را اجرا می‎کند. درحالی که ساختار بات‌نت‌ها بسیار با هم متفاوت است اما با تلاش می‌تواند بات‌نت کلاینت-سرور را از کار انداخت.
• نظیر به نظیری: یک بات‌نت نظیر به نظیر (P2P) سعی می‌کند با ساخت شبکه‌ی غیرمتمرکز برنامه‌های امنیتی و تحقیقی که سرورهای C2 خاص را شناسایی می‌کنند از کار بیندازند. یک شبکه‌ی نظیر به نظیر از مدل کلاینت سرور پیشرفته‌تر است. به جای یک شبکه از دستگاه‌های آلوده‌ی متصل  که از طریق آدرس IP با هم ارتباط برقرار می‌کنند، اپراتورها ترجیح می‌دهند دستگاه‌های زامبی که به گره متصل هستند را استفاده کنند. در نتیجه دستگاه‌های متصل زیاد و گره‌های متفاوتی وجود دارد و شبکه قابل ردیابی نیست.
 
فرمان و کنترل
پروتکل‌های فرمان و کنترل C&C یا C2 در ماسک‌های مختلف ظاهر می‌شوند:
 
Telnet  : بات‌نت Telnet نسبتاً ساده است و از اسکریپت برای اسکن IP جهت ورود به سرور telnet و SSH برای اضافه کردن دستگاه‌های ضعیف استفاده می‌کنند.
IRC  :شبکه‌های IRC یک روش ارتباطی با پهنای باند بسیار کم را برای پروتکل C2 ارائه می‌دهند. قابلیت تغییر سریع کانال‌ها امنیت بیشتری را برای اوپراتورهای بات‌نت فراهم می‌کند اما باعث می‌شود که کلاینت‌های آلوده اگر اطلاعات کانال آپدیت شده را دریافت نکنند به راحتی از بات‌نت جدا شوند. ردیابی ترافیک IRC بسیار ساده است در نتیجه بسیاری از هکرها از این روش استفاده نمی‌کنند.
دامنه‌ها: بعضی از بات‌نت‌های بزرگ از دامنه به جای کلاینت پیام رسان استفاده می‌کنند. دستگاه‌های آلوده به یک سری دامنه خاص که لیستی از فرمان‌های کنترل را اجرا می‌کنند دسترسی دارند. نقطه ضعف این روش نیاز بسیار بالا به پهنای باند برای بات‌نت‌های بزرگ است که باعث می‌شود خیلی زود شناسایی شوند.
 
P2P :یک پروتکل P2P معمولاٌ با استفاده از کدگذاری نامتقارن امضای دیجیتالی را پیاده سازی می‌کنند. در نتیجه درحالی که اپراتور کلید را در دست دارد فرد دیگری تقریباً نمی‌تواند فرمان‌های دیگر را روی بات‌نت اجرا کند. در نتیجه به دلیل نبود یک سرور C2 خاص از بین بردن بات‌نت P2P کاری بسیار دشوار است.
سایرین: در یک سال گذشته ما شاهد بوده‎ایم که اپراتورهای بات‌نت از کانال‌های فرمان و کنترل بسیار جالبی استفاده کرده‌اند. برای مثال کانال‌های شبکه‌های اجتماعی مثل بات‌نت Android Twitoor  که از طریق توییتر کنترل می‌شد. اینستاگرام نیز خیلی امن نیست. برای مثال در سال 2017 یک گروه جاسوسی سایبری روسی از نظرات زیر عکس‎های اینستاگرام بریتنی اسپیرز برای ذخیره سازی موقعیت سرور یک توزیع بدافزار C2 استفاده می‌کردند.
 
زامبی‌ها
در سر آخر رشته‌ی یک بات‌نت دستگاه آلوده قرار دارد.
اپراتورهای بات‌نت دستگاه‌های ضعیف را آلوده می‌کنند تا شبکه‌ی آن‌ها بزرگ‌تر شود. جالب اینجاست که بعضی از اپراتورهای بات‌نت با هم رابطه‌ی خوبی ندارند و از دستگاه‌های آلوده علیه هم استفاده می‌کنند.
در بیشتر مواقع صاحبان دستگاه‌های زامبی از وجود بات‌نت خبر ندارند. گاهی اوقات بدافزار بات‌نت دیگر بدافزارها را نیز کنترل می‌کند.
 رایج ترین استفاده از بات نت انگیزه های جنایتکارانه مانند کسب درامد و برای اهداف خرابکارانه است. کاربردهای بات نت ها می توانند به صورت زیر دسته بندی شوند ولی احتمالا کاربردهای بالقوه دیگری هم وجود دارد که در زیر لیست نشده است:
1.    حملات DDOS
________________________________________
حمله ای روی سیستم کامپیوتر یا شبکه است که منجر به از دست دادن سرویس دهی به کاربران می شود که معمولا باعث از دست رفتن اتصال و سرویس های شبکه با مصرف پهنای باند شبکه قربانی یا ایجاد سربار روی منابع محاسباتی سیستم می شود. حملات DDOS تنها به وب سرورها محدود نمی شوند تقریبا هر سرویس قابل دسترسی روی اینترنت می تواند هدف چنین حمله ای باشد.


Spamming.2
________________________________________
این رایج ترین و ساده ترین استفاده از بات نت است. کارشناسان تخمین زده اند که بیش از 80 درصد spam ها توسط کامپیوتر های زامبی ارسال می شوند. بات نت ها که هزاران کامپیوتر را در بر می گیرند به spammer ها اجازه می دهند که میلیون ها پیام از سیستم های آلوده در بازه زمانی کوتاهی فرستاده شود.مزایایی که بات نت ها برای spammer ها ایجاد می کنند به شرح زیر است:
•    ادرس هایی که برای فرستادن spam استفاده می شود جزء لیست سیاه قرار می گیرد و mailهایی با این آدرس ها به طور خودکار توسط mail server مشخص خواهند شد اما این مشکل توسط بات نت ها حل شده است.
•    بات نت این امکان را برای spammer فراهم می کند تا آدرس های Email را از روی کامپیوتر آلوده برداشت کند. این آدرسها به SPAMMER ها فروخته شده یا توسط خود صاحبان بات نت استفاده می شوند.



Sniffing traffic.3
________________________________________
بات نت می تواند برای کشف اطلاعات مهم و حساس روی سیستم آلوده استفاده شود .اگر سیستم بیش از یک بار آلوده شده باشد و بات نت های دیگری هم وجود داشته باشند،Packet sniffing اطلاعات کلیدی سایر بات ها را هم جمع آوری می کند.



Key logging.4
________________________________________
وقتی که سیستم آلوده شده از کانال های رمزگذاری مانند Https و POP35  استفاده می کند ، sniffing بسته ها روی سیستم کار بیهوده ای است تا زمانی که کلید مناسب رمزگشایی کشف شود. اما بات ها ویژگی هایی را برای این موقعیت ارائه می دهند و با کمک key logger حمله کننده می تواند به آسانی اطلاعات حساس را بازیابی کند.



Spreading new malware.5
________________________________________
در اکثر موارد بات نت ها برای انتشار بات های جدید استفاده می شوند و این کار را به آسانی از طریق دانلود و اجرای فایل از طریق Http یا Ftp انجام می دهند.همچنین بات نت می توانند ویروسی را از طریق Email پخش کنند و بات نت باعث می شود که ویروس خیلی سریع انتشار پیدا کند و باعث آسیب بیشتر گردد.



Installing advertisement add-ons and Browser Helper Objects (BHO).6________________________________________
بات نت ها می توانند برای به دست آوردن سود های مالی استفاده شوند این با راه اندازی وب سایت جعلی و تبلیغات روی آن انجام می شود.اپراتور این وب سایت با برخی از شرکت های hosting گفتگو می کند که به ازای کلیک روی تبلیغات پرداخت داشته باشند.با کمک بات نت این کلیک ها می تواند به صورت خودکار انجام شود به طوری که مستقیما چند هزار بات روی pop-upها کلیک کنند.این فرایند می تواند گسترش پیدا کند اگر بات ، Start page کامپیوتر آلوده را تصرف کند و هر زمان که قربانی از browser استفاده می کند کلیک ها اجرا می شود.


Mass identify theft.7
________________________________________
اغلب ترکیبی از مواردی که در بالا گفته شد می تواند برای سرقت هویت در مقیاس بزرگی استفاده شود. phishing mail که تظاهر به درستی می کنند از قربانیانشان می خواهند که به صورت آنلاین به سایت رفته و اطلاعات شخصی شان را ثبت کنند این Emailهای جعلی از طریق بات ها به وسیله روش های spammingشان تولید و فرستاده می شود.



Anonymous Internet Access.8
________________________________________
مهاجمان می توانند از طریق بات ها به وب سرورها دسترسی پیدا کنند و و جنایاتی از قبیل هک کردن وب سایت ها یا انتقال پول های دزدیه شده را نجام دهند که البته به نظر می رسد که که این فعالیت را آن سیستم آلوده انجام داده است.ما می توانیم انواع بات نت ها را از نظر معماری و پروتکل های آنها به صورت زیر دسته بندی کنیم:

 :Classification of botnets according to architectures در حال حاضر دو نوع شناخته شده از معماری بات نت وجود دارد:
•     :Centralized botnets در این نوع از بات نت ها، تمام کامپیوتر ها به یک مرکز فرمان و کنترل (C&C) متصل شده اند. C&C منتظر می ماند تا بات های جدید متصل شوند، آنها را در پایگاه داده ثبت می کند ، وضعیت آنها را trackو ردیابی می کند و bot master به آنها دستوراتی را که از لیست دستورات بات انتخاب می شود ارسال می کند.تمام کامپیوتر های زامبی برای C&C قابل مشاهده هستند. همچنین صاحب شبکه نیاز دارد که به C&C دسترسی داشته باشد تا بتواند بات نت متمرکز را مدیریت کند.این نوع از بات نت ها گسترده ترین نوع از شبکه زامبی هستند. چنین بات نت ساده تر ایجاد و مدیریت می شوند و به دستورات سریع تر پاسخ می دهند. از آن طرف شناسایی این نوع بات نتها آسان است و درصورت شناسایی کانال C&C ، تمام بات نت ها افشا خواهند شد.

•     :Decentralized or peer-to-peer botnets در بات نت غیرمتمرکز، بات ها به چندین کامپیوتر آلوده روی شبکه بات نت متصل هستند. دستورات از طریق یک بات به بات دیگر منتقل می شود. هر بات لیستی از چند همسایه خود را دارد و هر دستور که توسط بات از همسایه هایش دریافت شود، برای دیگران فرستاده می شود و همین طور این کار انجام می شود و بدین ترتیب دستورات در سراسر شبکه زامبی پخش خواهند شد. ایجاد بات نت های غیر متمرکز کار آسانی نیست ولی شناسایی بات نت های غیر متمرکز به مراتب پیچیده تر است.

 :Classification of botnets according to network protocols  بات نت ها می توانند به رده های زیر دسته بندی شوند زمانی که رده بندی براساس پروتکل های شبکه است.
•     :IRC-oriented این یکی از اولین نوع های بات نت است . بات ها از طریق کانال های IRC کنترل می شوند. هر کامپیوتر آلوده که به سرور IRC متصل است در بدنه برنامه بات نشان داده می شود برای دریافت دستورات از master اش روی کانال خاصی منتظر می ماند.استفاده از IRC دارای چندین مزیت می باشد: سرورهای IRC به طور رایگان در دسترس هستند و به آسانی راه اندازی می شوند، حمله کنندگان زیادی سال ها تجربه استفاده از ارتباطات IRC را دارند.
•     :IM-orientedاین نوع از بات نت رایج نیست. تفاوت این با IRC oriented در این است که که بات نت ها در آن از کانال های ارتباطی که توسط سرویس های( IM) Instant messaging فراهم می شود مانند AOL،MSN ، ICQ و ....استفاده می کنند. دلیل اینکه چنین بات نت هایی از محبوبیت نسبتا کمی برخوردار هستند دشواری ایجاد account های شخصی IM برای هر بات است. بات ها باید به شبکه متصل شوند و در تمام مدت آنلاین بمانند.از آنجایی که اکثر سرویس های IM اجازه نمی دهند که سیستم از بیش از یک کامپیوتر در زمان استفاده از همان account متصل باشد، هر بات ،account خودش را نیاز دارد.اگرچه سرویس های IM تلاش زیادی برای جلوگیری از هر گونه ثبت نام account بصورت خودکار می کنند.

•     :Web-oriented این نوع نسبتا جدید است و به سرعت بات نت های طراحی شده برای کنترل شبکه های زامبی تحت world wide web در حال گسترش هستند. بات به وب سرور از پیش تعریف شده ای متصل می شود و از آن دستورات را دریافت می کند و در جواب داده ها را به ان انتقال می دهد.شبکه های زامبی به این صورت محبوب هستند به خاطر اینکه نسبتا آسان ایجاد می شوند.
•     :Other علاوه بر بات نت هایی که در بالا لیست شد، انواع دیگری از بات نت ها وجود دارند که از طریق پروتکل مربوط به خودشان ارتباط برقرار می کنند یعنی تنها مبتنی بر پشته TCP//IP هستند یعنی آنها تنها از پروتکل های لایه انتقال مانند TCP،ICMP وUDP استفاده می کنند.


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


از بین بردن بات‌نت
از بین بردن بات‌نت کار راحتی نیست. گاهی اوقات معماری بات‌نت به صورتی است که اپراتور می‌تواند به سادگی آن را دوباره بسازد. گاهی اوقات بات‌نت زیادی بزرگ است. در بیشتر مواقع از بین بردن بات‌نت نیازمند همکاری بین محققین امنیتی، شرکت‌های دولتی و دیگر هکرهاست که گاهی اوقات نیاز به تکنیک‌های در پشتی دارند.


GameOver Zeus
یکی از بزرگ‌ترین نمونه‌های از بین بردن بات‌نت GameOver Zeus بود. GOZ یکی از بزرگ‌ترین بات‌نت‌ها در چند سال گذشته بود که نزدیک به یک میلیون دستگاه را آلوده کرده بود. هدف اصلی این بات‌نت دزدی، ارسال ایمیل اسپم بود که از یک دامنه‌ی نظیر به نظیر که الگوریتم تولید می‌کرد ساخته شده بود و به نظر نمی‌رسید که روشی برای از بین بردن آن وجود داشته باشد.
الگوریتم تولید دامنه به بات‎نت کمک می‌کند تا لیست طولانی از دامنه‌ها برای استفاده به عنوان نقاط قرار برای بدافزار بات‌نت بسازد. نقاط ملاقات زیاد جلوگیری از گشترش را تقریباً ناممکن می‌کند و تنها اپراتورها لیست دامنه‌ها را می‌دانند.
در سال 2014 گروهی از محققان امنیتی که در حال همکاری با اف بی آی و دیگر سازمان‌های بین‌المللی بودند توانستند  GameOver Zeus را از بین ببند. البته این کار به هیچ وجه ساده نبود. پس از مشاهده‌ی ثبت دامنه‌ها این گروه در شش ماه 150000 دامنه را ثبت کردند. این کار باعث شد تا دیگر هیچ دامنه‌ای ثبت نشود.
سپس بسیاری از ISPها کنترل عمل گره‌های پروکسی GOZ را که توسط اوپراتورهای بات‌نت برای ارتباط بین سرورهای فرمان و کنترل استفاده می‌شد واگذار کردند.
صاحب بات، اوگنی بوگوچو پس از یک ساعت متوجه از بین رفتن بات‌نت خود شد و حدود چهار تا پنج ساعت تلاش کرد تا آن را بازگرداند.
سپس محققین ابزار کدگذاری رایگان را برای قربانی‌ها فرستادند.


بات‌نت اینترنت اشیا متفاوت است
در سال 2016 بزرگ‌ترین و بدترین بات‌نت  شناسایی شده Mirai بود. پیش از از بین بردن آن، بات‌نت مبتنی بر اینترنت اشیا با حملات DDoS کامپیوترهای زیادی را مورد هدف قرار داد. در شکل زیر تعداد کشورهایی که مورد هدف Mirai قرار گرفتند را می‌بینید.
درحالی که Mirai بزرگ‌ترین بات‌نت دنیا نبود اما بزرگ‌ترین حملات را انجام می‌داد. این بات‌نت از 62 رمز پیش فرض دستگاه‌های اینترنت اشیا استفاده می‌کرد.
مارکوس هاچینز، محقق امنیتی می‌گوید که بیشتر دستگاه‌های اینترنت اشیا معمولاً در یک جا به صورت آنلاین قرار دارند و همیشه منابع شبکه برای اشتراک دارند. با افزایش دستگاه‌های اینترنت اشیا با امنیت پایین تعداد دستگاه‌های آلوده بیشتر هم می‌شود.
 

امنیت خود را حفظ کنید
ما چیزهای بسیار زیادی دمرود بات‌نت‌ها آموختیم. اما چگونه از دستگاه خود مراقبت کنیم؟
اولین گام برای جلوگیری از آلوده شدن نصب به روزرسانی‌هاست. آپدیت‌های نرم افزاری حفره‌های امنیتی و نفوذپذیر سیستم عامل را پر کرده و دست اپراتورها را از دیوایس شما کوتاه می‌کند.
گام دوم و موثر، نصب آنتی ویروس قدرتمند در کنار نصب ضد بد افزار (Antimalware) شناخته می‌شود. پکیج آنتی ویروس‌های زیادی در اینترنت و فروشگاه‌ها به فروش می‌رسند که برخی رایگان و برخی دیگر با هزینه‌ای اندک می‌توانند به خوبی از دستگاه شما در برابر بد افزارها و بات نت‌ها محافظت کنند.
در آخر، با توجه به نحوه آلوده شدن دیوایس، باید به امنیت مرورگر مورد استفاده‌تان اهمیت بدهید. افزونه‌های (Extension) زیادی در مرورگرهای مختلف وجود دارند که اسکریپت‌ها را بلاک کرده و دستگاه را از ریسک آلودگی به انواع بد افزارها حفظ می‌کند.