Всем добрый вечер. Суть вопроса: какая топология бот-сети считается на сегодняшний день самой перспективной? Подскажите какие-нибудь источники информации по этому вопросу.
Как человек, интересующийся тематикой бот-сетей, хотел бы задать встречный вопрос: а какие топологии существуют?
>> какая топология бот-сети считается на сегодняшний день самой перспективной? децентраллизованая >> Подскажите какие-нибудь источники информации по этому вопросу. владельцы/девелоперы подобных сетей обычно не делятся такой информацией
Насколько я знаю, сейчас самая распространенная - с центральным сервером управления. (IRC, HTTP, MAIL) Возможно несколько центральных серверов (холодный/горячий резерв). Еще появляются потихоньку P2P. Они не имеют таких недостатков, как предыдущие. Ты не можешь загасить весь бот-нет, если нейтрализуешь центральный сервер. Кроме того, нет возможности отследить бот-мастера, т.к. управляться такой бот-нет может с любого бота, и вычислить, откуда пошла команда крайне сложно (а иногда и не возможно). Ну а по P2P можно уже разные варианты рассматривать. Самый быстрый - полносвязный. Он же самый тяжелый в реализации. В этом варианте каждый бот является и клиентом и сервером, а также знает обо всех ботах в сети. Можно выделять скажем, 10% от всех ботов, и делать их серверами, через которые общаются остальные боты. Это более реально. Вариантов много, зависят от целей бот-нета, а также мозгов писателя вредоносного ПО, изменяющего и блокирующего ))).
Span просто не глупо ли существование полной сети? т.е. связь каждый с каждым, скорее всего будет очень перегружать сеть. или я не прав? смена мастер сервера скорее всего должна происходить через случайные промежутки времени, но все же, в момент оповещения дочерних узлов сети о смене сервера, новый сервер становится явным, и остальные центральные также (если их несколько). вобщем эта тема остается покрытой мраком .
Насчет полной связи я имел ввиду немного другое. Не обязательно же иметь постоянные соединения каждого с каждым. Такая структура не имеет права на жизнь. Я имел ввиду следующее: каждый бот знает о существовании всех остальных ботов. Новый бот связывается с каким либо ботом из сети и дает о себе знать, его адрес записывается в список бота, к которому он постучался, а потом передается им остальным участникам. Никакой перегрузки не будет если сделать так: бот 1 раз в секунду соединяется с ботом из списка, проверяет наличие задания (либо появление нового бота). В следующую секунду связывается с другим, в следующуу с 3им. Если получил от кого-то задание - передает следующему и начинает исполнять в др потоке. Таки образом, при равномерном законе распределения имеем на одну машину одно исходящее соединение в секунду и одно входящее. И это не зависит от количества ботов (что решает проблему перегрузки сервера в централизованной структуре) Какая тут перегрузка сети????? Ну а скорость распространения задания здесь можно примерно(!!!) посчитать. 1: задание на 1 боте, передается на 0 ботов. Только дали команду. 2: задание на 1 боте, передается на 1+1 (1 он сам передает по своему списку + 1 у него это задание считывыет другой бот, который в данный момент к нему подконнектился) 3: задание на 3, передается на 3+3 4: задание на 9, передается на 9+9 5: 27 54 6: 81 162 и.т.д. правда тут я рассмотрел вариант, когда при каждый раз идет соединение бота с заданием и бота без задания, чего в реальности не будет. что мы видим????? ф-я 3^t , и это круто, т.к. скорость распространения задачи зависит нелинейно от кол-ва ботов т.е. если у тебя есть 20 000 ботов, на распространение задание уйдет в идеале ~11 секунд. а если 60 000 - то 12. Имеем децентрализованную систему управления, с малым временем распространения задачи и невозможностью загасить систему без полного уничтодения всех ее участников. Еще с невозможностью отследить ботмастера. При небольшой загрузке сети и абсолютном равноправии участников. Конечно тут есть и подводные камни... Вообще такую систему можно и смоделировать, самому посмотреть на нагрузки и времена.
Span Идея неплохая, но есть пара моментов: как новый бот узнает адрес какого-либо бота из сети? Как боты авторизуются при общении с друг другом? Иначе, как только он попадет в лапы антивирусников, они его быстро препарируют и выдерут все алгоритмы авторизации вместе с их ключами. И конец бот-сети.
Ребята, мне, мягко говоря, не очень нравится, что васм превращается в трояновое болото. Завязывайте с темой. Подобные вещи рекомендую обсуждать где-либо еще. Например, на xakep.ru.