На высоком уровне сервис фильтрации Qrator состоит из двух уровней: на первом мы незамедлительно оцениваем, если определенный запрос является злонамеренным с помощью проверок с сохранением состояния и без и, на втором, принимаем решение о том, задержать ли источник в черном списке и на какой срок. Получающийся в итоге черный список может быть представлен в виде уникальной таблицы IP-адресов.
На первом этапе данного процесса мы задействуем техники машинного обучения для того, чтобы лучше понимать естественные уровни и характеристики трафика для каждого ресурса в отдельности, так как каждый из параметров защиты каждого отдельного сервиса настраивается индивидуально на базе собираемых нами метрик.
Здесь в дело вступает ClickHouse. Для того чтобы лучше понять, почему определенный IP-адрес был заблокирован от общения с ресурсом, нам нужно проследить весь путь машинного обучения вплоть до базы данных ClickHouse. Она работает очень быстро с большими объёмами данных (представьте себе DDoS-атаку интенсивностью 500 Гбит/сек и продолжающуюся несколько часов чистого времени вне пауз) и хранит их в удобном виде для фреймворка машинного обучения, используемого в Qrator Labs. Больше логов и больше сохраненного трафика DDoS-атак ведут к точным результатам от наших моделей, помогающих осуществлять тонкую настройку сервиса фильтрации в реальном времени, под наиболее серьезными атаками.
Мы используем ClickHouse DB для хранения всех логов нелегитимного трафика атак и паттернов поведения ботов. Данное, специализированное, решение было выбрано нами из-за высокого потенциала хранения массивных датасетов в стиле классической базы данных с целью последующей обработки. Анализ этих данных используется в том числе для построения паттернов DDoS-атак, помогая машинному обучению постоянно улучшать наши алгоритмы фильтрации трафика.
ClickHouse — column-oriented СУБД, ориентированная на максимальную скорость обработки аналитических запросов. Преимущества над другими системами достигаются за счёт использования современных алгоритмов и тщательных низкоуровневых оптимизаций под аппаратное обеспечение. В сочетании с широкими возможностями по анализу данных, выходящих за рамки традиционных СУБД, ClickHouse представляет собой уникальное решение для наших задач. И это работает, быстро!