Ботнет – це комп’ютерна мережа, що складається з великої кількості комп’ютерів, на яких потай встановлене шкідливе ПЗ, що дозволяє зловмисникам віддалено виконувати будь-які дії з використанням обчислювальних ресурсів заражених машин. Слово ботнет утворене від слів robot (робот) та network (мережа). Ботнети можуть використовуватися для різних цілей, таких як розсилання спаму, атаки на відмову в обслуговуванні (DoS та DDoS), крадіжка даних, шифрування файлів та здирство і т.д.
Історія виникнення
Перші роботи створювалися для того, щоб допомогти в управлінні IRC-каналами. Адміністрування каналів у мережі IRC може тривати багато часу, тому адміністратори створювали спеціальних ботів, які допомагали керувати роботою популярних каналів. Одним із перших таких роботів був Eggdrop, написаний у 1993 році.
Згодом IRC-боти стали використовуватися для шкідливих цілей. Їхнім головним завданням стала атака IRC-серверів та інших користувачів в IRC-мережах. Це дозволило здійснювати DoS-атаки. Використання ботів допомагало приховати атакуючого, оскільки пакети відправлялися від бота, а чи не з комп’ютера зловмисника. Також з’явилася можливість групувати кілька заражених комп’ютерів для організації DDoS-атак. Для атаки великих цілей були потрібні великі мережі ботів. Тому зловмисники почали використовувати троянські програми та інші приховані методи, щоб збільшити кількість заражених комп’ютерів у мережі.
Сучасні боти є різними гібридами загроз, інтегрованих у систему управління та контролю. Вони можуть поширюватися як черв’яки, ховатися від операційної системи як більшість вірусів, а також включають різні методи атак. Інша серйозна проблема у тому, що у створенні сучасних ботів беруть участь відразу кілька людей. Таким чином, з’являється кілька різних варіантів того самого бота, що ускладнює їх розпізнавання антивірусними програмами.
Архітектура
Ботнети можуть мати різну архітектуру в залежності від способу організації зв’язку між ботами та керуючим центром. Існують дві основні моделі: клієнт-серверна та децентралізована.
Клієнт-серверна модель
Перші ботнети використовували модель клієнт-сервер для виконання своїх завдань. У цій моделі роботи підключаються до одного або кількох серверів, які виступають у ролі керуючого центру. Сервери можуть використовувати різні протоколи обміну даними з ботами, такі як IRC, HTTP, FTP тощо. Зловмисник може відправляти команди із сервера на боти, а також отримувати від них інформацію про заражені комп’ютери.
Перевагою цієї моделі є простота управління та моніторингу ботнету. Недоліком є те, що сервери є вразливими точками у мережі, які можуть бути виявлені та відключені фахівцями з безпеки чи правоохоронними органами. Також зловмисник ризикує бути ідентифікованим за IP-адресою сервера.
Децентралізована модель
Для підвищення стійкості ботнетів до виявлення та руйнування зловмисники почали використовувати децентралізовану модель, де немає центрального сервера. У цій моделі роботи обмінюються даними один з одним за принципом peer-to-peer (P2P). Кожен бот може бути ролі клієнта чи сервера залежно від ситуації. Зловмисник може впроваджувати команди в мережу через будь-який бот, а вони будуть поширюватися по решті ботів.
Перевагою цієї моделі є те, що ботнет стає більш стійким до атак та блокувань, оскільки немає єдиної точки відмови. Недоліком є те, що управління та моніторинг ботнета стає складнішим, оскільки потрібно більше ресурсів для передачі даних між ботами.

Технічний опис
Для того, щоб створити та використовувати ботнет, зловмиснику необхідно виконати три основні кроки: отримати управління над комп’ютерами, забезпечити самозахист та автозапуск ботів, а також організувати механізм управління ботнетом.
Отримання управління
Щоб заразити комп’ютер шкідливим ПЗ і перетворити його на бота, зловмисник може використовувати різні методи. Наприклад:
- Експлуатація вразливостей в операційній системі чи додатках. Зловмисник може сканувати мережу на наявність комп’ютерів з відомими вразливостями і спробувати проникнути на них за допомогою спеціальних інструментів (експлойтів). Прикладом такого методу є атака через протокол SMB, яка використовувалася вірусами WannaCry та NotPetya.
- Розповсюдження через знімні носії або локальну мережу. Зловмисник може використовувати флешки, диски, мобільні телефони та інші знімні пристрої для перенесення бота на інший комп’ютер. Для цього він може скористатися функцією автозапуску (Autorun) або приховати робота під виглядом легітимного файлу. Також зловмисник може заразити комп’ютери в локальній мережі за допомогою протоколів SMB, NetBIOS і т.д.
- Завантаження. Зловмисник може надіслати жертві посилання на файл, що містить шкідливий код, або прикріпити його до електронного листа, повідомлення у соціальній мережі чи месенджері. Якщо жертва відкриє файл або перейде за посиланням, її комп’ютер буде заражений ботом.
- Експлойти. Зловмисник може використовувати вразливості в операційній системі, браузері або інших програмах, щоб впровадити шкідливий код на комп’ютер жертви. Для цього він може створити спеціально підготовлену веб-сторінку або документ, який під час відкриття активує експлойт та заражає комп’ютер ботом.
- Троянські програми. Зловмисник може приховати бота всередині іншої програми, яка видається корисною чи цікавою для жертви. Наприклад, це може бути гра, утиліта, оновлення чи кряк. Коли жертва запустить таку програму, вона також запустить роботу.
Самозахист та автозапуск
Для того, щоб ботнет продовжував функціонувати, необхідно забезпечити захист ботів від видалення та виявлення. Для цього зловмисники використовують різні техніки, такі як:
- Приховування від антивірусних програм. Боти можуть використовувати різні методи обфускації коду, шифрування даних, поліморфізму та метаморфізму, щоб утруднити їх аналіз та розпізнавання антивірусними програмами. Також роботи можуть намагатися відключити або блокувати роботу антивірусних програм на зараженому комп’ютері.
- Приховування від операційної системи. Боти можуть використовувати різні методи руткітів, щоб приховати свої файли, процеси, реєстри та мережну активність від операційної системи та користувачів. Також роботи можуть інжектувати свій код в інші процеси або драйвери, щоб замаскуватися під легітимні програми.
- Автозапуск під час завантаження системи. Боти можуть використовувати різні методи для автоматичного запуску при кожному завантаженні системи. Наприклад, боти можуть додавати свої записи до реєстру Windows, папку автозавантаження, планувальник завдань або в BIOS.
Управління ботнетом
Для того, щоб керувати ботнетом та виконувати різні завдання з його допомогою, зловмиснику необхідно мати спеціальне програмне забезпечення для управління та контролю (C&C). Це програмне забезпечення може бути встановлене на одному або декількох серверах, або на інших ботах залежно від архітектури ботнета. За допомогою C&C зловмисник може відправляти команди на боти, отримувати від них інформацію про заражені комп’ютери, оновлювати або видаляти боти тощо. Команди можуть бути надіслані за різними протоколами, такими як IRC, HTTP, FTP, SMTP і т.д. Також можуть використовуватися шифрування та стеганографія для приховування команд від сторонніх очей.

Боротьба з ботнетами
Боротьба з ботнетами є складним і багатогранним завданням, яке потребує спільних зусиль фахівців з безпеки, правоохоронних органів, інтернет-провайдерів та користувачів. Для боротьби з ботнетами можна використовувати такі методи:
- Виявлення ботнету. Для того щоб виявити ботнет, необхідно аналізувати мережну активність та поведінку комп’ютерів щодо наявності ознак зараження. Наприклад, можна використовувати антивірусні програми, мережні сканери, системи виявлення вторгнень (IDS) та системи запобігання вторгненням (IPS).
- Запобігання зараженню. Для того щоб запобігти зараженню комп’ютерів ботами, необхідно дотримуватись правил кібергігієни, таких як: використовувати надійні антивірусні програми та оновлювати їх регулярно, встановлювати патчі та оновлення для операційної системи та додатків, не відкривати підозрілі вкладення та посилання, не використовувати піратське ПЗ та знімні носії, не давати адміністративні права неперевіреним програмам тощо.
- Руйнування ботнет-мережі. Для того, щоб зруйнувати ботнет-мережу, необхідно виявити та відключити керуючі сервери або боти, які виконують роль C&C. Для цього можуть використовуватись різні методи, такі як: перехоплення команд від зловмисника, впровадження підроблених команд у мережу, блокування доступу до серверів або ботів, конфіскація обладнання та арешт зловмисників.
Приклади ботнетів
Ботнетів досить багато, як невеликих, так і масштабних, з мільйонами елементів у своїй мережі. Як приклад можна навести ті з них, що були найактивнішими у 2018 році (і продовжують бути активними й надалі):
- Andromeda – один із найстаріших і стійких ботнетів, який включав 80 різних сімейств шкідливих програм. Він використовувався для поширення спаму, крадіжки даних, DDoS-атак та інших цілей. У грудні 2017 року його було частково зруйновано внаслідок спільної операції фахівців з безпеки та правоохоронних органів із різних країн.
- Emotet – один із найнебезпечніших ботнетів на сьогоднішній день, який поширюється через спам-листи з вкладеннями або посиланнями на Word-документи з макросами. Він використовується для крадіжки даних, встановлення інших шкідливих програм (таких як Trickbot і Ryuk), а також для DDoS-атак.
- Mirai – один з найвідоміших ботнетів, який заражає пристрої інтернету речей (IoT), такі як IP-камери, маршрутизатори і т.д. Він використовується для проведення потужних DDoS-атак на великі сайти та сервіси, такі як Twitter, Netflix, GitHub та ін.
- Necurs – один із найбільших ботнетів за кількістю заражених комп’ютерів (близько 6 мільйонів). Він використовується для поширення спаму та інших шкідливих програм (таких як Locky і Dridex), а також для проведення DDoS-атак.
- Satori – один із клонів Mirai, який також заражає пристрої IoT. Він використовується для проведення DDoS-атак на різні цілі, такі як ігрові сервери, сайти криптовалют і т.д.
Висновок
Ботнети є однією з найсерйозніших загроз у сучасному кіберпросторі. Вони можуть завдавати величезної шкоди як окремим користувачам, і цілим організаціям і державам. Для боротьби з ботнетами необхідно використовувати комплексні заходи щодо виявлення, запобігання та руйнування ботнет-мереж, а також підвищувати рівень кіберграмотності та кібербезпеки серед користувачів. Також необхідно співпрацювати з іншими фахівцями з безпеки, інтернет-провайдерами та правоохоронними органами для обміну інформацією та координації дій. Тільки так можна захистити себе та свої дані від атак ботнетів.
