وبسایت رسمی اوستا هکر

یک وبسایت عالی و کاربردی

بات نت چیست؟ | What is a botnet?

بات‌نت‌ها شبکه‌هایی هستند که با در اختیار گرفتن مجموعه‌ای از کامپیوترها که بات(bot) نامیده می‌شوند، تشکیل می‌شوند. این شبکه‌ها توسط یک یا چند مهاجم که botmasters نامیده می‌شوند، با هدف انجام فعالیت‌های مخرب کنترل می‌گردند. به عبارت بهتر، ربات‌ها کدهای مخربی هستند که بر روی کامپیوترهای میزبان اجرا می‌شوند تا امکان کنترل نمودن آن‌ها از راه دور را برای botmasterها فراهم نمایند و آن‌ها بتوانند این مجموعه را وادار به انجام فعالیت‌های مختلف نمایند.
از نظر تاریخی بات‌نت‌ها از (Internet Relay Chat (IRC که یک سیستم گفتگوی مبتنی بر متن است و ارتباطات را در کانال‌ها سازماندهی می‌کرد، سرچشمه می‌گیرد. در این سیستم از بات‌نت‌ها با هدف کنترل فعل و انفعالات در اتاق‌های گفتگوی IRC استفاده می‌شد. این ربات‌ها می‌توانستند دستورها ساده را اجرا کنند، بازی‌های ساده و سرویس‌های مختلف را به کاربران گفتگو پیشنهاد دهند و اطلاعاتی در مورد سیستم عامل‌ها، گزارش‌های ورود به سیستم، آدرس‌های ایمیل و مانند آن‌ها را استخراج نمایند. اولین ربات IRC، به اسم Eggdrop، در سال ۱۹۹۳ ارائه شد و پس از آن توسعه یافت. پس از آن ربات‌های IRC مختلفی با اهداف مخرب، اعم از حمله به کاربران IRC یا همهٔ سرورها، ایجاد شدند. ربات‌های جدید از مکانیزم‌های پیچیده‌ای برای ارتباط با botmaster استفاده می‌کنند که این مکانیزم‌ها از پروتکل‌ها و تکنیک‌های متعددی استفاده می‌کنند که منجر به پیچیده شدن روزافزون این ربات‌ها و سخت‌تر شدن تشخیص و مقابله با آن‌ها می‌گردد. آن‌ها می‌توانند مانند کرم‌ها منتشر شوند، مثل یک ویروس مخفی بمانند و حملات گسترده و سازمان یافته‌ای را شکل دهند. نسل جاری ربات‌ها می‌توانند از طریق شبکه‌های اشتراک فایل، شبکه‌های نظیر به نظیر (p2p) و پیوست‌های ایمیل و سایت‌های آلوده منتشر شوند>کامپیوترها در یک بات نت وقتی که یک نرم‌افزار مخرب را اجرا می‌کنند، می‌توانند مشترک تصمیم بگیرند. آن‌ها با فریب دادن کاربران نسبت به ایجاد یک درایو با استفاده از دانلود کردن، بهره‌برداری از آسیب‌پذیری‌های web browser، یا از طریق فریب کاربران برای اجرای یک اسب تروجان که ممکن است از ضمیمه یک فایل بیاید، می‌توانند این کار را انجام دهند. این بدافزار به‌طور معمول ماژول‌ها را نصب خواهد کرد که باعث می‌شود کامپیوتر توسط اپراتور بات نت فرمان دهی و کنترل شود. یک تروجان بسته به چگونگی نوشته شدن آن، ممکن است خودش را حذف کند یا برای بروزرسانی و حفظ ماژول‌ها باقی بماند.بات‌نت‌ها می‌توانند فعالیت‌های مخربی از جمله spamming، انجام حملات DDoS، توزیع بدافزارها (مثل Trojan horses، ابزارهای جاسوسی و keyloggerها)، به سرقت بردن نرم‌افزارها، کشف و سرقت اطلاعات، سرقت هویت، دستکاری بازی‌های آنلاین و نظر سنجی‌ها، حملات phishing و کشف کامپیوترهای آسیب‌پذیر را انجام دهند.یک برنامهٔ نرم‌افزاری (بدافزار) است که بر روی یک میزبان آسیب‌پذیر نصب می‌شود. این نرم‌افزار می‌تواند به روش‌های مختلف بر روی کامپیوتر میزبان نصب شود که از جملهٔ آن‌ها می‌توان به مشاهدهٔ یک وب‌سایت آلوده اشاره نمود. ربات‌ها اغلب به نحوی پیکر‌بندی می‌شوند که هر بار که کامپیوتر قربانی روشن شود، ربات نیز فعال گردد.

اقداماتی که ربات‌ها انجام می‌دهند بر اساس فرمان‌هایی هستند که توسط botmaster و از طریق یک کانال کنترلی ارسال می‌شوند. ربات‌ها، آسیب‌پذیری‌های سیستم‌های عامل یا برنامه‌های کاربردی نیستند؛ بلکه برنامه‌هایی هستند که برای نصب کردن backdoorهایی بر روی ماشین قربانی مورد استفاده قرار می‌گیرند. چیزی که ربات‌ها را از سایر بدافزارها متمایز می‌کند، کانال فرمان و کنترل است.

یک بات‌نت، مجموعه‌ای از ربات‌ها است که به یک کانال کنترل و فرمان متصل شده‌اند. به عبارت بهتر شبکه‌ای از ربات‌ها که منتظر دریافت دستوری برای انجام فعالیت‌های مخرب هستند.

کاربران مخربی هستند که با ارسال فرمان‌هایی برای انجام فعالیت‌های مخرب، ربات‌ها را کنترل می‌کنند. این کاربران اهداف مختلفی را دنبال می‌کنند.

بات‌نت‌ها ماشین‌هایی در اینترنت هستند که توسط نرم‌افزار مخربی که توسط botmaster منتشر شده‌است، آلوده گردیده‌اند. این ماشین‌ها بعد از آلوده شدن تبدیل به “zombies” یا “slaves” می‌شوند و می‌توانند اهداف مخرب مختلفی را دنبال کنند.

مهم‌ترین جزء یک بات‌نت زیربنای C&C است که شامل ربات‌ها و یک واحد کنترل است که می‌تواند به صورت متمرکز یا غیر متمرکز باشد.Botmasterها از پروتکل‌های ارتباطی مختلفی برای برقراری ارتباط با slaveها و ارسال دستورها به آن‌ها استفاده می‌کنند. با توجه به این که کانال C&C عموماً به عنوان تنها راه کنترل ربات‌ها محسوب می‌شود و کارایی بات‌نت وابسته به ارتباط پایدار با این کانال می‌باشد، معماری آن می‌تواند تعیین‌کنندهٔ میزان مقاومت (robustness)، پایداری (stability) و زمان واکنش (reaction time) آن باشد. در حالت کلی ربات‌ها به دو دستهٔ متمرکز و غیر‌متمرکز تقسیم می‌شوند.

چرخهٔ حیات یک بات‌نت شامل مراحل زیر می‌باشد:

  • Initial infection

در این فاز یک میزبان آلوده می‌شود و به عنوان عضوی از یک شبکهٔ رباتی در می‌آید.

  • Secondary injection

این فاز نیازمند آن است که فاز اول به صورت موفقیت‌آمیز انجام شده باشد. در این فاز میزبان آلوده شده، برنامه‌ای را اجرا می‌کند که در پایگاه دادهٔ یک شبکهٔ مشخص، باینری‌های بدافزار را جستجو می‌کند. زمانی که این باینری‌ها دانلود و اجرا شدند، میزبان آلوده‌شده، تبدیل به یک ربات واقعی می‌شود. دانلود کردن باینری‌های ربات‌ها معمولاً توسط پروتکل‌های FTP, HTTP و P2P انجام می‌شود.

  • Connection or Rally

در این مرحله بایستی ربات جدید به یک کانال کنترل و فرمان متصل شود تا به روز رسانی‌ها و دستورالعمل‌ها را دریافت نماید. به برقراری ارتباط ربات با کانال فرمان و کنترل، Rally نیز گفته می‌شود. در واقع هر بار که میزبان restart می‌شود، بایستی این فاز مجدداً انجام شود تا از اتصال و آماده به کار بودن ربات، اطمینان حاصل شود. بنابراین فاز اتصال، چندین بار در طول حیات یک ربات اتفاق می‌افتد. با توجه به این که ربات‌ها باید با سرورهای C&C ارتباط برقرار کنند، در این فاز بسیار آسیب‌پذیرند. ربات‌ها معمولاً به صورت پیش‌فرض ارتباطی را با سرورهای C&C برقرار می‌کنند که این ویژگی می‌تواند منجر به این شود که مکانیزم‌هایی برای تشخیص الگوهای ترافیکی ایجاد شوند که می‌توانند در نهایت منجر به کشف اجزای یک شبکهٔ رباتی و حتی سرورهای C&C گردند.

  • Malicious activities

پس از برقراری ارتباط با کانال فرمان و کنترل، ربات منتظر دریافت دستورها می‌شود تا فعالیت‌های مخربی را انجام دهد. در این فاز تبادل پیام‌ها با شدت بیشتری انجام می‌گیرد؛ به‌گونه‌ای که در یک دورهٔ زمانی کوتاه تعداد زیادی پیام مبادله می‌شوند. البته لازم است ذکر شود که ترافیک C&C حجم زیادی ندارد و منجر به تأخیر بالای شبکه نمی‌شود؛ بنابراین تکنیک‌های مبتنی بر بی‌نظمی نمی‌توانند ترافیک C&C را تشخیص دهند.

  • Maintanance and upgrading

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

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

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