НовостиБлогТехнологии защиты от DDoS-атак

Технологии защиты от DDoS-атак

8 апреля 2021

Оглавление:

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

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

Угрозы DDoS-атак для бизнеса

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

hacker

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

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

Объекты и методы атак

Объектами DDoS-атак становятся подключенные к Интернету устройства: сетевое оборудование, физические и виртуальные серверы, различные интернет-сервисы, веб-сайты и веб-приложения, инфраструктура Интернета вещей.

Большинство атак развиваются в следующей последовательности:

  • 1) сбор данных о жертве и их анализ с целью выявления явных и потенциальных уязвимостей, выбор метода атаки;
  • 2) подготовка к атаке путем создания сети ботов (ботнета) посредством развертывания вредоносного кода на компьютерах и подключенных к Интернету устройствах, управление которыми удалось перехватить;
  • 3) генерация потока вредоносных запросов с множества устройств, находящихся под управлением злоумышленника;
  • 4) анализ результативности атаки: если целей атаки добиться не удалось, злоумышленник может провести более тщательный анализ данных и выполнить повторный поиск методов атаки (переход к п.1).

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

Отдельно следует упомянуть об «умных» DDoS-атаках: они выбирают в качестве конкретной цели наиболее ресурсоемкие функции веб-приложений и создают на них чрезмерную нагрузку, вызывая таким образом отказ этих приложений в обслуживании (исчерпание каналов при этом, как правило, не наблюдается). Эффект от такого воздействия может быть очень сильным, даже если атака проводилась с одного компьютера без использования ботнета (DoS-атака).

hacker

Классификация DDoS-атак

Чаще всего применяется классификация атак по уровню OSI, на котором они осуществлялись:

  • Сетевой уровень (L3): DDoS-атаки по протоколам IP, DVMRP, ICMP, IGMP, PIM-SM, IPsec, IPX, RIP, DDP, OSPF, OSPF. Целями атак являются в первую очередь сетевые устройства — коммутаторы (свичи) и маршрутизаторы (роутеры).
  • Транспортный уровень (L4): воздействие по протоколам TCP и UDP, а также по подпротоколам DCCP, RUDP, SCTP, UDP Lite. Цели таких атак — серверы и некоторые интернет-сервисы, в частности, игровые.
  • Уровень приложений (L7): атака на уровне протоколов приложений — HTTP, HTTPS, DNS и других. Такие атаки нацелены на популярные сетевые сервисы, веб-сайты и веб-приложения.

Еще один распространенный способ классификации — по способу воздействия:

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

Классификация средств DDoS-защиты

Существует, по меньшей мере, три способа классификации средств защиты от DDoS-атак:

  • по типу решения: развертываемое локально (on-premise), облачное, гибридное;
  • по уровню защиты: пакетная (на уровне L3 и L4) или на уровне приложения (L7);
  • по формату подключения: симметричная или асимметричная фильтрация.

Классификация по типу решения

На самом высоком уровне решения для защиты от DDoS-атак можно классифицировать следующим образом:

  1. Решения, развертываемые локально (on-premise), программные и аппаратные.

    Их основные преимущества:

    • Минимальное влияние на задержку (latency) за счет локальной установки.
    • Возможность гибко встроить решение в существующую инфраструктуру.
    • Возможность самостоятельно глубоко настраивать защиту.

    Недостатки и ограничения:

    • Высокая стоимость владения (на порядки выше, чем у облачного решения).
    • Необходимость иметь специалистов для работы с решением.
    • Ограниченность функционала фильтрации защитой только от пакетного флуда (L3-L5).
    • Ограниченная пропускная способность самого решения, а также каналов связи. Например, если подключены каналы общей емкостью в 40 Гбит/с, то атаку в 50 Гбит/с отразить уже не удастся.

    Основной клиент решений on-premise — крупные операторы: ISP, облачные провайдеры, дата-центры с собственной службой реагирования на DDoS-атаки.

  2. Облачные решения — их функционал защиты примерно тот же, что и у решения on-premise, но с предоставлением защиты сайтов от атак ботами по протоколу HTTP, а также технической поддержки и сопровождения во время DDoS-атаки. Преимущества качественных облачных решений:
    • Доступность по цене (ежемесячная абонентская плата).
    • Отсутствие расходов на дополнительный персонал.
    • Высокая емкость фильтрации.
    • Высокая скорость подключения (от нескольких минут).
    • Получение не только фильтрации, но и экспертизы по эффективной фильтрации атак.
    • Доступность тестового периода (как правило).
    • Доступность фильтрации атак на веб-сайты на уровне приложения (L7).
    Недостатки:
    • Увеличение задержки (трафик идет сначала к провайдеру защиты, затем к клиенту).
    • Необходимость передачи чувствительных данных в облако.

    Облачные решения — оптимальный вариант для большинства организаций.

  3. Гибридные решения — это комплект из решения on-premise и подписки на облачный сервис защиты, который подключается автоматически при величине атаке более заданной. Гибридный вариант позволяет нивелировать основной недостаток решений on-premise — ограничение по объему атаки и совместить преимущества облачных решений и on-premise.

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

Классификация по уровню защиты

Как правило, DDoS-атаки используют уязвимости и особенности протоколов и систем, работающих либо на сетевом (L3) и транспортном (L4) уровне модели OSI, либо на уровне приложений и программных сервисов (L4). Кроме того, все большее распространение получают «интеллектуальные» атаки, использующие весьма изощренные методы воздействия. Исходя из этого, решения для защиты от DDoS-атак можно разделить на три категории:

  • 1. Обеспечивающие защиту от пакетного флуда (путем фильтрации пакетов транспортного и сетевого уровня — L3 и L4);
  • 2. Защищающие и от пакетного флуда, и от флуда на уровне приложений (L3-L7) — это необходимо, в частности, для обеспечения работоспособности сайтов, поскольку большинство атак на сайты осуществляется именно на уровне L7;
  • 3. Способные обезопасить не только от атак на уровне L3-L7, но также от «интеллектуальных» DDoS-атак с использованием «умных» ботов, атакующих те части веб-приложений, которые обладают наибольшей ресурсоемкостью при обработке поступающих запросов — такие решения требуют применения в их составе функционала интеллектуальных межсетевых экранов уровня веб-приложения (Web Application Firewall, WAF). Сервисы WAF способны защитить от широкого спектра атак, не ограничиваясь только DDoS. Вместе с тем, WAF не предназначены для защиты от DDoS-атак, направленных на переполнение каналов, и уязвимы перед ними так же, как и серверы приложений, поэтому для эффективной защиты от атак сервисы WAF и anti-DDoS необходимо применять в комплексе.

Решения on-premise, как правило, ограничиваются защитой на уровнях L3 и L4. Функционал облачных решений может варьироваться в широком диапазоне, и чтобы понять, на что они способны, необходимо тщательно изучать документацию конкретных сервисов. Для защиты критически важных интернет-ресурсов стоит выбирать вариант с использованием WAF — это позволит максимально обезопасить ресурсы и обеспечить их доступность при DDoS-атаках самого разного уровня сложности.

Классификация по формату подключения

По формату подключения DDoS-защиту можно подразделить на симметричную и асимметричную.

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

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

Как правило, симметричная защита рекомендуется для противодействия атакам на веб-сайты и критически важные приложения, а асимметричная — для защиты провайдерских сетей.

Сравнение основных преимуществ и недостатков обоих классов защиты приведено в таблице.

ПреимуществаСимметричная защитаАсимметричная защита
Гибкое управление исходящим трафикомНетДа
Дополнительная задержкаВышеНиже
Сложность подключенияВышеНиже
Плата за подпискуВышеНиже
Возможность использовать нескольких провайдеров для защиты от DDoS-атак (одного IP)НетДа
Эффективность фильтрацииВышеНиже

Более подробную информацию о симметричной и асимметричной защите от DDoS-атак можно найти в этом выступлении:https://youtu.be/B4EArYvQWaM.

Способы и средства защиты от DDoS

В зависимости о того, какие объекты нужно защищать, следует выбирать разные способы и средства защиты от DDoS-атак.

Кроме того, очень важно представить себя на месте злоумышленника, подумать, какими способами он мог бы попытаться реализовать свои замыслы, а затем не только устранить все найденные уязвимости, но и тщательно протестировать сервис, чтобы убедиться, что он реально может противостоять атакам. Более подробную информацию о том, как правильно подключать DDoS-защиту, можно найти здесь: https://youtu.be/iklmmxuwVrg.

Сайты и веб-приложения

Первое, что нужно учесть, выстраивая защиту сайтов и веб-приложений от DDoS-атак, — есть ли у вас доступ к серверу, на котором разместили сайты и приложения. Если можете его полноценно контролировать, следует не только позаботиться о подключении внешней DDoS-защиты, но и правильным образом подготовить сам сервер: выполнить оптимизацию сетевого стека операционной системы так, чтобы сервер смог выдерживать высокие нагрузки. Для защиты от DDoS очень важно обеспечить высокую производительность сервера, включая обработку поступающих по сети запросов к нему. В противном случае даже в отсутствие атаки есть риск т.н. «хабраэффекта», когда появление в Интернете публикации, быстро ставшей очень популярной, приводит к резкому увеличению нагрузки на упомянутые в ней интернет-ресурсы.

Стандартные настройки работающих в режиме продуктивной эксплуатации сетевого стека ОС и веб-сервера Apache или Nginx, как правило, имеют существенные ограничения, которые обязательно необходимо устранить. В частности, нужно обратить внимание на параметры, определяющие производительность сервера на Nginx и сетевого стека Linux. Также следует обратить внимание на оптимизацию используемых СУБД — они должны работать быстро.

Если на сайте используются популярные системы CMS (например, Joomla!, WordPress, Drupal), обязательно воспользуйтесь общедоступными рекомендациями по настройке их производительности. Необходимо обеспечить высокую производительность сайта в стандартном режиме — это повысит его шансы справиться с DDoS-атакой.

Если приложение или сайт развернуто на внешней площадке и решено доверить защиту от DDoS-атак ее владельцу, то следует, по крайней мере, уточнить, сможет ли он обезопасить этот интернет-ресурс от атак на уровне приложений (L7). В любом случае можно подключить внешний сервис защиты, при этом нужно настроить его так, чтобы IP-адрес реального сервера не был виден злоумышленнику ни через почтовые заголовки, ни через открытые порты, ни через иные сервисы.

И вот еще несколько рекомендаций:

  1. Подключая к вашему интернет-сервису внешний сервис anti-DDoS, сменить IP-адрес. Если это невозможно, то хотя бы «закрыть» обработку обращений от всех IP-адресов, кроме тех, что предоставил провайдер сервиса защиты.
  2. Если сервис критически важен, необходимо позаботиться о приобретении или аренде надежных и производительных, причем по возможности выделенных, хостинг-ресурсов для его развертывания, чтобы исключить ситуацию, когда атака на другой сервис на этом же ресурсе приведет к отказу вашего сервиса. Желательно обеспечить резервирование мощностей и ресурсов, чтобы уменьшить вероятность отказа.
  3. Чтобы уменьшить вероятность отказа при атаке на один или несколько IP-адресов, желательно стараться использовать все имеющиеся в распоряжении адреса, распределяя их между сервисами или пользователями.
  4. Полезно уведомить провайдера защиты о том, какие IP-адреса для каких целей используются — это поможет ему правильно выстроить «линию обороны» от DDoS-атак.

Интернет-сервисы и онлайн-игры на основе TCP и UDP

Стремясь обеспечить устойчивость сервисов, взаимодействующих с пользователями посредством TCP и UDP, нужно в первую очередь оптимизировать сетевой стек операционной системы. Для начала стоит удостовериться, что прерывания сетевой карты распределены по разным процессорным ядрам. В большинстве современных систем это распределение производится автоматически, тем не менее, дополнительная осмотрительность не помешает.

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

Для защиты интернет-сервисов и онлайн-игр на основе TCP и UDP нужно в первую очередь настроить драйвер сетевой карты. Когда на нее приходит фрейм, она должна инициировать системное прерывание, которое «просит» процессор приостановить выполнение текущей задачи и обработать пришедшую порцию трафика. Однако если бы каждый фрейм вызывал незамедлительное прерывание и «отвлекал» процессор от текущих задач, заметное снижение производительности можно было бы наблюдать даже на простейших сетевых операциях, таких как передача файла по протоколу FTP. Поэтому эти прерывания выстроены в очередь, которая скапливается на сетевой карте и обрабатывается процессором за один раз. Обычно это происходит 250-1000 раз в секунду, и чем реже — тем меньше загрузка CPU, но тем выше задержка.

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

  • Первый и рекомендуемый — использовать аппаратные очереди. Современные сетевые карты имеют несколько очередей прерываний, обычно от 4 до 16. По какой-то причине в Linux они часто отключены по умолчанию. Нужно их включить, а затем равномерно распределить по процессорам.
  • Второй способ — с использованием механизма управления принимаемыми пакетами (Receive Packet Steering). Это относительно новый механизм ядра, который автоматически распределяет нагрузку между всеми ядрами, при этом неважно, есть ли на сетевой карте несколько аппаратных очередей или нет. Используйте этот способ, только если у вас больше ядер, чем аппаратных очередей (кстати, рассмотрите возможность отключения SMT/HyperThreading — во время атаки это будет весьма кстати).

Сети

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

Первое, о чем следует позаботиться, — чтобы пограничный (Edge) маршрутизатор располагал достаточно высокой производительностью. Необходимо уточнить их пропускную способность, оценить текущую нагрузку и по возможности провести ряд стресс-тестов, например, с использованием утилиты hping3.

Второе — необходимо удостовериться, что принадлежащие вам IP-адреса нельзя определить путем трассировки (traceroute) как извне, так и изнутри сети, а те, что можно, защищены средствами ACL (за соответствующей помощью следует обратиться к провайдеру защиты).

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

hacker

Подключение защиты не гарантирует отражения атак

Само по себе подключение защиты от DDoS не гарантирует работоспособность интернет-ресурсов в случае DDoS-атаки. И зачастую проблема кроется не в «плохой» DDoS-защите, а в неудачной архитектуре интернет-сервиса или некоторых других его особенностях.

В 2017 году наша компания впервые предложила сообществу термин «защищаемость от DDoS» и набор параметров, которые на неё влияют. Если коротко, защищаемость — это способность интернет-сервиса быть эффективно защищенным от атак с минимальными затратами ресурсов.

На защищаемость влияют следующие основные группы параметров:

  • 1. Параметры, характеризующие возможности скрыть от злоумышленника ту информацию, которая поможет ему провести атаку и понять, что она оказалась успешной: спектр возможностей, позволяющих спрятать атакуемый интернет-сервис от тех, для кого он не предназначен; число путей проверки его работоспособности; информационная безопасность (защищенность от взлома).
  • 2. Предоставление DDoS-защитнику возможностей для оценки эффективность защиты.
  • 3. Широта возможностей сервиса по распознаванию ботов, а также известность и понятность работы используемых в нем протоколов и механизмов, с точки зрения DDoS-защитника.
  • 4. Параметры, характеризующие надежность работы сервиса в условиях атаки: резервирование на уровне приложения; устойчивость к слабым атакам; выделение разных функций на разные IP-адреса для снижения числа векторов атак; зависимость компонентов системы друг от друга и их способность работать автономно.

Защищаемость от DDoS-атак можно и нужно закладывать в решение еще на стадии проектирования его архитектуры — это позволит повысить доступность и снизить расходы на защиту от атак. Подробнее о защищаемости и о том, что на нее влияет, можно узнать здесь: https://youtu.be/JW05Ikf98JE.

Выбор поставщика: что продумать и о чем спрашивать

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

Следует помнить, что защита от DDoS — дело очень серьезное, поэтому провайдера нужно выбирать со всей тщательностью. Выбирая провайдера, важно выяснить следующие его особенности.

  • Где расположены точки его присутствия, насколько они близки по географии к вашим площадкам и точкам присутствия Ваших клиентов. Рекомендуем проверить связность с транзитными операторами и провести пинг-тест до защищаемых провайдером ресурсов из разных мест (для этого следует воспользоваться сервисами https://bgp.he.net, https://ping.pe и им подобными).
  • Давно ли провайдер занимается защитой от DDoS и специализируется ли на этих сервисах. Постарайтесь изучить отзывы о нем в Интернете и оценить, участвует ли он в жизни сообщества информационной безопасности, предлагает ли что-то новое. Это поможет оценить, насколько хорошо провайдер отслеживает ситуацию и насколько готов противостоять новым угрозам.
  • Как работает техническая поддержка провайдера. Следует выбирать провайдера, который обеспечивает защиту круглосуточно и без выходных (злоумышленники часто начинают атаки поздно вечером или ночью, рассчитывая на то, что поддержка «спит»). Желательно иметь несколько разных каналы для обращения к провайдеру, чтобы быстро решать срочные вопросы.
  • Если для вас и ваших клиентов важны импортозамещение и отсутствие трансграничного перемещения данных (подобные требования проистекают, в частности, из закона о персональных данных 152-ФЗ), то необходимо заранее выяснить у провайдера, какие именно технологии он использует и будет ли отправлять трафик за границу, пусть и в зашифрованном виде.
  • Есть ли у провайдера список известных на рынке или лично вам клиентов (наличие этого списка позволяет надеяться на приемлемое количество сервисов). Если в этом списке есть знакомые организации, желательно связаться с ними и узнать их отзывы о нем.
  • Протестировать сервис до его приобретения и оценить, как работает защита и техническая поддержка. Для этого подойдут если не полное стресс-тестирование, то хотя бы простые тестовые атаки с применением доступных бесплатных инструментов и средств мониторинга ваших ресурсов (они помогут увидеть динамику их поведения в ходе тестовой атаки).
  • Узнать, требует ли провайдер дополнительной оплаты за объем атак или их количество. Настоятельно не рекомендуем соглашаться на такие условия, поскольку от вас никак не зависит, кто и насколько плотно будет вас атаковать.

Выводы

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

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

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