Данный документ носит лишь исследовательский характер и не является призывом к совершению неправомерных поступков, нарушающих законодательство вашей страны! Существует достаточное количество способов для поддержания связи с ботнетом. У каждого способа имеются свои плюсы и минусы. Конечно же, нет универсального. Рано или поздно, исследователи доберутся до вашего url/командного центра и начнут "ломиться"(писать абузы и т.д) на сервер. Разве что только есть методы, которые бы усложнили жизнь исследователям. В данной статье я постараюсь как можно более подробно рассмотреть все пункты, а также привести пример собственной реализации(в самом конце). Технология "сервер-клиент". В теле бота размещается url командного центра, в последствии с которым он связывается. Для защищённости используется: - Шифрование url. - Шифрование траффика между сервером и клиентом. - Работа с https протоколом. Плюсы: - Невозможно анализировать траффик. - URL зашифрован. Минусы: - URL легко можно узнать, отреверсив сэмпл(зависит от навыков исследователя). Usability: 80% public ботов используют данную технологию. Технология "FastFlux". FastFlux используется в основном для скрытия основных управляющих серверов. Основная идея данного метода заключается в том, что множество IP-адресов может быть связано лишь с одним доменом. Это достигается за счёт смены DNS записей у домена. Более подробно: http://www.honeynet.org/node/132 http://www.honeynet.org/node/138 Плюсы: - Очень сложно отключить и выявить fastflux сеть. - В качестве командного центра может выступать обычный белый сервер. Usability: используется в основном в проектах с большим бюджетом(и соотв. окупаемостью), а также техническими возможностями. Proof: securelist.com/ru/analysis/208050533/Ekonomika_botnetov Технология "P2P". P2P - децентрализованная сеть. В ней отсутствуют серверы, т.е каждый бот является одновременно и клиентом и сервером. Более подробно: http://ru.wikipedia.org/wiki/Одноранговая_сеть Плюсы: - В случае если, источник выдаёт лишь часть ip-адресов, то выявить весь ботнет исследователям не предоставляется возможным. Минусы: - Требуются источники для получения списков ip-адресов. Usability: из ранее встречавшихся, запомнились - Bredolab, TDL, Palevo. Технология "генератор доменов". В качестве отправной точки используется, к примеру, текущая дата и на её основе генерируется доменное имя, к которому и подключается бот. Плюсы: - В любое время можно зарегистрировать доменное имя и продолжить управление. Минусы: - Исследователи могут отреверсить сам алгоритм генерации и накупить доменов наперёд. - Даже если всевозможные комбинации доменов были уже зарегистрированы хозяином ботнета, это не спасёт от реверсинга самого алгоритма. - Большая активность запросов может быть обнаружена всякими эвристическими анализаторами. Usability: из ранее встречавшихся, запомнились - TDL, Sinowal, Kido, Zeus, Storm. Технология "скан ip диапазона". Ботом сканируется заданная часть ip диапазона для нахождения командного центра. Минусы: - При обнаружении определённой активности, ip адрес сервера может быть легко выявлен. Технология "солнышко". Придумал я сам, возможно кто-то до меня уже дошёл до подобного, не суть! Основной замысел данного метода заключается в том, что в боте изначально содержится список из 100~200 url, по которым он в случайном порядке отправляет/принимает информацию и только 1~N сайтов из этого списка явл-ся командными центрами. url - в данном контексте, - это действующие/фейковые веб-сайты. В случае, если связь с сервером односторонняя(т.е бот пересылает что-то и от сервера ответа не ждёт), то установить адрес командного центра достаточно-таки сложно. Если же связь с сервером двусторонняя, командный центр обнаружить также сложно. Продемонстрирую это на примере: - Сервер хочет выдать задание боту, т.е один url из списка начинает что-то выдавать(картинка, html код, просто файл, либо список с новыми url адресами). Как вы уже успели понять, иссле- дователь, благодаря мониторингу содержимого, выдаваемого списком URL может вычислить истин- ный адрес, да не тут-то было! А что, если в списке будут новостные порталы, блоги, с тоннами ротирующейся рекламы, счётч- иков, баннерами, кто знает, возможно в этой рекламе находится зашифрованное сообщение, легко идентифицируемое ботом. Плюсы: - Данная идея применительна не только к http протоколу, но и к jabber/icq/mra/etc. - Практически стопроцентная недетектируемость, в комбинации с вышеперечисленными методами даёт неубиваемый ботнет. - Отпадают всяческие эвристические анализаторы: бот имитирует заходы на настоящие сайты, соб- людая между заходами на сайт паузы. - В списке можно запрятать несколько адресов командных центров. Минусы: - Метод требует обфускации алгоритма работы кода, чтобы исследователи не поняли с содержимым какого url ведётся работа. Это не статья, а небольшой обзор.