DDoS-атаки: типы атак и уровни модели OSI

Основополагающими концепциями кибер-безопасности являются доступность, целостность и конфиденциальность. Атаки «отказ в обслуживании» (DoS) влияют на доступность информационных ресурсов. Отказ в обслуживании считается успешным, если он привел к недоступности информационного ресурса. Успешность атаки и влияние на целевые ресурсы отличаются тем, что влияние наносит жертве урон. Например, если атакуется интернет-магазин, то длительный отказ в обслуживании может причинить финансовые убытки компании. В каждом конкретном случае DoS-активность может либо непосредственно причинить вред, либо создать угрозу и потенциальный риск нанесения убытков.

Первая D в DDoS означает distributed: распределённая атака типа «отказ в обслуживании». В этом случае речь идёт об огромной массе злонамеренных запросов, поступающих на сервер жертвы из множества разных мест. Обычно такие атаки организуются посредством бот-сетей.

В этой статье мы подробно рассмотрим, какие типы DDoS-трафика и какие виды DDoS-атак существуют. Для каждого вида атак будут приведены краткие рекомендации по предотвращению и восстановлению работоспособности.

Типы DDoS-трафика

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

HTTP-заголовок. HTTP заголовки — это поля, которые описывают, какой именно ресурс запрашивается, например, URL-адрес или форма, или JPEG. Также HTTP заголовки информируют веб-сервер, какой тип браузера используется. Наиболее распространенные HTTP заголовки: ACCEPT, LANGUAGE и USER AGENT.

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

HTTP GET

  • HTTP(S) GET-запрос — метод, который запрашивает информацию на сервере. Этот запрос может попросить у сервера передать какой-то файл, изображение, страницу или скрипт, чтобы отобразить их в браузере.
  • HTTP(S) GET-флуд — метод DDoS атаки прикладного уровня (7) модели OSI, при котором атакующий посылает мощный поток запросов на сервер с целью переполнения его ресурсов. В результате сервер не может отвечать не только на хакерские запросы, но и на запросы реальных клиентов.

HTTP POST

  • HTTP(S) POST-запрос — метод, при котором данные помещаются в тело запроса для последующей обработки на сервере. HTTP POST-запрос кодирует передаваемую информацию и помещает на форму, а затем отправляет этот контент на сервер. Данный метод используется при необходимости передавать большие объемы информации или файлы.
  • HTTP(S) POST-флуд — это тип DDoS-атаки, при котором количество POST-запросов переполняют сервер так, что сервер не в состоянии ответить на все запросы. Это может привести к исключительно высокому использованию системных ресурсов, и, в последствии, к аварийной остановке сервера.

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

SYN-флуд (TCP/SYN) устанавливает полуоткрытые соединения с узлом. Когда жертва принимает SYN-пакет через открытый порт, она должна послать в ответ SYN-ACK пакет и установить соединение. После этого инициатор посылает получателю ответ с ACK-пакетом. Данный процесс условно называется рукопожатием. Однако, во время атаки SYN-флудом рукопожатие не может быть завершено, т.к. злоумышленник не отвечает на SYN-ACK сервера-жертвы. Такие соединения остаются полуоткрытыми до истечения тайм-аута, очередь на подключение переполняется и новые клиенты не могут подключиться к серверу.

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

ICMP-флуд. Протокол межсетевых управляющих сообщений (ICMP) используется в первую очередь для передачи сообщений об ошибках и не используется для передачи данных. ICMP-пакеты могут сопровождать TCP-пакеты при соединении с сервером. ICMP-флуд — метод DDoS атаки на 3-м уровне модели OSI, использующий ICMP-сообщения для перегрузки сетевого канала атакуемого.

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

Классификация и цели DDoS-атак по уровням OSI

Интернет использует модель OSI. Всего в модели присутствует 7 уровней, которые охватывают все среды коммуникации: начиная с физической среды (1-й уровень) и заканчивая уровнем приложений (7-й уровень), на котором «общаются» между собой программы.

DDoS-атаки возможны на каждом из семи уровней. Рассмотрим их подробнее.

7-й уровень OSI: Прикладной

Тип данныхДанные
Описание уровняНачало создания пакетов данных. Присоединение и доступ к данным. Пользовательские протоколы, такие как FTP, SMTP, Telnet, RAS
ПротоколыFTP, HTTP, POP3, SMTP и шлюзы, которые их используют
Примеры технологий DoSPDF GET запросы, HTTP GET, HTTP POST (формы веб-сайтов: логин, загрузка фото/видео, подтверждение обратной связи)
Последствия DDoS-атакиНехватка ресурсов. Чрезмерное потребление системных ресурсов службами на атакуемом сервере.

Что делать: Мониторинг приложений — систематический мониторинг ПО, использующий определенный набор алгоритмов, технологий и подходов (в зависимости от платформы, на котором это ПО используется) для выявления 0day-уязвимостей приложений (атаки 7 уровня). Идентифицировав такие атаки, их можно раз и навсегда остановить и отследить их источник. На данном слое это осуществляется наиболее просто.

 

6-й уровень OSI: Представительский

Тип данныхДанные
Описание уровняТрансляция данных от источника получателю
ПротоколыПротоколы сжатия и кодирования данных (ASCII, EBCDIC)
Примеры технологий DoSПодложные SSL запросы: проверка шифрованных SSL пакетов очень ресурсоемка, злоумышленники используют SSL для HTTP-атак на сервер жертвы
Последствия DDoS-атакиАтакуемые системы могут перестать принимать SSL соединения или автоматически перегружаться

Что делать: Для уменьшения вреда обратите внимание на такие средства, как распределение шифрующей SSL инфраструктуры (т.е. размещение SSL на отличном сервере, если это возможно) и проверка трафика приложений на предмет атак или нарушение политик на платформе приложений. Хорошая платформа гарантирует, что трафик шифруется и отправляется обратно начальной инфраструктуре с расшифрованным контентом, находившимся в защищенной памяти безопасного узла-бастиона.

 

5-й уровень OSI: Сеансовый

Тип данныхДанные
Описание уровняУправление установкой и завершением соединения, синхронизацией сеансов связи в рамках операционной системы через сеть (например, когда вы выполняете вход/выход)
ПротоколыПротоколы входа/выхода (RPC, PAP)
Примеры технологий DoSАтака на протокол Telnet использует слабые места программного обеспечения Telnet-сервера на свитче, делая сервер недоступным
Последствия DDoS-атакиДелает невозможным для администратора управление свитчем

Что делать: Поддерживать прошивки аппаратного обеспечения в актуальном состоянии для уменьшения риска появления угрозы.

 

4-й уровень OSI: Транспортный

Тип данныхСегменты
Описание уровняОбеспечение безошибочной передачи информации между узлами, управление передачей сообщений с 1 по 3 уровень
ПротоколыПротоколы TCP, UDP
Примеры технологий DoSSYN-флуд, Smurf-атака (атака ICMP-запросами с измененными адресами)
Последствия DDoS-атакиДостижение пределов по ширине канала или по количеству допустимых подключений, нарушение работы сетевого оборудования

Что делать: Фильтрация DDoS-трафика, известная как blackholing — метод, часто используемый провайдерами для защиты клиентов (мы и сами используем этот метод). Однако этот подход делает сайт клиента недоступным как для трафика злоумышленника, так и для легального трафика пользователей. Тем не менее, блокировка доступа используется провайдерами в борьбе с DDoS-атаками для защиты клиентов от таких угроз, как замедление работы сетевого оборудования и отказ работы сервисов.

 

3-й уровень OSI: Сетевой

Тип данныхПакеты
Описание уровняМаршрутизация и передача информации между различными сетями
ПротоколыПротоколы IP, ICMP, ARP, RIP и роутеры, которые их используют
Примеры технологий DoSICMP-флуд — DDos-атаки на третьем уровне модели OSI, которые используют ICMP-сообщения для перегрузки пропускной способности целевой сети
Последствия DDoS-атакиСнижение пропускной способности атакуемой сети и возможная перегруженность брандмауэра

Что делать: Ограничить количество обрабатываемых запросов по протоколу ICMP и сократить возможное влияние этого трафика на скорость работы Firewall и пропускную способность интернет-полосы.

 

2-й уровень OSI: Канальный

Тип данныхКадры
Описание уровняУстановка и сопровождение передачи сообщений на физическом уровне
ПротоколыПротоколы 802.3, 802.5, а также контроллеры, точки доступа и мосты, которые их используют
Примеры технологий DoSMAC-флуд — переполнение пакетами данных сетевых коммутаторов
Последствия DDoS-атакиПотоки данных от отправителя получателю блокируют работу всех портов

Что делать: Многие современные свитчи могут быть настроены таким образом, что количество MAC адресов ограничивается надежными, которые проходят проверку аутентификации, авторизации и учета на сервере (протокол ААА) и в последствии фильтруются.

 

1-й уровень OSI: Физический

Тип данныхБиты
Описание уровняПередача двоичных данных
ПротоколыПротоколы 100BaseT, 1000 Base-X, а также концентраторы, розетки и патч-панели, которые их используют
Примеры технологий DoSФизическое разрушение, физическое препятствие работе или управлению физическими сетевыми активами
Последствия DDoS-атакиСетевое оборудование приходит в негодность и требует ремонта для возобновления работы

Что делать: Использовать систематический подход к мониторингу работы физического сетевого оборудования.

 

Устранение крупномасштабных DoS/DDoS-атак

Хотя атака возможна на любом из уровней, особой популярностью пользуются атаки на 3-4 и 7 уровнях модели OSI.

  • DDoS-атаки на 3-м и 4-м уровне — инфраструктурные атаки — типы атак, основанные на использовании большого объема, мощного потока данных (флуд) на уровне инфраструктуры сети и транспортном уровне с целью замедлить работу веб-сервера, «заполнить» канал, и в конечном счете помешать доступу других пользователей к ресурсу. Эти типы атак как правило включают ICMP-, SYN- и UDP-флуд.
  • DDoS атака на 7-м уровне — атака, заключающаяся в перегрузке некоторых специфических элементов инфраструктуры сервера приложений. Атаки 7-го уровня особенно сложны, скрыты и трудны для выявления в силу их сходства с полезным веб-трафиком. Даже самые простенькие атаки 7-го уровня, например, попытка входа в систему под произвольным именем пользователя и паролем или повторяющийся произвольный поиск на динамических веб-страницах, могут критически загрузить CPU и базы данных. Также DDoS злоумышленники могут неоднократно изменять сигнатуры атак 7-го уровня, делая их еще более сложными для распознавания и устранения.
УстройствоУровеньОптимизирована дляDDoS-защита
Брандмауэр4-7Проверка потока, глубокая проверкаЭкраны, ограничения сеанса, SYN cookie
Роутер3-4Пакетная проверка, фреймовая проверкаЛинейные списки контроля доступа, ограничение скорости

Некоторые действия и оборудование для устранения атак:

  • Брандмауэры с динамической проверкой пакетов
  • Динамические механизмы SYN прокси
  • Ограничение количества SYN-ов за секунду для каждого IP-адреса
  • Ограничение количества SYN-ов за секунду для каждого удаленного IP-адреса
  • Установка экранов ICMP флуда на брандмауэре
  • Установка экранов UDP флуда на брандмауэре
  • Ограничение скорости роутеров, примыкающих к брандмауэрам и сети