کم
بدون ساختار
سرورهای C&C متمرکز
شبکه های رباتی با معماری متمرکز، یک پلت فرم ارتباطی با زمان حقیقی و ساده، با تأخیر کم و مؤثر برای بات مستر فراهم می کنند (۱۶). بیشتر حملات شبکه رباتی بزرگ مقیاس اخیر که شناسایی شده اند از این معماری استفاده می کنند. (شکل ۱ را ببینید). این معماری ربات ها را به یک نقطه مرکزی که پیام های IRC یا HTTP را بین مشتریان (Client رد و بدل می کند، وصل می کند. این بات مستر از این نقطه مرکزی برای عبور پیام ها به ربات هایش استفاده می کند. این معماری به دلیل ارتباط مستقیم ربات ها با سرور C&C که مستقیماً به هم متصل هستند تأخیر کمی دارد.
با این حال، این معماری از دیدگاه بات مستر دو ضعف دارد، به گونه ای که هر میزبان منفرد پیام ها را به همان سرور C&C ای می فرستد که می تواند به راحتی توسط مدافع رها شود. به علاوه، اگر سرور C&C از کار بیفتد، دیگر هیچ رباتی نمیتواند پیغامی دریافت کند و کل سیستم به خطر میافتد. (۱۴)
شکل ۳ - سرورهای C&C متمرکز (۱۴)
سرور C&C مبتنی بر P2P
مفهوم جفت به جفت (Peer-to-Peer) در سال های اخیر متداول شده است. میلیون ها کاربر روزانه برنامه ها، فیلم ها و بازی ها را به اشتراک میگذارند. اولین سرور C&C مبتنی بر P2P در سال ۲۰۰۲ با اسلپر ربات (Bot Slapper) پیاده سازی شده است. با این حال، این معماری چندین بار در طی چند سال اخیر اصلاح شده و اخیراً یک معماری جدید که از شبکه رباتی P2P دوگانه استفاده می کند ظهور کرده است.
هر ربات لیست خصوصی با اندازه ثابت از دانه ها (seeds) دارد که با یکدیگر چیزی را به اشتراک نمی گذارند. (شکل ۲). این یعنی اینکه وقتی یک میزبان پیامی را دریافت می کند، آن را به لیست خصوصی Seed هایش می فرستد. این روش تنها تعداد کمی ربات را در معرض نمایش می گذارد وقتی یکی از آن ها به دام می افتند. هر میزبان به طور دوره ای به همسایه اش متصل شده و سفارش ها را از بات مستر بازیابی می کند. بات مستر تنها نیاز به اتصال به یکی از ربات ها (Peer) دارد تا دستوراتش را به تمام شبکه ارسال کند. این نوع از معماری قوی تر از ساختار متمرکز بوده و سخت تر می توان آن را از کار انداخت. با این وجود، طراحی معماری P2P پیچیده تر است و یک تأخیر میانگین به دلیل تعداد هاپ ها (hops) از ربات ها به سرور C&C مشاهده می شود. (۱۴)
شکل ۴ - شبکه رباتی P2P دوگانه (۱۴)
سرور C&C بدون ساختار
نوع دیگری از ارتباطات اخیراً با بهره گرفتن از سرور بدون ساختار C&C کشف شده است. با بهره گرفتن از ارتباطات مبتنی بر P2P بدون لیست seed ها، هر ربات توانایی پیمایش اینترنت به منظور یافتن ربات دیگر را دارد. بات مستر در ابتدا پیامش را رمزگذاری کرده و سپس اینترنت را برای یافتن یکی از ربات هایش جهت عبور پیام از طریق آن می پیماید. این ربات همان کار را با پیمایش و ارسال پیام انجام می دهد. استفاده از این معماری واقعاً ساده و امن است زیرا کشف یک میزبان، هیچ میزبان دیگری را به خطر نمی اندازد. با این حال، یک تأخیر کم می تواند بخاطر زمان پیمایش اینترنت و یافتن میزبان های دیگر مشاهده شود. (۱۴)
رخدادهای رها سازی[۱۲]
تعدادی از رخدادهای رها کننده (Trigger) قادر به راه اندازی نرم افزارهای مخرب هستند. این رها کننده ها شناسایی را دشوارتر می کنند زیرا نرم افزارهای مخرب کاملاً قبل از شروع آن مخفی شده اند و این می تواند موفقیت حمله را بیشتر کند. اولین نوع از رها کننده از تاریخ های خاص برای فعال سازی خودش استفاده می کند.
برای مثال، روز ولنتاین سال ۲۰۰۹ این حمله انجام شد: صدها ایمیل با موضوع “عاشق تو شدن” شامل یک پیام احساسی و لینک به یک وب سایت ارسال شد. این وب سایت امکان دانلود ۱۲ عکس قلب را که حاوی برنامه مخرب درون آن بود را مهیا کرده بودند. دومین نوع از رها کننده بر طبق زمان کار می کند. نوع دیگری از رها کننده تابع زمان است: یک نرم افزار مخرب می تواند شروع به نصب خودش در شب کرده و از منابع کامپیوتر وقتی کاربر بیرون است و یا خواب است استفاده کند. نوع سوم رها کننده با بهره گرفتن از برنامه های کاربردی خاص keylogger (که فشار داده شدن کلیدها را ذخیره می کند) از فرآیندهای کاربردی ویندوز برای ثبت استفاده می کند. نهایتاً، سایر رخدادها می تواند بر اساس وب سایت های خاصی رهاسازی شود. برای مثال، بر روی وب سایت یک بانک، نرم افزار مخرب کلیدهای فشرده شده را ثبت کرده و یک تصویر لحظه ای از هر کلیک برای ردیابی شماره حساب و رمز فرد قربانی می گیرد. (۱۴)
پروتکل ارتباطی
پروتکل ارتباطی لیست شده در بالا تکنیک های گوناگون ارتباطی را درون شبکه های رباتی می چیند. ربات ها عموماً از یک پروتکل IRC برای ارتباط با یکدیگر استفاده می کنند. با این حال، پروتکل انتقال ابرمتن (HTTP) نیز به دلیل سهولت مخفی کردن آن در ترافیک وب مشهور است. پروتکل های جدیدی هم از جمله پیام لحظه ای ((IM)Instant Messaging) و P2P وجود دارند که برای شبکه های رباتی کوچکتر استفاده می شوند. در IRC، تمام ربات ها به یک کانال خصوصی خاص که با رمز عبور روی IRC محافظت می شود، ملحق می شوند. بعضی از این ربات ها از ارتباط رمزگذاری شده SSL استفاده می کنند. ربات پیام های ارسال شده در این کانال توسط بات مستر را تفسیر می کند. (اگر آن ها نیاز به بروز رسانی، حمله و … داشته باشند).
اکثر شبکه های مشترک برای امنیت بهتر ترافیک IRC را مجاز نمی کنند. در این روش، اگر یک سیستم شناسایی نفوذ ((IDS)Intrusion Detection System) درخواست IRC شناسایی کند، منجر به موارد زیر می شود:
یک درخواست IRC خارج مرز یعنی یک کامپیوتر در شبکه آلوده شده و به عنوان یک سرور C&C استفاده می شود. یک درخواست IRC داخل مرز یعنی سرور C&C یک کامپیوتر از داخل شبکه را به خدمت گرفته است. فایروال ها می توانند برای مسدود کردن تمام ترافیک های IRC پیکربندی شوند. با این حال، ربات ها اکنون از ترافیک IRC تونلی در پروتکل HTTP برای ارتباط با سرور C&C به دو دلیل استفاده می کنند: آن ها به آسانی درون مقدار زیادی از ترافیک HTTP مخفی شده اند و از قوانین فایروال که به طور کلی اکثریت پورت ها را به جز پورت ۸۰ برای ترافیک HTTP مسدود می کند عبور می کنند. انواع دیگر ارتباطات شامل مخفی سازی دستورالعمل ها در درخواست HTTP یا درون رکوردهای سیستم نام دامنه ((DNS)Domain Name System) هستند.
این دستورالعمل ها می توانند در تصاویر نیز مخفی شوند تا شناسایی را دشوارتر سازند. آخرین بهبودها در پروتکل های ارتباطی از پروتکل های پیام رسانی لحظه ای ((IM)Instant Messaging) مانند اسکایپ یا MSN و پروتکل های رمزگذاری شده P2P (WASTE) برای ارتباط و فایل های منتقل شده بین تعداد کمی از طرف های قابل اعتماد استفاده می کنند. این پروتکل ها اکنون رایج نیستند اما احتمالاً در آینده پدیدار می شوند و شناسایی شبکه رباتی را به دلیل حجم زیاد ارتباطات که همه روزه از برنامه های پیام رسانی لحظه ای ارسال می شود، سخت تر می سازند. (۱۴)
مکانیزم صف آرایی[۱۳]
مکانیزم های صف آرایی مختلف توسط شبکه های رباتی برای صف آرایی ربات های جدید در سرورC&C به منظور بازیابی پیام از بات مستر استفاده می شوند. روش های عمده شامل آدرس IP سخت کدگذاری شده، DDNS و سرویس DNS توزیعی است. (۱۴)
IP سخت کد گذاری شده[۱۴]
برخی ربات ها می توانند با سرور C&C با بهره گرفتن از یک IP سخت کد شده که به معنی IP ای از سرور C&C است که به صورت باینری در شبکه رباتی کد گذاری شده است ارتباط برقرار کنند. این تکنیک خیلی متداول نیست زیرا وقتی یک ربات به دام می افتد و تحلیل می شود، آدرس سرور C&C می تواند به آسانی پیدا شده و از کارانداخته شود. وقتی سرور C&C غیرفعال شود، ربات های متعلق به این سرور بی مصرف می شوند زیرا نمی توانند دیگر از بات مستر سفارشی دریافت کنند. (۱۴)
نام دامنه DNS پویا[۱۵]
DDNS از یک نام دامنه سخت کدگذاری شده که توسط ارائه دهنده DNS پویا تخصیص داده شده است که به بات مستر امکان نقل مکان آسان شبکه رباتی اش را می دهد استفاده می کند.
اگر اتصال قطع شود، ربات یک جستار DNS برای دریافت نام دامنه جدید سرور C&C می فرستد.
ربات دیگر به سرور C&C وابسته نیست که این می تواند متوقف شده و یک سرور C&C جدید به آن ربات تخصیص خواهد یافت. تعداد کمی وب سایت این سرویس رایگان را ارائه می کنند مانند: dyndns.com شما می توانید دامنه خود را به شکل” yourname.dyndns.com “بسازید و یک IP داینامیک به این نام تخصیص دهید. (۱۴)
سرویس DNS توزیعی
روش دیگر، استفاده از سرویس DNS توزیعی است. این سرویس پیچیده ترین سرویس است و در جدیدترین ربات ها پیاده سازی می شود. شبکه های رباتی سرور DNS خود را در مکان های خاص که مقامات نمی توانند به آن ها دسترسی پیدا کنند دایر می کنند (زیرا قانون در دامنه امنیت اینترنت در این مکان ها به روز نیست). ربات با سرور DNS مربوط به خودش ارتباط برقرار می کند تا IP مربوط به سرور C&C را بازیابی کند. این سرورهای DNS از پورت بالایی که شناسایی آن ها را توسط لوازم امنیتی دشوار می سازد برای ارتباط استفاده می کنند. آن ها حقیقتاً برای شناسایی و نابود کردن سخت ترین ها هستند. (۱۴)
حملات
ربات ها مقیاس بزرگی از حملات مختلف موجود دارند که یک بات مستر می تواند همانطور که می خواهد از آن ها استفاده کند. حملات می توانند از راه های مختلفی صورت گیرند: می توانند نسبت به یک کاربر پایه نامرئی باشند (مانند جعل هویت) یا سیستم را کند کرده و آن را متوقف کنند (مانند حملات DDoS). مثال هایی از حملات در قسمت پایین شرح داده شده است.
حملات DDoS.
این یک حمله معمول است که توسط شبکه های رباتی برای بارگذاری بیش از حد یک سرور انجام می شود. با بهره گرفتن از تعداد زیادی کامپیوتر که پیام های TCP SYN و UDP را مکرراً می فرستند، می تواند به سرعت پهنای باند شبکه هدف را بیش از حد بارگذاری کرده و برخی اوقات آن را از کار بیندازد.
اسپمینگ.
مقادیر زیادی ایمیل در یک توده فرستاده می شوند. مهاجمان با کمک هزاران ربات، می توانند مقدار زیادی از ایمیل های اسپم را با بهره گرفتن از لیست تصادفی ایمیل های یافت شده در اینترنت بفرستند.
برخی ربات ها یک تابع خاص برای برداشتن آدرس های ایمیل پیاده سازی می کنند. اغلب اسپمی که دریافت می کنید از سوی یک دوست ارسال می شود.
خرناس[۱۶].
ربات ها می توانند داده هایی را که یک کاربر تایپ می کند برداشت کنند.
Sniffing به عنوان یک Keylogger استفاده می شود و می تواند نام کابری / رمز عبور و سایر اطلاعات جالب را بازیابی کند. برخی اوقات، بیش از یک شبکه رباتی یک میزبان خاص را به خطر می اندازند. در این مورد، آن ها اطلاعات را از یکدیگر می دزدند.
جعل کلیک
شبکه رباتی می تواند برای کسب منافع مالی استفاده شود.
با نصب تبلیغات روی یک وب سایت ساختگی و ایجاد معامله با شرکت هایی که به ازای هر کلیک پول پرداخت می کنند. وقتی وب سایت راه اندازی می شود، بات مستر از تمام ربات هایش می خواهد تا روی این تبلیغات کلیک کنند. این کار هزاران کلیک از هرکجا ایجاد کرده و درآمد مالی برای بات مستر حاصل می شود. این تکنیک امروزه کمی ابتدایی به نظر می رسد زیرا شرکت ها می توانند این مقدار زیاد از کلیک ها را در یک زمان شناسایی کند؛ بنابراین، چند ویژگی برای مجبور کردن کامپیوترهای آلوده جهت کلیک روی تبلیغات افزوده شده است، برای مثال، هر موقع آن ها مرورگر وب خود را باز می کنند.
جعل هویت
این فن فیشینیگ نیز نامیده می شود. ربات ها می توانند میزبان چندین سایت جعلی که خود را EBay، PayPal یا یک بانک جا می زنند باشند و اطلاعات شخصی را برداشت کنند.
معمولاً از نامی با یک تغییر در حروف برای گیج کردن استفاده می شود (مثلاً paypol.com به جای paypal.com) برخی ربات ها قادر به هدایت برخی DNS های خاص می کنند که شناسایی را سخت تر می سازد: ورود به paypal.com شما را به یک سایت جعلی با دقیقاً همان نام می کند. (۱۷)
تحلیل رفتاری
شناسایی شبکه های رباتی در یک شبکه می تواند از طریق انواع مختلف رفتارها طبقه بندی شود: مبتنی بر شبکه، مبتنی بر میزبان و همبسته جهانی. درک این رفتارها برای جلوگیری، محافظت و شناسایی نفوذ شبکه رباتی درون شبکه اهمیت دارد. (۱۵)
رفتارهای مبتنی بر شبکه
رفتارهای مبتنی بر شبکه، ترافیک شبکه را تحلیل می کنند. بات مسترها نیاز به ارتباط با ربات هایشان درون شبکه دارند. اکثر ربات ها از جستار DNS داینامیک برای یافتن سرورهای C&C خود استفاده می کنند به دلیل اینکه ایمن ترین پروتکل است. شبکه های رباتی می توانند از IRC یا HTTP برای ارتباط استفاده کنند. فیلتر کردن برخی اطلاعات خاص روی این شبکه ها می تواند به یافتن برخی میزبان های به خطر افتاده کمک کند: اکثر شرکت ها عموماً ترافیک IRC را مسدود می کنند زیرا ریسک بزرگی است که توسط نرم افزار مخرب آلوده شوند. بنابراین اگر ترافیکی از پورت IRC استفاده کند، می تواند وجود ربات ها را فاش کند. ربات ها اغلب برای جلوگیری از شناسایی سرور C&C، سرور DNS را عوض می کنند. فیلتر کردن ترافیک DNS می تواند برای یافتن میزبان هایی که تغییر سرور نام DNS را نگهداری می کنند به کار رود. روش دیگر نگاه به همان نام DNS استفاده شده توسط شبکه های رباتی است که می توانند برخی اوقات توسط یک نام غیرمعمول متمایز شوند (مثلاً milk.dyndns.com) (14)
رفتارهای مبتنی بر میزبان