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

Как DDoS-атаки стали для нас рутиной и как ML помогает их отражать

Время на прочтение10 мин
Количество просмотров6K
Всего голосов 28: ↑27 и ↓1+31
Комментарии3

Комментарии 3

Спасибо за статью, очень интересно было прочитать про масштабы DDoS-атак! Но было бы еще более интересно увидеть больше технических подробностей.

Как делаете инференс? Как удается обеспечить быстрый апскейл сервиса при аттаке? Судя по скриншоту он должен переживать увеличение нагрузки в духе х100 меньше чем за минуту.

В чем именно роль быстрой vs. умной части? У быстрой сильно меньше recall? Какая часть запросов доходит до умной части?

Как размечаете выборку, как проверяете что recall/precision остаются в заданных границах? Делаете какой-то пост-анализ или есть какие-то метрики в реалтайме?

Привет!

Спасибо за вопросы, давай попробую на них ответить 

Как делаете инференс? 

Если я правильно понял твой вопрос, то происходит следующее:
- Запрос поступает в Антиробот на “быструю часть”
- Из запроса извлекается множество полезных факторов, более тысячи штук
- Все эти факторы идут на вход CatBoost’у
- Catboost отдает предсказание 
- Предсказание матчится с заранее заданным порогом 
- В зависимости от порога принимается решение. Например, редирект на капчу

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

К сожалению, я не могу раскрыть здесь подробности. 

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

В чем именно роль быстрой vs. умной части? У быстрой сильно меньше recall? Какая часть запросов доходит до умной части?

Благодаря такой комбинации “быстрой” и “умной” частей получается как соответствовать требованиям к времени ответа, так и обладать достаточным уровнем recall’а (полноты). 

У “умной” части больше факторов и они сложнее с точки зрения вычислений. Это позволяет иметь очень высокий показатель recall.

В зависимости от атаки до “умной” части может доходить разная доля запросов. 

Как размечаете выборку, как проверяете что recall/precision остаются в заданных границах? Делаете какой-то пост-анализ или есть какие-то метрики в реалтайме?

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

У нас есть как пост-анализ, тут идеально подходят продуктовые метрики, на них можно равняться как финальный результат.

Так есть и реалтайм метрики, которые показывают есть ли сейчас какая-либо проблема в проде.

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий