Открыть сервисСервис

REST-протокол и его роль в сети

REST (от англ. REal-time Streaming Protocol, часто ошибочно связывается с REST API — архитектурным стилем) — протокол передачи мультимедийных данных в реальном времени поверх сети, разработанный для потоковой передачи аудио- и видеопотоков. В контексте сетевой безопасности и нагрузочного тестирования термин «рест» часто употребляется в связке с понятием «флуд» — массированными сетевыми атаками, направленными на перегрузку сервера или канала связи.

REST API и путаница терминов

В современной разработке чаще встречается REST (Representational State Transfer) — архитектурный стиль взаимодействия распределённых систем, предложенный Рой Филдингом в 2000 году в его докторской диссертации. REST-интерфейсы используют HTTP-методы (GET, POST, PUT, DELETE) и работают с ресурсами, идентифицируемыми URL. Именно REST API стал основой большинства веб-сервисов и мобильных приложений.

В контексте «рест во флуде» речь обычно идёт о двух явлениях:

  1. REST-флуд — тип DDoS-атаки, при которой злоумышленник отправляет на сервер огромное количество легитимных HTTP-запросов к REST-эндпоинтам, чтобы исчерпать ресурсы сервера.
  2. REST-стриминг — протокол потоковой передачи медиа, который может быть объектом сетевых атак.

REST-флуд как вид DDoS-атаки

REST-флуд относится к атакам уровня приложений (Layer 7). В отличие от традиционных флудов (UDP-флуд, SYN-флуд), которые перегружают сетевой стек, REST-флуд использует легитимные HTTP-запросы, что затрудняет их отличие от обычного трафика.

Механизм работы

Злоумышленник формирует HTTP-запросы к API-эндпоинтам сервера. Каждый запрос с точки зрения сервера выглядит валидным: корректный HTTP-метод, валидные заголовки, допустимый URL. Однако их количество настолько велико, что сервер не успевает обрабатывать их в реальном времени.

Типичные цели REST-флуда:

  • Эндпоинты с тяжёлой логикой — запросы к базам данных, вычислительным операциям, внешним сервисам.
  • Эндпоинты аутентификации — попытки перебора учётных данных (credential stuffing).
  • Эндпоинты с ограниченными ресурсами — API с квотами, лимитами на количество запросов.

Отличия от других типов флудов

Тип флудаУровеньХарактер трафикаОбнаружение
UDP-флудСетевой (L3/L4)Поддельные UDP-пакетыЛегко
SYN-флудТранспортный (L4)Незавершённые TCP-соединенияСредне
HTTP-флудПрикладной (L7)Валидные HTTP-запросыСложно
REST-флудПрикладной (L7)Валидные REST-запросыОчень сложно

Методы защиты

Защита от REST-флуда требует многоуровневого подхода:

  • Rate limiting — ограничение количества запросов с одного IP-адреса за единицу времени.
  • WAF (Web Application Firewall) — фильтрация подозрительных HTTP-запросов на основе правил и поведенческого анализа.
  • Кэширование — снижение нагрузки на бэкенд за счёт отдачи статичного контента из кэша.
  • CDN и балансировка нагрузки — распределение трафика между несколькими серверами.
  • Анализ поведения — выявление аномальных паттернов запросов (например, одинаковые запросы с разных IP).

REST-стриминг и его уязвимости

Real-time Streaming Protocol (RTSP) — протокол управления потоковой передачей мультимедиа, разработанный в 1996 году. Используется для управления воспроизведением потоков (пауза, перемотка, стоп) в системах видеонаблюдения, IPTV и стриминге.

Характеристики RTSP

  • Работает поверх TCP (порт 554) или UDP.
  • Использует модель клиент-сервер.
  • Поддерживает протоколы RTP (передача данных) и RTCP (контроль качества).
  • Не является протоколом передачи данных в полном смысле — управляет сессиями.

Уязвимости и атаки

RTSP-серверы подвержены нескольким типам атак:

  • RTSP-флуд — массированные запросы на установку медиасессий, исчерпывающие ресурсы сервера.
  • Эксплуатация уязвимостей реализации — ошибки в парсинге RTSP-запросов могут приводить к переполнению буфера и выполнению произвольного кода.
  • Перехват потоков — отсутствие шифрования в базовом протоколе позволяет перехватывать медиаданные.

REST и флуд в контексте нагрузочного тестирования

В легитимном контексте REST-флуд используется как инструмент нагрузочного тестирования. Инструменты вроде Apache JMeter, Locust, k6 и Gatling позволяют генерировать тысячи REST-запросов в секунду для проверки устойчивости сервера.

Параметры тестирования

  • RPS (Requests Per Second) — количество запросов в секунду.
  • Конкурентность — число одновременных соединений.
  • Профиль нагрузки — распределение запросов по эндпоинтам и типам HTTP-методов.
  • Время ответа — метрика, показывающая задержку обработки запросов.

Правовые аспекты

В Российской Федерации несанкционированный сетевой флуд, включая REST-флуд, квалифицируется как преступление. Статья 272 УК РФ («Неправомерный доступ к компьютерной информации») и статья 273 УК РФ («Создание, использование и распространение вредоносных программ для компьютеров») предусматривают ответственность за подобные действия. Статья 274.1 УК РФ (введена в 2024 году) также касается негативного воздействия на информационные ресурсы.

Применение

REST-протоколы и REST API широко используются в:

  • Веб-приложениях — RESTful API являются стандартом для клиент-серверного взаимодействия.
  • Мобильной разработке — большинство мобильных приложений общаются с серверами через REST.
  • IoT — устройства используют REST-интерфейсы для управления и телеметрии.
  • Видеонаблюдении — RTSP является стандартом для IP-камер.

Источники

  • Филдинг Р. «Architectural Styles and the Design of Network-based Software Architectures», 2000.
  • RFC 2326: Real Time Streaming Protocol (RTSP), 1998.
  • Уголовный кодекс Российской Федерации, статьи 272–274.1.
  • OWASP: Distributed Denial of Service (DDoS) Prevention Cheat Sheet.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru