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 и шлюзы, которые их используют Примеры технологий DoS PDF 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 Примеры технологий DoS SYN-флуд, Smurf-атака (атака ICMP-запросами с измененными адресами) Последствия DDoS-атаки Достижение пределов по ширине канала или по количеству допустимых подключений, нарушение работы сетевого оборудования
Что делать: Фильтрация DDoS-трафика, известная как blackholing — метод, часто используемый провайдерами для защиты клиентов (мы и сами используем этот метод). Однако этот подход делает сайт клиента недоступным как для трафика злоумышленника, так и для легального трафика пользователей. Тем не менее, блокировка доступа используется провайдерами в борьбе с DDoS-атаками для защиты клиентов от таких угроз, как замедление работы сетевого оборудования и отказ работы сервисов.
3-й уровень OSI: Сетевой
Тип данных Пакеты Описание уровня Маршрутизация и передача информации между различными сетями Протоколы Протоколы IP, ICMP, ARP, RIP и роутеры, которые их используют Примеры технологий DoS ICMP-флуд — DDos-атаки на третьем уровне модели OSI, которые используют ICMP-сообщения для перегрузки пропускной способности целевой сети Последствия DDoS-атаки Снижение пропускной способности атакуемой сети и возможная перегруженность брандмауэра
Что делать: Ограничить количество обрабатываемых запросов по протоколу ICMP и сократить возможное влияние этого трафика на скорость работы Firewall и пропускную способность интернет-полосы.
2-й уровень OSI: Канальный
Тип данных Кадры Описание уровня Установка и сопровождение передачи сообщений на физическом уровне Протоколы Протоколы 802.3, 802.5, а также контроллеры, точки доступа и мосты, которые их используют Примеры технологий DoS MAC-флуд — переполнение пакетами данных сетевых коммутаторов Последствия DDoS-атаки Потоки данных от отправителя получателю блокируют работу всех портов
Что делать: Многие современные свитчи могут быть настроены таким образом, что количество MAC адресов ограничивается надежными, которые проходят проверку аутентификации, авторизации и учета на сервере (протокол ААА) и в последствии фильтруются.
1-й уровень OSI: Физический
Тип данных Биты Описание уровня Передача двоичных данных Протоколы Протоколы 100BaseT, 1000 Base-X, а также концентраторы, розетки и патч-панели, которые их используют Примеры технологий DoS Физическое разрушение, физическое препятствие работе или управлению физическими сетевыми активами Последствия DDoS-атаки Сетевое оборудование приходит в негодность и требует ремонта для возобновления работы
Что делать: использовать систематический подход к мониторингу работы физического сетевого оборудования.
Устранение крупномасштабных DoS/DDoS-атак
Хотя атака возможна на любом из уровней, особой популярностью пользуются атаки на 3-4 и 7 уровнях модели OSI.