Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Служебные скрипты [PtokaX] _ DDoS Detector

Автор: alex82 25.3.2014, 21:07

Название: DDoS Detector
Версия: 1.00
Требования: Lua 5.1, PtokaX 0.4.1.x, 0.5.x.x
Зависимости: нет

Автор: alex82

Описание:
Данный скрипт предназначен для обнаружения DDoS-атак, осуществляемых при помощи юзеров других хабов.

При получении определенного числа команд $MyNick за определенный промежуток времени, скрипт начинает отправлять отчеты операторам. Если за время, указанное в параметре tCfg.CountTime не поступило ни одной команды, атака считается завершенной.

Большинство современных клиентов при соединении двух юзеров добавляют в команду $Lock адрес хаба, с которого отправлена команда $ConnectToMe. Именно благодаря этому, на первый взгляд, бессмысленному расширению протокола скрипт с легкостью узнает, с каких хабов осуществляется атака.

Скрипт должен стоять ниже скриптов, логирующих неизвестные команды.

 ddos_detector_1.01.zip ( 2.66 килобайт ) : 212

Автор: alex82 26.3.2014, 9:20

Исправил ошибки с сохранением сообщений в лог. Перезалил скрипт.

Автор: Alexey 26.3.2014, 14:13

Цитата(alex82 @ 25.3.2014, 22:07) *
Скрипт должен стоять ниже скриптов, логирующих неизвестные команды.

«Но выше скриптов, блокирующих неизвестные команды.» — сказал проходивший мимо КО.

Автор: WINS 26.3.2014, 16:15

офтоп
Немного не по теме, но коль речь об ддосе, добавлю свои 5 копеек:
В моде птоки значение "500" я б немного подкрутил. Пингвинятники понятно, бороду свою давно туда уже засунули, а вот виндоюзеры и так никакими фаерволами не отмашутся от того же стм, вдобавок еще и такое маленькое максимальное значение облегчает получить отказ в обслуживании.
Код
            case EDT_MAX_USERS_LOGINS:
                if(HIWORD(wParam) == EN_CHANGE) {
                    MinMaxCheck((HWND)lParam, 1, 500);

                    return 0;
                }

Автор: alex82 27.3.2014, 13:13

WINS,

Таки да, забыли в GUI подправить это значение. В следующем моде исправлю.

А что касается влияния значения данной опции на вероятность получить отказ в обслуживании, то скажу я тебе по секрету одну вещь:

Вещь
В случае CTM-атаки она не оказывает совершенно никакого влияния ;). Если бы пингвинятники засунули бороду чуть глубже, они бы заметили что юзеры, участвующие в атаке, отключаются хабом значительно раньше, чем выполняется проверка по данному типу антифлуда. А выполняется она на стадии STATE_ADDME_1LOOP, т.е. при добавлении юзера в списки.

Автор: WINS 5.5.2014, 9:59

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

Автор: alex82 5.5.2014, 23:23

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

Цитата
по факту 500 коннектов за 10 сек ни в какие ворота не лезит, небольшой син флуд с нескольких десятков ип и все приплыли.
Какой к черту син флуд? Еще раз пишу: проверка по данному типу антифлуда проводится тогда, когда клиент полностью вошел, т.е. после всех этих $Lock, $Supports, $ValidateNick, и т.д. А цель у него одна - не дать злоумышленнику забить канал отдачей списка юзеров.

Автор: baltica 11.11.2014, 19:41

спасибо, alex82, отличный инструмент для наблюдения за готовящимися атаками) - но еще лучше то, что он сообщает заранее. И еще я считаю тебя лучшим в мире скриптером под птоху в мире)




















Автор: Ksan 11.11.2014, 22:49

baltica,
Тут "Спасибо" принято выражать через одноимённую кнопку под сообщением того, кого благодарите!
В данном случае - в 1-ом сообщении темы.