بات‌نت

تاریخچه

از نظر تاریخی بات‌نت‌ها از (Internet Relay Chat (IRC که یک سیستم گفتگوی مبتنی بر متن است و ارتباطات را در کانال‌ها سازماندهی می‌کرد، سرچشمه می‌گیرد. در این سیستم از بات‌نت‌ها با هدف کنترل فعل و انفعالات در اتاق‌های گفتگوی IRC استفاده می‌شد. این ربات‌ها می‌توانستند دستورات ساده را اجرا کنند، بازی‌های ساده و سرویس‌های مختلف را به کاربران گفتگو پیشنهاد دهند و اطلاعاتی در مورد سیستم عامل‌ها، گزارش‌های ورود به سیستم، آدرس‌های ایمیل و مانند آن‌ها را استخراج نمایند.
اولین ربات IRC، به اسم Eggdrop در سال ۱۹۹۳ ارائه شد و پس از آن توسعه یافت. پس از آن ربات‌های IRC مختلفی با اهداف مخرب اعم از حمله به کاربران IRC یا همهٔ سرورها، ایجاد شدند. ربات‌های جدید از مکانیزم‌های پیچیده‌ای برای ارتباط با botmaster استفاده می‌کنند که این مکانیزم‌ها از پروتکل‌ها و تکنیک‌های متعددی استفاده می‌کنند که منجر به پیچیده شدن روزافزون این ربات‌ها و سخت‌تر شدن تشخیص و مقابله با آن‌ها می‌گردد. آن‌ها می‌توانند مانند کرم‌ها منتشر شوند، مثل یک ویروس مخفی بمانند و حملات گسترده و سازمان یافته‌ای را شکل دهند. نسل جاری ربات‌ها می‌توانند از طریق شبکه‌های اشتراک فایل، شبکه‌های نظیر به نظیر (p2p) و پیوست‌های ایمیل و سایت‌های آلوده منتشر شوند.

به‌کارگیری

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

اهداف

بات‌نت‌ها می‌توانند فعالیت‌های مخربی از جمله spamming، انجام حملات DDoS، توزیع بدافزارها (مثل Trojan horses، ابزارهای جاسوسی و keyloggerها)، به سرقت بردن نرم‌افزارها، کشف و سرقت اطلاعات، سرقت هویت، دستکاری بازی‌های آنلاین و نظر سنجی‌ها، حملات phishing و کشف کامپیوترهای آسیب‌پذیر را انجام دهند.

سازمان

در حالی که بات نت اغلب بعد از بدافزارها که آن‌ها را تولید می‌کنند نامیده می‌شوند؛ بات نت‌های متعدد به‌طور معمول از همان بدافزارها استفاده می‌کنند، اما توسط نهادهای جنایی اداره می‌شود. عبارت بات نت برای اشاره به هر گروهی از کامپیوترها مثل بات‌های IRC استفاده می‌شود، اما این عبارت عموماً برای اشاره به گروهی از کامپیوترها (که کامپیوترهای zombie خوانده می‌شوند) که توسط نرم‌افزارهای مخرب در حال اجرا به کار گرفته شده‌اند استفاده می‌شود.
مؤسس یک بات نت (به عنوان چوپان بات یا رئیس بات شناخته می‌شود) معمولاً از طریق IRC و اغلب برای مقاصد جنایی می‌تواند گروه را از راه دور کنترل کند. سرور به عنوان سرور فرمان و کنترل (C&C) شناخته می‌شود. اگر چه نادر است، بیشتر اپراتورهای بات نت با تجربه‌تر پروتکل‌های فرمان را از ابتدا برنامه‌نویسی می‌کنند. این پروتکل‌ها شامل یک برنامه سرویس دهنده، یک برنامه سرویس گیرنده برای عملیات و برنامه‌ای که برای مشتری بر روی دستگاه قربانی تعبیه شده‌است. این‌ها با استفاده از یک روش رمزنگاری منحصربه‌فرد برای پنهان‌سازی و حفاظت در برابر تشخیص یا نفوذ به بات نت، بر روی اینترنت با یکدیگر ارتباط برقرار می‌کنند.
یک بات به‌طور معمول مخفی اجرا می‌شود و از یک کانال مخفی (RFC 1452 (IRC) استاندارد، توییتر یا IM) با سرور C&C ارتباط برقرار می‌کند. به‌طور کلی، خرابکار سیستم‌های متعدد را با استفاده از ابزار مختلف (سوء استفاده، سرریزی‌های بافر و …؛ همچنین نگاه کنید به RPC) به خطر می‌اندازد. بات‌های جدیدتر می‌توانند به‌طور خودکار محیط خود را اسکن کنند و با استفاده از آسیب‌پذیری‌ها و کلمات عبور ضعیف خود را منتشر کنند. یک بات از طریق آسیب‌پذیری‌های بیشتر می‌تواند اسکن و منتشر شود و برای جامعه کنترل‌کننده بات نت باارزش تر می‌شود. روند سرقت منابع محاسباتی به عنوان یک نتیجه از یک سیستم که به بات نت پیوسته است، گاهی اوقات به عنوان "scrumping" اشاره دارد.
سرورهای بات نت به‌طور معمول با سرورهای بات نت دیگر در ارتباط هستند، به‌طوری‌که یک گروه ممکن است شامل ۲۰ یا تعداد بیشتری ماشین‌های متصل خصوصی با سرعت بالا به عنوان سرور باشد که از یکدیگر جدا هستند و این‌ها با یکدیگر ارتباط برقرار می‌کنند تا افزونگی بیشتر شود. جوامع بات نت واقعی معمولاً شامل یک یا چندین کنترل‌کننده هستند که به ندرت سلسله مراتب فرماندهی را بسیار توسعه داده‌اند؛ آن‌ها به ارتباطات نظیر به نظیر خصوصی تکیه می‌کنند.
معماری بات نت در طول زمان تکامل یافته‌است و همه بات نت‌ها از یک توپولوژی برای کنترل و فرمان استفاده نمی‌کنند. توپولوژی پیشرفته نسبت به خاموش کردن، شمارش یا کشف انعطاف‌پذیرتر است. به هر حال، بعضی از توپولوژی‌ها قابلیت عرضه به بازار را به اشخاص ثالث محدود می‌کنند. توپولوژی‌های معمول بات نت ستاره‌ای، چند سرویس دهنده‌ای، سلسله مراتبی و تصادفی هستند.
برای خنثی کردن تشخیص، برخی از بات نت‌ها در حال افزایش تدریجی در اندازه هستند. در سال ۲۰۰۶، متوسط اندازه یک شبکه ۲۰۰۰۰ کامپیوتر تخمین زده شده بود، هر چند شبکه‌های بزرگتر به کار ادامه دادند.

Unstructured P2P overlays

کلاس گستردهٔ overlayهای بدون ساختار، شامل توپولوژی‌های تصادفی با درجه‌های مختلف توزیع، مانند power-law یا شبکه‌های یکنواخت تصادفی می‌باشد. در این شبکه‌ها امکان مسیر یابی وجود ندارد. این شبکه‌ها flooding و random walk و هم چنین پروتکل‌های Gossip را نیز پشتیبانی می‌کنند.

Structured P2P Overlays

در این شبکه‌ها نگاشت (mapping) بین محتوا و مکان آن انجام می‌شود. در این گونه از شبکه‌ها از یک Distributed Hash Table (DHT) برای مسیر یابی استفاده می‌شود. از جمله الگوریتم‌های DHT که تاکنون پیاده‌سازی شده‌اند و در شبکه‌های P2P از آن‌ها استفاده شده‌است می‌توان به CAN, Chord Pastry, Tapestry و Kademila اشاره کرد. شبکه‌های رباتی مدرن از الگوریتم Kademila استفاده می‌کنند.

ربات‌های سرویس دهنده (Servant Bots)

این ربات‌ها هم به عنوان مشتری و هم سرور عمل می‌کنند. این ربات‌ها با آدرس هایIP ی ایستا و قابل مسیر یابی پیکربندی می‌شوند.

تشکیل و بهره‌برداری

این مثال نشان می‌دهد چگونه یک بات نت ایجاد می‌شود و برای ارسال هرزنامه به ایمیل استفاده می‌شود.
۱- یک اپراتور بات نت، ویروس‌ها یا کرم‌ها را به کامپیوترهای آلوده کاربران عادی می‌فرستد که دنباله آن یک برنامه مخرب است.
۲- بات از کامپیوتر آلوده به سرویس دهنده فرمان و کنترل خاص گزارش می‌دهد.
3- spammer سرویس‌های بات نت را از اپراتور می‌خرد.
4- spammer پیام‌های اسپم را برای اپراتور فراهم می‌کند، که ماشین‌های در معرض خطر را از طریق کنترل پنل روی وب سرور آموزش می‌دهد، و باعث می‌شود پیام‌های اسپم به آن‌ها فرستاده شود.
بات نت‌ها برای اهداف مختلف مورد استفاده قرار می‌گیرند، شامل حملات حمله محروم‌سازی از سرویس سوء استفاده از SMTP mail relays برای اسپم (ربات جفنگ‌نگار را ببینید)، حیله کلیک کردن، spamdexing و سرقت شماره‌های سریال کاربردها، شناسه‌های ورود به سیستم و اطلاعات مالی از قبیل شماره‌های کارت‌های اعتباری.

انواع حملات

در حملات denail-of-service توزیعی، تعداد زیادی درخواست در حد ممکن از طرف چندین سیستم به یک کامپیوتر یا سرویس تکی در اینترنت ارائه می‌شود، سربار زیادی برایش ایجاد می‌کنند و از پاسخ دادن به در خواست‌های قانونی جلوگیری می‌کنند. یک مثال حمله به یک شماره تلفن قربانی است. قربانی با تماس‌های تلفنی بات که قصد دارد به اینترنت متصل شود، بمباران می‌شود.