R0 CREW

Архитектура бот сетей

Всем привет!

Очень давно не касался темы хакинга(около 3х лет), но постоянно слежу за прогрессом вирмейкеров и возникает вопрос.

  1. Почему админки ботов в основном пишутся на PHP?
  2. Почему базы хранятся на том же сервере?
  3. Почему базы не зашифрованы?
  4. Почему не плохо написаные системные приложение, имеют за собой плохо и не качественно написаный бэкенд?

Тема обширная и глубокая надеюсь вы понимаете что я хотел донести, может есть кто из адекватных и опытных кто может поделится причиной такого поведения и отношения?

А почему большинство сайтов написано на PHP?

А зачем их хранить на другом сервере? Скорость выполнения запросов резко упадет ибо задержки. Да и доступ к базе все равно идет из скриптов. Смысл?

Ну зашифруем мы базы, как будем из них получать информацию?

Навыки системного программиста и веб-программиста не всегда хорошо совместимы в одном человеке.

Это про вас точно “Навыки системного программиста и веб-программиста не всегда хорошо совместимы в одном человеке.”

Базы зашифрованы для всех кроме самого приложения

Нет вы не правы

PHP для того чтобы эффективно справлялся с highload нужно писать определённым образом + ставить HHVM или KPHP на сервер, в общем это явно не подходит для кейса быстро подняли сервер + сделали дело + удалили сервер

Если юзать компилируемые языки всё гораздо быстрее, и uptime выше

Если юзать компилируемые языки всё гораздо быстрее, и uptime выше [/QUOTE]

А кто с этим спорит? Ответ на все твои вопросы, кроется в ответе на вопрос: “А почему большинство сайтов написано на PHP?”. Все остальное уже троллинг.

Нет вы не правы[/QUOTE]

Аргументируй. Почему неправ? Куда и для каких целей мы выносим БД?

Базы зашифрованы для всех кроме самого приложения[/QUOTE]

Все это выдергивается за пять секунд. Мы же получаем лишнюю нагрузку.

Guffi
Чем админка малвари принципиально отличаеться от сайта? К тому же “покупатели” не захотят возиться со, скажем, node js, а уйдут к другому “продавцу”.

Да все на пыхе пишется, потому что дешево, и можно таку работу всучить любому школьнику. Никому не нужен богатый функционал или красивости, главное чтобы можно было командовать парадом.

По поводу баз, от хранения на другом хосте или шифрования почти ничего не поменяется, если админку увели то “улыбаемся и машем”, или командуем с резервной админки.

Итог: смысла в извратах практически нет. Возможно есть ботоводы перфекционисты которым подавай удобный UI и прочее, но это редкое явление.))

summer_2005_release.zip
file:///D:/Temp/_tc0/summer_2005_release/content/mzfk-10.html

Дружище не нужно возится с nodejs, это с пыхом надо возится и следить за ним. А с nodejs всё в разы проще и быстрее! Я и на пыхе писал и nodejs, большие системы в итоге я за ноду.

Ну тут не в UI дело, а в устойчивости к нагрузкам, безопасности и методам проектирования. Можно сделать мега бэкенд для управления, который будет разворачиваться в 1 команду. В общем, блин ребят тут без примеров никак… Как нибудь соберусь с силами сделаею mind map

Давай определимся с постановкой вопроса:

В основном, пишут на широкую аудиторию с ботнетами, в среднем, до 100к ботов.
В основном, хочется быстро и с минимум усилий получить профит. То о чем ты говоришь, занимает минимум в два раза больше времени и усилий на разработку.
В основном, никто не хочет заморачиваться, если его клиентов устраивает толкаемый продукт.
В основном, забота о производительности - это проблема клиента.
Часто, боты пишутся школьниками-студентами.

Надеюсь я ответил на твой вопрос: “почему, в основном, пишут на PHP?”.

Теперь по поводу твоих предложений с БД.

БД выносят на отдельный сервер для ускорения работы. Причем сам сервер ставят “у того же провайдера”, чтобы пинг был нулевой.

Если у тебя овер-много ботов, и все крутится на одном серваке, а судя по постановке твоего вопроса это так, то, да, БД нужно отделить. Но я бы поступил по другому. Разбил бы ботнет на слоты… Каждым слотом, я мог бы управлять с обычного “дешевого” веб-хостинга. А подобные тебе, заходили бы и удивлялись, почему все пишут на PHP :cry:

По поводу безопасности БД.

Рассматриваем вариант с вынесением и шифрованием БД на отдельный сервер. Окей, ты вынес БД. Теперь те кто будет исследовать бэкапы твоего сервака обломаются. У одних будет только софт, без БД. У других зашифрованная БД, без ключа шифрования.

Что мы от этого получаем:

  1. Я надеюсь твоя БД находится не у того же провайдера, что и твой бэкенд? И не в том же дата-центре, что и бэкенд? Тогда мы получаем задержку в пинге.
  2. БД у нас зашифрована? Тогда получаем доп. нагрузку на шифрование каждого запроса. Я уже молчу про выборку запросов, где придется расшифровывать каждую запись.
  3. Те кто доберется до сервера, когда он еще будет активен - сможет без проблем сделать полный дамп БД, выдрав ключ из твоего бэкенда.

Ну и у меня как бы вопрос. Зачем весь этот гемор с БД? Ну заберут БД и толку? Узнают IP ботов? Да пожалуйста! Не жалко. Управление над ботами они все равно не получат. Даже если каким-то образом получится их удалить/заблокировать, нам все равно будет на это насрать. Они убили только один слот, а у нас их еще 100! Пусть найдут все.

Бэкенд на С/C++ целесообразно писать в случаях, когда количество ботов переваливает за 1млн и надо каждый слот максимально оптимизировать. И даже в этом случае надо десять раз подумать… Может стоит добавить больше слотов? Да и вообще это прошлый век.

В идеальной архитектуре, бэкенд нужен всего для одной вещи. Задать базовую конфигурацию бота. После чего бэкенд можно отключать до следующего прогруза. Для управления “миллионами ботов” хватит смартфона.

Ну вот что сразу за выводы? root мне нравится твой образ мышления, но не нужно делать поспешных выводов. Как раз в этом направлении я и думаю и удивлён почему подобные системы не организованны подобным образом, у меня нет своей сети. Просто провожу исследования