Методы борьбы с ботами - распространителями вирусов

Общение админов хабов и их юзеров.
Аватара пользователя
RoLex
 
Хаб: dchub://nemesis.te-home.net
 
Сообщения: 48
Откуда: Швеция

Сообщение 24 фев 2014, 23:18

Единственное что мне понравилось из твоих идей это проверка расширения перед проверкой названия, тут действительно меньше циклов. Про формат кода - у каждого программиста есть свой стиль, код он пишет по своему. Докажи чем уровень вложенности влияет на производительность?

Как бы там нибыло, я переписал скрипт, зацени.

А вот это вовсе не понял, обьясни пожалуйста:

HackFresse писал(а):Добавление в sets надо дополнительно проверить, при переборе всех conf.file в цикле может проскочить повторное добавление, если один файл назван как "windows ключи активации (для поиска serial keygen patch).zip". Т.е. заносить поисковый ответ в таблицу при первом совпадении из списка, один поисковый ответ - одна запись в таблице срабатываний

Аватара пользователя
MaxFox
 
Хаб: dchub://AllAvtovo.ru
 
Сообщения: 156
Откуда: Санкт-Петербург

Сообщение 25 фев 2014, 00:16

HackFresse писал(а):Дата нужна обязательно.
адрес хаба со срабатыванием,
nick бота,
ip бота,
список стоп-слов, на которые он отозвался (из секции настроек скрипта). на разных хабах могут быть разные условия, по которым банить
список из Detected files (тут уже непонятно, нужно ли оно. просто дополнить информацию из пункта выше)

Давать возможность добавлять "только своим", выставить лимиты на добавление. это самая простая часть

поставь себе хотя бы notepad++, он ахрененно сворачивает, при необходимости операторные скобки...

Аватара пользователя
HackFresse
 
Сообщения: 507

Сообщение 25 фев 2014, 01:07

>>Докажи чем уровень вложенности влияет на производительность?

Сложные структуры сложны для понимания. Их тяжело писать, тяжело модифицировать и наращивать функционал. И тяжело оптимизировать
RoLex писал(а):А вот это вовсе не понял, обьясни пожалуйста:

HackFresse писал(а):Добавление в sets надо дополнительно проверить, при переборе всех conf.file в цикле может проскочить повторное добавление, если один файл назван как "windows ключи активации (для поиска serial keygen patch).zip". Т.е. заносить поисковый ответ в таблицу при первом совпадении из списка, один поисковый ответ - одна запись в таблице срабатываний


в код заполнения таблицы особо не вчитывался (потому что сложно =)), просто указал на возможный нюанс, просто дополнительно проверить. участок про
Скрытый текст
Код: Выделить всё
  if sets.user [nick] then
if sets.user [nick][path] then
if not sets.user [nick][path][name] then
if math.abs (sets.user [nick][path][""] - tonumber (size)) <= conf.diff then
sets.user [nick][path][name] = tonumber (size)

if getitem (sets.user [nick][path]) >= conf.find then
if conf.verb == 2 then
local feed, list = "", ""

for fame, fize in pairs (sets.user [nick][path]) do
if # fame > 0 then
list = list .. " " .. path .. fame .. " | " .. getsize (fize) .. "\r\n"
end
end

list = list:gsub ("%$", "&#36;")
list = list:gsub ("|", "&#124;")

feed = "Infected user detected:\r\n\r\n"
feed = feed .. " Nick: " .. nick .. "\r\n"
feed = feed .. " IP: " .. getaddr (nick) .. "\r\n"
feed = feed .. " Found files:\r\n\r\n"
feed = feed .. list

VH:SendPMToAll (feed, sets.feed, conf.feed, 10)
elseif conf.verb == 1 then
VH:SendPMToAll ("Infected user detected with IP " .. getaddr (nick) .. ": " .. nick, sets.feed, conf.feed, 10)
end

VH:KickUser (sets.from, nick, conf.kick)
sets.user [nick] = nil
return 0
end
end
end

sets.user [nick][path][""] = tonumber (size)
else
sets.user [nick][path] = {
[""] = tonumber (size),
[name] = tonumber (size)
}
end
else
sets.user [nick] = {
[""] = os.time (),
[path] = {
[""] = tonumber (size),
[name] = tonumber (size)
}
}
end
end

Код: Выделить всё
if not sets.user [nick][path][name] then *добавление+обработка*  end

да, добавление в таблицу будет один раз

Но зато все следующие циклы будут проходить вхолостую. T.е. если на первом расширении и на первом стоп-слове запись уже создана, то все последующие обработки будут вредной нагрузкой, (count(conf.exts)-1)*(count(conf.file)-1)*все_проверки_и_регулярки. нужен выход из циклов при первом срабатывании.

Это если считать производительность машинную. Но намного дороже производительность человеческая (время, затраченное на понимание и модификацию)

Аватара пользователя
RoLex
 
Хаб: dchub://nemesis.te-home.net
 
Сообщения: 48
Откуда: Швеция

Сообщение 25 фев 2014, 12:54

@ HackFresse

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

Все нормально в коде заполнения таблицы, у меня все идеально там, это ты просто не понимаешь какую роль там играет return 1 после итерации расширений и названий файлов.

Да и вобще про циклы названий и расширений, функция VH_OnParsedMsgSR() вызывается чаще по запросу юзеров на хабе чем по запросу моего скрипта, она выдает результаты пассивным юзерам на их поисковые запросы, там чаще всего встречается то что мой скрипт никогда не будет искать, потому он скорее всего будет проходить полный цикл без результатов, и это случается несколько раз в секунду.

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

Аватара пользователя
HackFresse
 
Сообщения: 507

Сообщение 25 фев 2014, 16:00

"Ты мне одновременно говоришь что ты не знаешь Луа, и тут же говоришь что тебе сложно понять мой код. Учи Луа и хватит выносить мой мозг." - это абсолютно то же самое, если я скажу "вот ты никак не можешь понять, что я тебе говорю, учи русский язык". *DONT_KNOW*

Сложно понять не из-за того, что это LUA такой тяжелый, а потому, что слишком мудрёно на нем написано там, где можно и нужно всё упростить.

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

В этом-то и проблема, что "скорее всего" в том месте, которое выполняется очень часто, а значит, требует оптимального алгоритма. "Скорее всего" от человека, который делает это с 14 лет и несомненно знает про всякие(общепринятые) понятия и техники и про "Докажи чем уровень вложенности влияет на производительность" спрашивает просто ради лулзов.

Кстати, "с 14 лет" вообще не аргумент - я бегать научился (и периодически это делаю) в очень малом возрасте, но почему-то куча людей делает это лучше. Но я не парюсь по этому поводу. Если кто-то скажет лишний раз "чел, следи за дыханием" - "ну, спасибо, уже слежу/постараюсь/зачем следить/ у меня своя методика". И всё, побегу дальше. Или пойду дальше.

Сделать я могу много чего, но весь вопрос в целесообразности.
"Ну-ка сделай лучше" меня тоже не особо зацепит. Более подробно разбираться в LUA у меня пока нету ни желания, ни потребности, мне его особо-то применять некуда. Нету у меня проблемы из первого сообщения в данной теме, нету хаба на verlihub, чтобы поставить туда скрипт выше и оптимизировать (или написать лучше и радоваться).

Я просто человек со стороны, мои сообщения можно игнорировать/забывать сразу после прочтения. У меня нету желания вызывать чью-либо агрессию, но я буду рад, если вместо неё появится азарт что-то сделать для дц.
И было бы очень хорошо, если бы это что-то новое было максимально простым для понимания новичками (которых последнее время почти-то и нету).

Те, кто скрипты писать умеет, развитием и популяризацией дц уже практически не занимаются, а случайно заинтересовавшимся новичкам разобраться очень сложно (что убивает всё желание заниматься).

Аватара пользователя
RoLex
 
Хаб: dchub://nemesis.te-home.net
 
Сообщения: 48
Откуда: Швеция

Сообщение 25 фев 2014, 16:46

Речь идет о 34x3 строках в таблице, итерация которой в Lua проходит за 0,001 секунды. Зачем тут какой либо алгоритм изобретать? Использование ресурсов не увеличилось не капли после загрузки этого скрипта, как и время выполнения, даже на Allavtovo.ru где сидит более 15.000 человек.

Вот Blacklist скрипт написаный мной на Python для Verlihub, который лично у меня на хабе загружает в память 350.000 строк - это другой пример который использует так называемый по твоему алгоритм который не дает скрипту итерировать весь список, на против, он читает А из А.Б.В.Г и итерирует только 255-ю часть всего списка - что действительно полезно. Данный случай действительно влияет на время выполнения и использование ресурсов.

Не надо мне втирать про грязный код, не нравится - не читай. Мне твое филосовство не интересно, забивай голову своими теориями другим подобным тебе людям. Если ты мне докажешь что твой код влияет на производительность хаба в лучшую сторону - я извинюсь, еще раз перепишу скрипт в твоем стиле, и навсегда запомню твой совет. Но до тех пор пока ты мне этого не доказал - лучше не трогай мои больные нервы.

Вот почему, только на русских форумах всегда найдется человек который съест твой мозг, начнет учить тебя жить по другому? Почему этой проблемы не существует на других форумах? Почему?
Последний раз редактировалось RoLex 25 фев 2014, 17:08, всего редактировалось 1 раз.

Аватара пользователя
WINS
 
Сообщения: 51

Сообщение 25 фев 2014, 17:19

Скрытый текст
на том агро-мего хабе никого не смутило?
$Lock EXTENDEDPROTOCOL_hub Pk=1.0.7.MegaHub specific|блаблабла

а обычно как-то так
$Lock EXTENDEDPROTOCOLpZ_8bEVCAX6K8_\N`U5x2sQIgoAnix Pk=PtokaX|

птока там походу с копаными исходниками и велосипед с уникальным хабсофтом точно не изобретали
Последний раз редактировалось WINS 25 фев 2014, 17:46, всего редактировалось 6 раз(а).

Аватара пользователя
HackFresse
 
Сообщения: 507

Сообщение 25 фев 2014, 18:23

Мне твое филосовство не интересно, забивай голову своими теориями другим подобным тебе людям. Если ты мне докажешь что твой код влияет на производительность хаба в лучшую сторону - я извинюсь, еще раз перепишу скрипт в твоем стиле, и навсегда запомню твой совет. Но до тех пор пока ты мне этого не доказал - лучше не трогай мои больные нервы.


Другая - более понятная - запись кода влияет на производительность кода в худшую сторону?
Экономия на спичках с записью большой лестницы операторов важнее удобства модификации и расширения ПО?

Был простой нубский вопрос-ответ viewtopic.php?p=22366#p22366 , а в итоге получилось
Скрытый текст
Изображение

Извините уж, раз так быстро и просто получилось и мозг съесть, и на нервах поиграть, и пытаться научить жить по-другому. Хочется как лучше, а выходит как всегда.

даже на Allavtovo.ru где сидит более 15.000 человек.

Тут внезапно оказалось, что в старом платяном шкафу есть вход в Нарнию (dchub://hub2.o-go.ru), так что 15.000 человек больше не вызывают удивления и трепета(а сказочная ли эта страна-хаб -- каждый сам для себя решает). Вот там действительно надо заниматься оптимизацией (но там вообще всё по-другому)

Аватара пользователя
flylinkdc
 
Хаб: dchub://dc.fly-server.ru
 
Сообщения: 427
Откуда: Караганда -> Липецк

Сообщение 25 фев 2014, 18:43

а под lua есть профайлеры - вы под ним погоняйте - сразу должно быть видно узкое горлышко?
p.s.
Я вот даже захотел проверить этот LUA скрипт
но verlihub поднять из git не получилось
скомпилировать смог а вот запустить - нет...
ошибки про etc/ чего-то там и базу...

RoLex - Вы разработчик verlihub?
я к сожалению сильно не следил за хабо-софтом.
rushub/ptoхa под линус у меня поднимались для тестов - быстро.
а тут вероятно бубен нужен.

накидайте полезные линки - как чайнику запускать verlihub из git с нуля?
я может свой dchub://dc.fly-server.ru на него перекину, хотя наличие my-sql не очень нравится,
но вроде пишут что это круто :)

Аватара пользователя
KCAHDEP
 
Хаб: dchub://dc.kcahdep.online
 
Сообщения: 244

Сообщение 25 фев 2014, 18:59

HackFresse писал(а):Тут внезапно оказалось, что в старом платяном шкафу есть вход в Нарнию (dchub://hub2.o-go.ru), так что 15.000 человек больше не вызывают удивления и трепета(а сказочная ли эта страна-хаб -- каждый сам для себя решает). Вот там действительно надо заниматься оптимизацией (но там вообще всё по-другому)

Вошел а**ел и вышел =-O
http://clip2net.com/s/6TQgIh

Аватара пользователя
RoLex
 
Хаб: dchub://nemesis.te-home.net
 
Сообщения: 48
Откуда: Швеция

Сообщение 25 фев 2014, 20:14

@ HackFresse

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

@ flylinkdc

Все в доках есть: http://verlihub-project.org/doc

Аватара пользователя
Быстрый ответ
 
Сообщения: 436

Сообщение 26 фев 2014, 13:58

Кстати, предлагаю заодно обсудить фейковую шару в Грее. Она генерируется весьма похожим способом:
Скрытый текст
Изображение

Но вот наш скрипт здесь не поможет, размеры файлов совсем разные. Тут, наверно, надо лингвистический анализ имён файлов проводить :-)
Какие будут идеи и пожелания?

Аватара пользователя
flylinkdc
 
Хаб: dchub://dc.fly-server.ru
 
Сообщения: 427
Откуда: Караганда -> Липецк

Сообщение 26 фев 2014, 14:06

Быстрый ответ писал(а):Кстати, предлагаю заодно обсудить фейковую шару в Грее. Она генерируется весьма похожим способом:

Но тут ведь avi - он не код и не может быть вирусом.

Аватара пользователя
Быстрый ответ
 
Сообщения: 436

Сообщение 26 фев 2014, 14:09

flylinkdc писал(а):Но тут ведь avi - он не код и не может быть вирусом.

Конечно это не вирус, просто оять же интересно определять такие вещи автоматически. Пока что приходится всех "большешарников" проверять вручную.

Аватара пользователя
flylinkdc
 
Хаб: dchub://dc.fly-server.ru
 
Сообщения: 427
Откуда: Караганда -> Липецк

Сообщение 26 фев 2014, 14:17

А что вы делаете потом с ними когда определили?
выкидываете с хаба и баните?

Аватара пользователя
Быстрый ответ
 
Сообщения: 436

Сообщение 26 фев 2014, 15:11

Да, выкидываем, баним... На самом деле по-разному бывает. Если у него вся шара фэйк, то понятно. Но бывает, что наращивают свою реальную фэйком, вот и думайте, что полезнее - оставить или забанить :-)

Аватара пользователя
переподвыподверт
 
Сообщения: 250
Откуда: Харьков

Сообщение 01 мар 2014, 13:33

Сегодня заметил, что при поиске видеофайлов в результатах выдаются екзешники... *DONT_KNOW*
Изображение

Аватара пользователя
Kimbo
 
Сообщения: 772

Сообщение 01 мар 2014, 14:49

переподвыподверт, ага и я такое заметил viewtopic.php?p=22272#p22272

Аватара пользователя
переподвыподверт
 
Сообщения: 250
Откуда: Харьков

Сообщение 01 мар 2014, 15:02

Kimbo писал(а):ага и я такое заметил

У тебя тип файла стоит любой.

Аватара пользователя
Быстрый ответ
 
Сообщения: 436

Сообщение 01 мар 2014, 15:08

переподвыподверт писал(а):Сегодня заметил, что при поиске видеофайлов в результатах выдаются екзешники...

Это с каких хабов такие результаты приходят? я что-то не смог такое повторить

Аватара пользователя
переподвыподверт
 
Сообщения: 250
Откуда: Харьков

Сообщение 01 мар 2014, 18:02

Быстрый ответ писал(а):Это с каких хабов такие результаты приходят?

Изображение
Сейчас только spammerws.net. В первом случае в придачу были андромеда и spb-hub.ru.

Аватара пользователя
flylinkdc
 
Хаб: dchub://dc.fly-server.ru
 
Сообщения: 427
Откуда: Караганда -> Липецк

Сообщение 01 мар 2014, 18:30

Возможно клиент на той стороне игнорирует этот флаг и возвращает exe
открой шару того юзера - она вирусная?

Аватара пользователя
HackFresse
 
Сообщения: 507

Сообщение 01 мар 2014, 18:46

так всё равно же придётся добавлять дополнительную проверку именно во FlylinkDC.
потому что на той стороне могут быть как клиенты, которые ошибочно обрабатывают запросы, так и распространители вирусов, которые будут специально игнорировать этот флаг
Т.е. FlylinkDC должен отображать только то, что запрашивал, фильтруя лишнее

Аватара пользователя
flylinkdc
 
Хаб: dchub://dc.fly-server.ru
 
Сообщения: 427
Откуда: Караганда -> Липецк

Сообщение 01 мар 2014, 19:01

HackFresse писал(а):Т.е. FlylinkDC должен отображать только то, что запрашивал, фильтруя лишнее


ок. это легко делается.
только не думаю что сильно поможет - юзера обычно при поиске не выбирают тип файлов вообще.

Аватара пользователя
переподвыподверт
 
Сообщения: 250
Откуда: Харьков

Сообщение 02 мар 2014, 12:00

flylinkdc писал(а):юзера обычно при поиске не выбирают тип файлов вообще

Откуда инфа? В наше время выбирали.
flylinkdc писал(а):открой шару того юзера

Список не качается.

Пред.След.

Вернуться в Хаблист



Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 0

cron