Що таке зомбі-мережі? – Ч. 2

Всі мережеві взаємодії засновані на мережевих протоколах, що визначають правила спілкування комп'ютерів в мережі. Тому існує класифікація ботнетів, заснована на використовуваному протоколі спілкування.

За типом використовуваних мережевих протоколів ботнети діляться на наступні групи.

  • IRC-орієнтовані. Це один з найперших видів ботнетів, де управління ботами здійснювалося на основі IRC (Internet Relay Chat). Кожен заражений комп'ютер з'єднувався з вказаним в тілі програми-бота IRC-сервером, заходив на певний канал і чекав команди від свого господаря.
  • IM-oriented. IM-орієнтовані. Не дуже популярний вид ботнетів. Відрізняється від своїх IRC-орієнтованих побратимів тільки тим, що для передачі даних використовуються канали IM-служб (Instant Messaging), наприклад AOL, MSN, ICQ і ін Невисока популярність таких ботнетів обумовлена складнощами, що виникають при створенні окремого аккаунта IM-служби для кожного бота. Справа в тому, що боти повинні виходити в Мережу і постійно присутньою онлайн. Оскільки більшість IM-служб не дозволяють входити в систему з різних комп'ютерів, використовуючи один і той же аккаунт, у кожного бота повинен бути свій номер IM-служби. При цьому власники IM-служб всіляко перешкоджають будь автоматичної реєстрації акаунтів. У результаті господарі IM-орієнтованих ботнетів сильно обмежені в числі наявних зареєстрованих акаунтів, а значить і в числі ботів, одночасно присутніх в Мережі. Звичайно, боти можуть використовувати один і той же аккаунт, виходити в онлайн один раз в певний проміжок часу, відсилати дані на номер господаря і протягом короткого проміжку часу чекати відповіді, але це все вельми проблематично: така мережа реагує на команди дуже повільно.
  • Веб-орієнтовані. Відносно нова і швидко розвивається гілку ботнетів, орієнтована на управління через www. Бот з'єднується з певним веб-сервером, отримує з нього команди і передає у відповідь дані. Такі ботнети популярні в силу відносної легкості їх розробки, великого числа веб-серверів в Інтернеті і простоти управління через веб-інтерфейс.
  • Інші. Крім перерахованих вище існують і інші види ботнетів, які з'єднуються на основі свого власного протоколу, базуючись лише на стеку протоколів TCP / IP: використовують лише загальні протоколи TCP, ICMP, UDP.


Еволюція ботнетів
Історія ботнетів почалася в 1998-1999 роках, коли з'явилися перші програми поведінки Backdoor – досить відомі NetBus та BackOrifice2000. Це були концепти, тобто програми, в яких реалізовані принципово нові технологічні рішення. NetBus та BackOrifice2000 вперше несли повний набір функцій віддаленого управління зараженим комп'ютером, що дозволяло зловмисникам працювати з файлами на віддаленому комп'ютері, запускати нові програми, отримувати знімки екрану, відкривати / закривати CD-привод і т.д.

Спочатку створені як троянські програми, бекдори працювали без дозволу або повідомлення користувача. Для управління зараженим комп'ютером зловмисник повинен був сам встановити з'єднання з кожною інфікованої машиною. Перші бекдори працювали в локальних мережах на основі стеку протоколів TCP / IP і, по суті, були демонстрацією варіантів використання Windows API для віддаленого управління комп'ютером.

Клієнтські програми для віддаленого управління комп'ютерами вже на початку 2000-х могли одночасно керувати відразу декількома машинами. Однак, на відміну від сучасних бекдорів, програми NetBus та BackOrifice2000 виступали в ролі мережевого сервера: вони відкривали певний порт і пасивно чекали підключень господаря (Backdoor'и, використовувані для побудови ботнетів сьогодні, встановлюють з'єднання самі).

Потім, хтось із зловмисників придумав зробити так, щоб заражені бекдор комп'ютери самі виходили на зв'язок і їх завжди можна було бачити онлайн (за умови, що вони включені і працюють). Швидше за все, цей «хтось» був хакером, тому що боти нового покоління використовували традиційний для хакерів канал зв'язку – IRC (Internet Relay Chat). Ймовірно, розробку нових ботів сильно спростило те, що в самій системі IRC спочатку функціонували боти з відкритим вихідним кодом, але не спрямовані на віддалене керування системою, а з іншим функціоналом (ці програми відповідали на запити користувачів, наприклад, видавали інформацію про погоду або про часу останньої появи певного користувача в чаті).

Комп'ютери, заражені новими ботами, стали з'єднуватися з IRC-серверами, в якості відвідувачів виходити на зв'язок через певний IRC-канал і чекати вказівок від господаря ботнету. Господар міг у будь-який час з'явитися онлайн, побачити список ботів, відіслати команди відразу всім заражених комп'ютерів або відправити окреме повідомлення одній машині. Це був перший механізм реалізації ботнету з централізованим управлінням, пізніше названий C & C (Command & Control Centre).

Розробка таких ботів була нескладною завдяки простоті синтаксису протоколу IRC. Для того щоб використовувати IRC-сервер, необов'язково потрібна спеціалізована клієнтська програма. Достатньо мати універсальний мережевий клієнт, такий як додаток Netcat або Telnet.

Про появу IRC-ботнетів стало відомо досить швидко. Як тільки про них з'явилися публікації в хакерських журналах, з'явилися «викрадачі» ботнетів люди, які володіли, можливо, тими ж знаннями, що і власники ботнетів, але полювали за більш легкою наживою. Вони шукали такі IRC-канали, де було підозріло багато відвідувачів, заходили на них, вивчали і «гнали» ботнет: перехоплювали управління мережею, перенаправляли боти на інші, захищені паролем, IRC-канали і в результаті отримували повний одноосібний контроль над «чужий» мережею заражених машин.

Наступним етапом розвитку ботнетів стало переміщення центрів управління у всесвітню павутину. Спочатку хакери розробили засоби віддаленого управління сервером, які були засновані на таких популярних скрипт-движках, як Perl і PHP, в рідкісних випадках – ASP, JSP і декількох інших. Потім хтось створив таке з'єднання комп'ютера в локальній мережі з сервером в Інтернеті, яке дозволяло звідки завгодно управляти комп'ютером. Схема віддаленого управління комп'ютером в локальній мережі в обхід таких засобів захисту, як проксі і NAT, була опублікована в Інтернеті і швидко стала популярною в певних колах. Віддалене управління було засноване на встановленні HTTP-з'єднання з керуючим сервером з використанням локальних настройок комп'ютера. Якщо користувач встановлював у налаштуваннях системи адресу, порт, логін і пароль для проксі-сервера, автоматично активізувався механізм авторизації бібліотеки функцій для підтримки протоколу HTTP (Wininet.dll). З точки зору програміста, це було простим і доступним рішенням.

Напівлегальні розробки засобів віддаленого управління, спрямовані на отримання в обхід захисту віддаленого доступу до машин в локальних мережах, дали поштовх до створення веб-орієнтованих ботнетів. Трохи пізніше був розроблений простий скрипт управління невеликою мережею комп'ютерів, а зловмисники знайшли спосіб використовувати такі керовані мережі в корисливих цілях.

Веб-орієнтовані ботнети виявилися надзвичайно зручним рішенням, яке популярне й сьогодні. Безліччю комп'ютерів можна керувати за будь-якого пристрою, що має доступ в Інтернет, в тому числі з мобільного телефону, що підтримує WAP / GPRS, а з веб-інтерфейсом здатний впоратися навіть школяр. Подальший розвиток Інтернету і вдосконалення технологій веб-розробки також стимулювали використання веб-ботнетів.

Були спроби створити ботнети, керовані через канали IM-служб. Але IM-ботнети не набули широкого поширення, зокрема тому, що вони вимагають реєстрації номерів IM, а в умовах, коли системи захисту від автоматичної реєстрації акаунтів постійно змінюються, зареєструвати безліч акаунтів автоматично досить складно.

На цьому еволюція ботнетів не закінчилася: перебравши варіанти використання протоколів, розробники ботнетів переключилися на архітектуру мережі. Виявилося, що ботнет класичної архітектури (багато ботів і один центр управління) надзвичайно уразливий, оскільки залежить від критичного вузла – центру управління, при відключенні якого мережу можна вважати втраченою. Рішення у вигляді одночасного зараження комп'ютерів різними ботами, орієнтованими на різні центри управління, іноді спрацьовують, але такі ботнети набагато складніше підтримувати, оскільки потрібно стежити відразу за двома-трьома центрами управління.

Досить ефективними і небезпечними з точки зору експертів можуть стати ботнети з архітектурою P2P, в яких центру управління немає. Власникові мережі досить дати команду однієї з машин, далі боти передають команду самі. В принципі кожен комп'ютер в ботнеті може з'єднатися з будь-яким іншим комп'ютером, що входять в ту ж мережу. Експерименти по створенню таких ботнетів проводилися досить давно, проте перший великомасштабний ботнет на основі P2P-архітектури з'явився тільки в 2007 році. І саме P2P-ботнети зараз займають увагу дослідників інформаційної безпеки.

P2P-ботнети

«Штормовий» ботнет

У 2007 році увага дослідників інформаційної безпеки привернув P2P-ботнет, створений на основі шкідливої програми, відомої як Storm Worm. Автори «штормового» хробака поширювали своє дітище досить активно: по-видимому, вони створили цілу фабрику по створенню нових версій шкідливої програми. Починаючи з січня 2007 року ми щодня отримуємо 3-5 різних варіантів Storm Worm (за класифікацією «Лабораторії Касперського» – Email-Worm.Win32.Zhelatin).

Деякі експерти вважають, що Storm Worm являє собою шкідливу програму для побудови зомбі-мереж нового покоління. Про те, що бот був розроблений і розповсюджується професіоналами у своїй галузі, а архітектура і захист зомбі-мережі добре продумані, свідчать наступні характеристики «штормового» ботнету:

  • Код бота мутує, що нагадує поліморфні віруси. Відмінність Storm Worm полягає в тому, що код, який здійснює мутації, працює не всередині самої програми (як у поліморфік), а на спеціальному комп'ютері в Мережі. Цей механізм отримав назву «серверний поліморфізм» (server-side polymorphism).
  • Мутації відбуваються досить часто (були зафіксовані випадки мутацій разів на годину) і – головне – на стороні сервера, так що оновлення антивірусних баз для багатьох користувачів виявляються неефективними.
  • Штормовий ботнет захищає свої ресурси від занадто цікавих дослідників. Багато антивірусні компанії періодично викачують нові екземпляри хробака з серверів, звідки відбувається поширення шкідливої програми. Коли виявляються часті звернення з одного і того ж адреси, ботам дається команда почати DDoS-атаку цієї адреси.
  • Шкідлива програма-бот намагається якомога непомітніше функціонувати в системі. Очевидно, що програма, яка постійно атакує комп'ютер або проявляє велику мережеву активність, швидше звертає на себе увагу і адміністраторів, і користувачів. Тому дозована активність, яка не вимагає використання значної кількості комп'ютерних ресурсів, з точки зору шкідливої програми найбільш безпечна.
  • Замість комунікації з центральним сервером штормовий черв'як пов'язується лише з кількома «сусідніми» комп'ютерами в зараженій мережі, що робить задачу виявлення всіх зомбі-машин в P2P-мережі практично нездійсненною.

    Category: Інтернет

Comments (Прокоментуй!)

There are no comments yet. Why not be the first to speak your mind.

Leave a Reply