Ботнет (англ. botnet від robot і network) — це комп'ютерна мережа, що складається з деякої кількості хостів, із запущеними ботами — автономним програмним забезпеченням. Найчастіше бот у складі ботнета є програмою, яка приховано встановлюється на комп'ютері жертви і дозволяє зловмисникові виконувати певні дії з використанням ресурсів інфікованого комп'ютера. Зазвичай використовуються для протиправної діяльності — розсилки спаму, перебору паролів на віддаленій системі, атак на відмову в обслуговуванні, отримання персональної інформації про користувачів, крадіжка номерів кредитних карт та паролів доступу.
Технічний опис
Залучення комп'ютерів до ботнету
Комп'ютер може потрапити в мережу ботнету через встановлення певного програмного забезпечення, без відома користувача. Трапляється це зазвичай через:
- Інфікування комп'ютера вірусом через вразливість в ПЗ (помилки в браузерах, поштових клієнтах, програмах перегляду документів, зображень, відео).
- Недосвідченість або неуважність користувача — шкідливе ПЗ маскується під "корисне програмне забезпечення".
- Використання санціонованого доступу до комп'ютера (рідко).
- Брут адміністративного пароля до розшарених ресурсів (наприклад, до $ADMIN, що дозволяє віддалено виконати програму) - переважно в локальних мережах.
Механізм маскування
Механізм захисту від видалення аналогічний більшості вірусів та руткітів, зокрема:
- маскування під системний процес;
- підміна системних файлів для самомаскування;
- інжекція коду безпосередньо в адресний простір системного процесу або процесу користувача
- перехоплення системних викликів для маскування наявності в системі файлів ботнету та посилань на нього;
- перехоплення системних процедур роботи з мережею для маскування трафіку ботнету під трафік користувача або системних утіліт.
- використання поліморфного коду, що ускладнює сигнатурний аналіз
- маскування під корисне ПЗ (прискорювачі Інтернет, програми для завантаження на диск онлайн-відео та -аудіо та ін.)
Механізм самозахисту
- створення перешкод нормальній роботі антивірусного ПЗ
- перезавантаження комп'ютера та інші порушення нормальної роботи при спробі доступу до виконуваних файлів або ключів автозапуска, в яких прописані файли програмного забезпечення ботнету;
Механізм автозапуску
Для автозапуску найчастіше використовуються наступні технології:
- використання нестандартних методів запуску (використовуються шляхи автозапуску від старого програмного забезпечення, підміна налагоджувальника процесів);
- використання двох процесів які перезапускають один одного, у випадку зняття одного з цих процесів інший процес знову його запустить;
- підміна системних файлів, що автоматично завантажуються операційною системою;
- реєстрація в ключах автозапуску або в списку модулів розширення функціональності системи;
Механізм керування ботнетом
Раніше керування передбачало «очікування» певних команд по певному порту, або участь в IRC-чаті. При відсутності команд програма «спить» очікуючи на команду власника, можливо намагається саморозмножуватись. При отриманні команди від «власника» ботнету, починає виконувати вказану команду. В ряді випадків за командою завантажується виконуваний файл (таким чином, є можливість «оновлювати» програму і завантажувати модулі які додають функціональність).
Наразі отримали поширення ботнети які керуються через веб-сайт або по принципу p2p-мереж.