Изображение: Pexels

DoS-атаки – одна из масштабных угроз информационной безопасности в современном интернете. Существуют десятки ботнетов, которые злоумышленники сдают в аренду для проведения подобных атак.

Ученые из университета Сан-Диего провели исследование того, насколько использование прокси помогает снизить негативный эффект от DoS-атак – мы представляем вашему вниманию основные тезисы этой работы.

Введение: прокси как инструмент борьбы с DoS


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

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



DoS-атаки делают невозможным нормальное взаимодействие сервиса и пользователей. Существует два типа DoS: атаки на уровне приложения и на уровне инфраструктуры. В последнем случае злоумышленники атакуют непосредственно сеть и хосты, на которых работает сервис (например, забивают flood-трафиком всю пропускную способность сети). В случае атаки на уровне приложения, целью злоумышленника выступает интерфейс взаимодействия с пользователями – для этого они отправляют огромное количество запросов с целью добиться падения приложения. Описываемый эксперимент касался атак на уровне инфраструктуры.

Прокси-сети – один из инструментов минимизации ущерба от DoS-атак. В случае использования прокси все запросы от пользователя к сервису и ответы на них передаются не напрямую, а через промежуточные серверы. И пользователь, и приложение «не видят» друг друга напрямую, им доступны только адреса прокси. В итоге атаковать приложение напрямую невозможно. На границе сети расположены так называемые edge proxy – внешние прокси с доступными IP-адресами, подключение идет сначала к ним.



Для того, чтобы успешно противостоять DoS-атаке, прокси-сеть должна иметь две ключевые возможности. Во-первых, такая промежуточная сеть должна играть роль посредника, то есть «достучаться» до приложения можно только через нее. Это исключит возможность прямой атаки на сервис. Во-вторых, прокси-сеть должна иметь возможность предоставить пользователям возможность по-прежнему взаимодействовать с приложением, даже в ходе атаки.

Инфраструктура эксперимента


В ходе исследования использовались четыре ключевых компонента:

  • имплементация прокси-сети;
  • веб-сервер Apache;
  • инструмент для веб-тестирования Siege;
  • инструмент для проведения атак Trinoo.

Симуляция проводилась в среде MicroGrid – она может использоваться для симуляций сетей с 20 тысячами маршрутизаторов, что сравнимо с сетями операторов Tier-1.

Типичная сеть Trinoo состоит из набора скомпрометированных хостов, на которых запущен демон программы. Также есть контролирующий софт для контроля сети и направления DoS-атак. Получив список IP-адресов, демон Trinoo посылает UDP-пакеты к целям в заданное время.

В ходе эксперимента использовалось два кластера. Симулятор MicroGrid работал в кластере Xeon Linux из 16 узлов (серверы 2.4GHz с 1 гигабайтом памяти на каждой машине), соединенные через 1 Gbps Ethernet концентратор. Другие программные компоненты располагались в кластере из 24 узлов (450MHz PII Linux-cthdths c 1 Гб памяти на каждой машине), объединенных 100Mbps Ethernet-концентратором. Два кластера соединялись каналом в 1Gbps.

Прокси сеть размещена в пуле из 1000 хостов. Edge-прокси равномерно распределены по всему пулу ресурсов. Прокси для работы с приложением размещены на хостах, которые находятся ближе к его инфраструктуре. Остальные прокси равномерно распределены между граничными прокси и прокси для приложения.



Сеть для симуляции

Для изучения эффективности прокси в качестве инструмента противодействия DoS-атаке, исследователи замеряли продуктивность работы приложения при разных сценариях внешних воздействий. Всего в прокси-сети было 192 прокси (64 из них граничные). Для проведения атаки была создана сеть Trinoo, включающая 100 демонов. У каждого из демонов был канал на 100Mbps. Это соответствует ботнету из 10 тысячи домашних роутеров.

Замерялось влияние DoS-атаки на приложение и прокси-сеть. В экспериментальной конфигурации у приложения был интернет канал на 250Mbps, а у каждого пограничного прокси – на 100 Mbps.

Результаты эксперимента


По результатам анализа оказалось, что атака на 250Mbps значительно увеличивает время отклика приложения (примерно в десять раз), в результате чего пользоваться им становиться невозможно. Однако при использовании прокси-сети, атака не оказывает значительного влияния на быстродействие и не ухудшает пользовательский опыт. Так происходит потому что пограничные прокси размывают эффект от атаки, а общий объем ресурсов прокси-сети выше, чем у самого приложения.

По статистике, если мощность атаки не превышает 6.0Gbps (при том, что общая пропускная способность каналов пограничных прокси всего 6.4Gbps), то 95% пользователей не испытывают ощутимого снижения производительности. При этом в случае очень мощной атаки, превышающей 6.4Gbps, даже использование прокси-сети не позволило бы избежать деградации уровня сервиса для конечных пользователей.



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

Выводы


Результаты эксперимента говорят о том, что прокси-сети могут улучшать быстродействие TCP-приложений и обеспечивать привычный уровень сервиса для пользователей, даже в случае DoS-атак. Согласно полученным данным, прокси сети оказываются эффективным способом минимизации последствий атак, более 90% пользователей в ходе в эксперимента не ощутили снижения качества работы сервиса. Кроме того, исследователи выяснили, что при увеличении размера прокси сети, масштаб DoS-атак, которые она способна вынести, увеличивается практически линейно. Поэтому чем крупнее сеть, тем эффективнее она будет бороться с DoS.

Полезные ссылки и материалы от Infatica:


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


  1. rzerda
    26.06.2019 12:41

    Отчего Вы изволите второй раз публиковать пересказ исследования от 2005 года?


  1. Revertis
    26.06.2019 21:24
    +1

    Однако при использовании прокси-сети, атака не оказывает значительного влияния на быстродействие и не ухудшает пользовательский опыт. Так происходит потому что пограничные прокси размывают эффект от атаки, а общий объем ресурсов прокси-сети выше, чем у самого приложения.
    Что значит «прокси размывают эффект от атаки»? Не все запросы к прокси шли к серверу приложения, или что?


    1. Ad3pt
      27.06.2019 04:30

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

      Все просто — «Мыши, станьте ёжиками»


  1. KodyWiremane
    27.06.2019 10:05

    В случае атаки на уровне приложения… отправляют огромное количество запросов с целью добиться падения приложения.
    Насколько я знаю, подобные атаки (особенно одиночный DoS) могут использовать не количество, а качество — немногочисленные запросы (значительно ниже полосы пропускания), которые, тем не менее, вызывают истощение вычислительных ресурсов сервера. Статья, имхо, больше звучит как про DDoS, со всеми этими гигабитами трафика.

    Впечатление пока больше как от какого-нибудь CDN; если проксям было что кешировать, «размывание атаки» понятно, иначе не очень понятно, как гигабиты до прокси волшебным образом превратились в мегабиты до сервера. Или вот на слуху связка Nginx+Apache, в которой первый используется как сетевой буфер.