Как стать автором
Обновить
14
8

Пользователь

Отправить сообщение
даа, датасет был не супер чистым, но это какой-то открытый датасет на котором все тренируются :DD
Спасибо, что пояснил, для меня это было загадкой)
1. Об этом написано в части «Автоэнкодеры». Если резюмировать еще раз кратко. Мы обучаем автоэнкодер восстанавливать входную последовательность. Т.е. на входе «строка» и обучаем, чтобы на выходе тоже была эта же «строка». И обучаем только на запросах не содержащих атаку. Когда встречается запрос с атакой «ст' or 1==1'--рока» — нетипичной последовательностью символов — декодер никогда такого не видел. Соответственно на выходе декодирует некорректно и строка с входом не совпадают.

2. Продолжая овтет на первый вопрос. Мы обучаем декодировать в туже последовательность, что и пришла на вход. Значит длина вектора должна быть такой же. Если не такая же, то что-то не так -> можем интерпритировать как аномалию.

3. Да, трешхолд задается вручную в зависимости от конкретного веб-сервиса.

4,5 Мы обучаем только на запросах не содержащих атаку. Кстати, датасет доступен в репозитории. Там еще есть линк на докер, который можно позапускать у себя.
Еще раз хочется уточнить, что представленное решение — попробованный нами подход к задаче детекта атак. И конкретно для такой версии мы, конечно, не замеряли производительность. Данное решение — не продакшн версия по многим причинам!

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

В продакшн версии у нас на обучение идут только те запросы, которые прошли стандартные правила и прошлую версию модели.
Спасибо за ссылку)
Интересный подход, обязательно попробуем на наших данных как какой-то poc.
Но я же правильно понимаю, что для этой проверки необходимо будет все пространство со всеми примерами хранить и каждый раз пересчитывать? Будет интересно замерить perfomance :)
да, нельзя не согласиться с teecat, можно встретить довольно много продуктов, использующих мл и статистику в частности. Но пока не всегда понятно, это маркетинговый ход или что-то действительно прорывное?!

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

Так я не про архитектуру нейронной сети, а про постановку задачи.
В постановке задачи, которую рассматриваю я, все-таки, данные, которые мы подаем модели — «вредоносные» — заставляют модель намеренно(!!) ошибаться.


Игра с нулевой суммой — антогонистическая игра. Антогонистический — враждебный чему-либо, несовместимый с чем-либо. И на английском является синонимом «adversarial». И все-таки в теории игр не распространен термин «состязательный» (чего не скажешь о юридической сфере), больше используется «конкурирующий», но при этом есть игроки, которые играют против друг друга, которых называют «adversaries» — «противниками». Если придираться к словам :)

Информация

В рейтинге
765-я
Откуда
Россия
Работает в
Зарегистрирована
Активность