Защита от DDoS-атак

Защита от DDoS-атак


  |  Слушать на Apple Podcasts  |  Слушать на Google Podcasts  |   Слушать на Mave  |   Слушать на Яндекс Музыке  |   Слушать на Castbox  |   Слушать на Podcast Addict  |   Слушать на Pocket cast  |  

Руслан Рахметов, Security Vision

В новостях регулярно публикуют сообщения об атаках на сайты крупных банков, на сервисы государственных услуг и различные социальные сети, в результате чего данные интернет-ресурсы становятся недоступными для посетителей. Несмотря на то, что подобные сбои могут быть следствием некорректно проведенных технических работ или ошибочных сетевых настроек, зачастую их причинами являются так называемые распределенные атаки на отказ в обслуживании - DDoS-атаки (от английского Distributed Denial of Service).

DDoS-атаки классифицируются не только по объему вредоносного трафика (мощные ДДоС-атаки могут достигать сотен Гбит/сек), но и по атакуемому уровню абстракции (софт, железо, сеть), по целевому атакуемому ресурсу, а также по ряду других признаков. О видах атак на отказ в обслуживании, реагировании на такие киберинциденты и о противодействии DDoS-атакам мы поговорим в этой статье.

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

Типичными мотивами проведения DDoS-атак являются:

  • Конкурентная борьба: невозможность генерирования прибыли компанией за счет недоступности её веб-сайта и интернет-сервисов, а также причинение ущерба репутации компании путем демонстрации «ненадежности» её ИТ-сервисов;

  • Шантаж: угрозы проведения масштабной DDoS-атаки, требование выкупа за прекращение DDoS-атаки;

  • Сокрытие других кибернападений: отвлечение внимания аналитиков SOC-центра от более скрытных киберопераций, которые могут проводиться во время DDoS-атаки;

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

  • Хактивизм: хакеры могут распространять сообщения об организованных DDoS-атаках и своих требования или заявлениях, в том числе рекламируя таким образом свои нелегальные услуги по проведению DDoS-атак;

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

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

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

Перейдем к классификации DDoS-атак.

1. По объему вредоносного трафика

Самыми масштабными считаются атаки, произведенные в последние годы на интернет-гигантов и крупных облачных провайдеров: их мощность достигала более 2 Терабит в секунду. Некоторые исследователи перешли к измерениям масштаба DDoS-атак не по скорости вредоносного трафика, а по количеству паразитных запросов в секунду (RPS, requests per second); по этой метрике объем самых больших DDoS-атак превышал 20 миллионов запросов в секунду. При этом мощность DDoS-атак растет с каждым годом вместе с увеличением пропускной способности интернет-каналов и количества устройств, которые могут генерировать паразитный трафик. Такими устройствами в большинстве случаев являются зараженные вирусами пользовательские устройства: домашние ПК, смартфоны, устройства интернета вещей (умные камеры, видеорегистраторы, элементы умного дома), которые объединяются хакерами в бот-сети (англ. botnet). 

2. По атакуемому уровню абстракции

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

  • Ширина интернет-канала хостинга веб-портала;

  • Быстродействие аппаратных компонентов (современные веб-ресурсы работают на виртуальной инфраструктуре, в которой ключевым моментом является скорость и надежность дисковой подсистемы, а также объем выделяемой оперативной памяти);

  • Корректная настройка сетевого оборудования (например, роутеров и межсетевых экранов) для защиты от паразитного трафика;

  • Корректная настройка веб-сервера, который обслуживает интернет-запросы к сайту;

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

На каждом из данных уровней абстракции возможны атаки: так, на сетевом уровне атакующие могут загружать интернет-канал паразитными запросами на подключение (атаки TCP flood), некорректными ICMP-пакетами (ICMP flood, атака Smurf) или массовой отправкой UDP-датаграмм (UDP flood). В последнем случае может также использоваться техника усиления UDP-атак (т.н. UDP amplification), при которой адрес отправителя DNS или NTP-запроса подменяется злоумышленником на адрес атакуемого сервера, а множество интернет-серверов отвечает на такой DNS/NTP-запрос с многократным повторением ответа. В качестве «транспорта» для такого усиления могут использоваться не только распространенные протоколы (DNS или NTP), но и менее популярные, такие как DTLS, QUIC, QOTD, SSDP и другие. Отметим, что атаки на сетевом уровне достаточно легко автоматизируются, а в DarkNet есть целый нелегальный рынок соответствующих услуг по организации DDoS, которые могут скрываться под сервисами якобы стресс-тестирования веб-сайтов.

На более высоких уровнях - уровне веб-сервера, веб-сайта - атакующие уже ищут уязвимости в логике работы веб-компонент, в том числе и настроенных по умолчанию. Так, популярный веб-сервер Apache до относительно недавнего времени (середины 2010-х годов) по умолчанию работал в режиме Prefork, в котором для каждого веб-запроса создавался свой процесс с выделением аппаратных ресурсов, что приводило к возможности провести успешную DDoS-атаку буквально несколькими сотнями веб-запросов, которые могли полностью исчерпать аппаратные ресурсы сервера Apache. Более современные режимы работы сервера Apache (режимы Worker, Event) используют аппаратные ресурсы более продуктивно.

3. По целевому атакуемому ресурсу

На уровне сетевого оборудования или аппаратных компонентов организация успешной DDoS-атаки зависит фактически лишь от наличия у атакующих сопоставимых аппаратных возможностей и количества устройств в бот-сети, которые могут сгенерировать существенный объем паразитного трафика. На уровне бизнес-сервисов и приложений, доступных из интернета, эксплуатируются уже уязвимости в логике приложений, в настройках программного обеспечения, в коде веб-порталов. Например, веб-сайт магазина по продаже бытовой техники может содержать большое количество товарных артикулов с характеристиками и фотографиями товара; при этом, если пользователь задает широкий поисковый запрос, то вывод всех результатов такого поиска на одну веб-страницу вполне может существенно нагрузить веб-сервер и замедлить работу сайта. В случае, если на сайте предусмотрена отправка пользовательских данных в POST-запросе, то атакующий может выполнить атаку вида HTTP slow POST, при которой атакующий сообщает веб-серверу намерение передать определенный объем информации в POST-запросе, а затем указанный объем данных передается очень медленно (1 байт в несколько десятков секунд) - это можно сравнить с очень медленным набором текста в поле «Комментарий» на сайте. При таком сценарии веб-сервер будет поддерживать созданное HTTP-соединение продолжительное время, тратя свои аппаратные ресурсы на фактически неактивное соединение.

Еще одна похожая DDoS-атака под названием Slowloris предполагает специально замедленную отправку злоумышленником HTTP-заголовков раз в несколько секунд для поддержания соединения в активном состоянии (но при этом не завершая веб-запрос корректно), что также приводит к исчерпанию ресурсов веб-сервера. Отметим, что переход большинства веб-серверов на протокол HTTPS привел к еще большей нагрузке на аппаратные компоненты, поскольку построение TLS/SSL-соединения требует выполнения ряда достаточно вычислительно-сложных криптографических операций.

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

  • Массированная отправка СМС-сообщений с целью переполнить память мобильного телефона жертвы (атака SMS flooding) или сбить её с толка для дальнейшего проведения атаки методом социальной инженерии;

  • Большой поток спам-звонков на мобильный/стационарный телефон или интернет-телефонию с целью занятия телефонной линии и, как следствие, её недоступности для легитимных звонков (TDoS-атака, от англ. Telephony Denial Of Service);

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

  • Эксплуатация уязвимостей в облачном сервисе/приложении, приводящая к избыточному потреблению аппаратных ресурсов при включенном автомасштабировании и, как следствие, к перерасходу клиентских денежных средств (атака Yo-Yo DDoS);

  • Эксплуатация уязвимостей в прикладном ПО, приводящая к невозможности выполнить легитимные операции из-за избыточного потребления ресурсов атакованным устройством (использование 100% процессорного времени, использование всей доступной оперативной памяти);

  • Эксплуатация уязвимостей в операционной системе или драйвере, приводящая к перезагрузке, зависанию устройства, переходу системы в аварийное/неработоспособное состояние (пример - атака Ping of death);

  • Эксплуатация уязвимостей в микропрограмме (прошивке) устройства, приводящая к несанкционированной перепрошивке устройства (как правило, подключенного к интернету и доступного с дефолтными или легко угадываемыми учетными данными), и, как следствие, к повреждению и выходу из строя устройства (PDoS-атака, от англ. Permanent Denial Of Service).

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

  • На уровне интернет-подключения IP-адрес защищаемого веб-ресурса анонсируется через интернет-маршруты компаний, обеспечивающих очистку трафика от паразитных DDoS-запросов;

  • На уровне DNS-сервиса имя сайта преобразуется в IP-адрес на стороне компаний, обеспечивающих защиту от DDoS, что позволяет не раскрывать злоумышленникам настоящий IP-адрес ресурса, а также очищать трафик и балансировать нагрузку в момент атаки DNS flood (атака на DNS-сервер с целью нарушить его доступность для пользователей);

  • На уровне веб-сервера следует выполнять рекомендации из «лучших практик» по защите от DDoS для выбранного продукта;

  • На уровне сайтов/сервисов можно устанавливать защитные капча-коды (картинки, текст с которых надо ввести вручную), а также использовать cookie-файлы и механизм HTTP Redirect, что позволяет отсеять часть атакующих ботов;

  • На уровне бизнес-логики веб-приложений следует фильтровать опасные и тяжелые для обработки запросы, обращения к API и бэкенду, ограничивать неаутентифицированное использование подобного функционала.

Применение IRP/SOAR-решения Security Vision позволяет решать следующие задачи противодействия DDoS-атакам в рамках автоматизации процессов информационной безопасности и реагирования на киберинциденты:

  • Выявление аномалий в интернет-трафике и работе веб-сервисов и приложений с помощью механизмов машинного обучения и обработки Big Data (например, путем обучения IRP/SOAR-решения Security Vision на типичном взаимодействии легитимных пользователей с веб-приложением с дальнейшим выявлением отклонений от нормального поведения и последующим роботизированным реагированием);

  • Уменьшение времени выявления DDoS-атаки и реагирования на неё путем обработки данных с подключенных элементов ИТ-инфраструктуры и отправки управляющих команд средствам защиты (например, для оперативного блокирования на сетевом оборудовании подключений с определенных IP-адресов и географических локаций, из которых идет паразитный трафик);

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

Интересные публикации