Введение

В настоящее время фиксируются реальные атаки DDoS более 1 Тбит/с. Так, например, атака 2018 год на GitHub достигла пикового объема трафика в 1,35 терабит в секунду, превосходя любую ранее зарегистрированную атаку. При этом растет количество сложных атак на протоколы прикладного уровня. Эти атаки воздействуют на ключевой принцип информационной безопасности - доступность информационных ресурсов.

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

Справочная информация

DDoS (Distributed Denial of Service) - распределенный отказ в обслуживании. Ботнет - компьютерная сеть, состоящая из некоторого количества хостов с запущенными ботами. Чаще всего бот в составе ботнета является программой, скрытно устанавливаемой на устройство жертвы и позволяющей злоумышленнику выполнять некие действия с использованием ресурсов заражённого компьютера. Обычно используются для нелегальной или неодобряемой деятельности — рассылки спама, перебора паролей на удалённой системе, атак на отказ в обслуживании (DoS и DDoS-атаки).

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

Трафик, используемый в DDoS-атаках, может принимать различные формы, такие как HTTP-запросы, UDP или TCP-пакеты и много другое. Цель состоит в том, чтобы исчерпать вычислительную мощность цели, пропускную способность или другие критические ресурсы, что в конечном итоге приведет к ухудшению качества обслуживания или полной недоступности. Масштаб и сложность DDoS-атак значительно возросли с годами, что делает их серьезной проблемой.

Виды DDoS атак:

  • По уровням: Низкоуровневые и Высокоуровневые

  • По протоколам

  • По механизму воздействия:

    • Атаки на основе флуда

    • Атаки, использующие уязвимости стека сетевых протоколов

    • Атаки на уровень приложений

На каком уровне OSI применять ML в защите?

DDoS атаки применяются к 3-7 уровням модели OSI.

Машинное обучение разумнее всего применять на 7 уровне, так как большинство атак других типов можно подавить без использования сложного анализа. Так, например, если поступают одинаковые пакеты, то достаточно отфильтровать весь трафик. Кроме того стоит отметить, что ML может значительно увеличить нагрузку на работу на этих уровнях из-за сложности обработки данных. DDoS атаки на уровне приложений требуют более сложного анализа, так как запросы могут иметь разные параметры и идти от ботов или реальных пользователей. ML позволяет отличать их, анализируя логику запросов и поведение пользователей. Это представляет собой сложную задачу, так как запросы на первый взгляд неразличимы. Поэтому в решении можно эффективно использовать машинное обучение.

Сложность внедрения ML

Понимание сложностей внедрения машинного обучения (ML) в защиту от DDoS-атак предполагает учет различных факторов. Эффективность защиты сегодня тесно связана с экономическими расходами, которые она потребует. Предельно важно, чтобы вложения в защиту не превышали потенциальные убытки от атаки. Вот почему применение ML в этой сфере сталкивается с несколькими проблемами:

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

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

Кроме того, процесс обучения модели требует постоянного обновления и настройки алгоритмов. Изменчивость методов атаки требует постоянного совершенствования алгоритмов защиты, что увеличивает как время, так и ресурсы, затрачиваемые на поддержание безопасности.

Вывод

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

Преимущества использования ML

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

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

Существующие на данный момент решения

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

Вторым популярным, но чуть менее точным алгоритмом я выделю “Дерево решений”. Дерево решений: Универсальный и интерпретируемый алгоритм машинного обучения, который использует древовидную структуру для прогнозирования путем рекурсивного разделения данных на основе значений признаков. Он создает серию правил if-else, которые приводят к классификации или прогнозированию целевой переменной.

Принцип работы алгоритма “Дерево решений”

Картинка выше является простым примером разделения данных. Сначала цвет является самым очевидным признаком, далее подчёркивание. В логите алоритма используется разделение на каждом шаге следующим образом: Какой признак позволит разделить значения таким образом, что результирующие группы будут максимально отличаться друг от друга, а члены каждой результирующей подгруппы будут максимально похожи друг на друга?

Самым точным я наблюдал алгоритм “Случайный лес”. Его точность доходила до 99% Случайный лес: ансамблевый алгоритм ML, который объединяет несколько деревьев принятия решений для составления прогнозов. Он создает разнообразный набор деревьев, используя случайные подмножества признаков и выборки из обучающих данных. Окончательный прогноз определяется путем агрегирования прогнозов отдельных деревьев.

Принцип работы алгоритма “Случайный лес”

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

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

Большое число относительно некоррелированных деревьев, работающих совместно, будет превосходить любую из их отдельных составляющих.

А какие готовые решения уже существуют?

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

Yandex Smart Web Security

Они заявляют, что их сервис учитывает более 12000 различных факторов технических и поведенческих сигналов. А общая схема защиты будет выглядеть так.

Cloudflare

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

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

Заключение

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

Важно отметить, что использование машинного обучения для защиты от DDoS атак не представляет собой универсальное решение, машинное обучение не может заменить другие методы защиты. Кроме того, для эффективной работы системы необходимо обучать её на реальных данных и постоянно совершенствовать алгоритмы.

Источники

  1. https://habr.com/ru/companies/bitrix/articles/310084/

  2. https://medium.com/@tiffanytu2024/ddos-analysis-and-detection-with-machine-learning-algorithms-1a4a674d7fc1

  3. https://www.anti-malware.ru/practice/methods/DDoS-protection-with-Servicepipe-Cybert-technology

  4. https://infokosmo.ru/file/article/16704.pdf

  5. https://cloud.yandex.ru/blog/posts/2023/09/yandex-smart-web-security

  6. https://blog.cloudflare.com/scalable-machine-learning-at-cloudflare/

  7. https://medium.com/nuances-of-programming/как-работает-случайный-лес-56209a700d53

Комментарии (2)


  1. select26
    12.01.2024 10:42
    +5

    Занимаюсь предметно этим вопросом не один год.
    Чума последних месяцев - вовсе не volumetric атаки, а сильно distributed.
    Уже почти три месяца под постоянной атакой несколько сайтов. Атакует botnet из более чем 60 000 хостов. Потрясающий алгоритм с адаптацией, пробивают кэши. Один malicious IP генерирует 5 минут в час трафик с рейтом не превышающим легитимный. С легитимным UA. Даже TLS fingerprint легитимный.
    Никакой алгоритм не выявляет такие cети. Выручает только наш масштаб - мы попадаем на деньги, конечно, но держим сайт. И сайты, и botnet source IPs в основном корейские.
    Реальная чума.


    1. Fedoresko1
      12.01.2024 10:42

      А что скажете по теме доклада? А то тема раскрыта, мягко говоря, поверхностно, может хоть в дискуссии обменяемся опытом.