Анатомия DNS-атак. Типы атак и меры защиты.

Анатомия DNS-атак. Типы атак и меры защиты.

Система доменных имён DNS (Domain Name System) – компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста (компьютера или устройства), получения информации о маршрутизации почты и обслуживающих узлах для протоколов в домене (SRV-запись).

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


Пример структуры доменного имени

Распространенные типы DNS-атак

1. Отказ в обслуживании (Denial of Service, DoS)

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

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

Усиление DNS (Отражение DNS)

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

На все эти запросы отвечает DNS-сервер с IP-адресом целевой машины. Затем сервер жертвы отправляет идентичный ответ на каждый запрос. Это приводит к огромному объему трафика данных, поступающему из сети жертвы на порт 80 или 25.

Истощение ресурсов

Злоумышленник проводит DoS-атаку, истощая пулы ресурсов устройства: ЦП, память, диск и сеть. Киберпреступник может увеличить потребление ресурсов ЦП приложением, размещенным на сервере, атакуя жертву сложными REGEX-запросами с помощью самозапускающегося сценария, который зацикливает эти запросы.

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

Переполнение буфера (Buffer Overflow Attack, BOA)

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

В BOA-атаке злоумышленник может заменить значения в базовом указателе или в указателе индикатора для выполнения вредоносного кода.

ICMP-флуд (ping-флуд)

Этот вид DoS-атак использует обычный тест подключения для сбоя, зависания, перезагрузки или вывода целевой машины из строя. Обычно ping-тест ICMP используется для проверки надежности подключения между двумя конечными точками в одной сети.

Устройство отправляет запрос ICMP ECHO на другую машину, а получатель отправляет обратно ответ ECHO. Измерив путь запросов, вы можете определить силу соединения.

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

Более того, злоумышленник должен знать IP-адрес жертвы, чтобы сфокусировать атаку, а также знать информацию о маршрутизаторе жертвы.

SYN-флуд

Атака использует трёхстороннее рукопожатие TCP/IP, при котором хакер инициирует отказ пользователя на сервере, повторно отправляя SYN-пакеты и игнорируя SYN-ACK-пакеты на стороне сервера.

2. Распределенный отказ в обслуживании (Distributed Denial of Service, DDoS)

DDoS-атаки используют скомпрометированные хосты (боты) для запуска полномасштабных DoS-атак на крупные цели. Такая атака проводится против хорошо защищённой крупной компании или правительственной организации.

UDP-флуд

Этот тип DDoS-атак похож на SYN-флуд и использует протокол пользовательских дейтаграмм (User Datagram Protocol, UDP) и UDP-пакеты. Злоумышленник заполняет открытые порты пользователя множеством ненужных UDP-пакетов.

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

ICMP-флуд

Работает аналогично DoS-атаке. Разница здесь только в объеме — DDoS-атаки имеют преимущество в виде сотен или тысяч ботов, способных одновременно атаковать жертву ICMP-флудом.

SYN-флуд

Тот же механизм DoS, но больше «зомби» (ботов) для выполнения тяжелой работы.

Усиление NTP (Network Time Protocol)

В атаках протокола сетевого времени (Network Time Protocol, NTP) злоумышленник атакует общедоступные NTP-серверы UDP-пакетами. Киберпреступник использует механизм «запрос-ответ».

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

HTTP-флуд

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

Быстрый поток (Fast Flux)

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

Отраженный (непостоянный) межсайтовый скриптинг (Cross-Site Scripting, XSS)

В XSS-атаке злоумышленник пытается злоупотребить HTTP-ответом приложения, получающим запрос. При атаке киберпреступник выясняет, выполняет ли приложение, получающее HTTP-запрос, какие-либо проверки данных при получении запроса.

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

3. Перехват (отравление) DNS (DNS-hijacking)

При помощи вредоносного ПО злоумышленник изменяет IP-адрес ресурса и перенаправляет жертву вместо запрошенного ею сайта на скомпрометированный сервер, который контролирует преступник.

Интернет-провайдеры осуществляют DNS hijacking для сбора статистики и показа рекламы. Кроме того, поставщики DNS-услуг могут использовать перехват трафика в качестве цензуры для предотвращения доступа к определенным страницам.

DNS-спуфинг (DNS-spoofing)

Спуфинг DNS (отравление кэша DNS) позволяет обманом заставить жертву подключиться к поддельному веб-сайту. Когда кто-то запрашивает доступ к сайту через DNS, а DNS-сервер отвечает неточным IP-адресом, это считается атакой с подделкой DNS.

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

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

DNS-туннелирование (DNS-tunneling)

Сетевой трафик направляется через DNS с использованием DNS-туннелирования для создания дополнительного канала для передачи данных. Это позволяет пройти через сетевые фильтры и брандмауэры.

DNS преобразует доменные имена в IP-адреса. Чтобы получить доступ к веб-сайтам, ограниченным в стране или регионе, подключения будут направлять интернет-трафик пользователя через удаленный сервер, если включено DNS-туннелирование.

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

Перепривязка DNS (DNS-rebinding)

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

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

При перепривязке DNS злоумышленник может перенаправить запрос браузера жертвы на зараженный сервер. При изменении URL-адреса учетной записи жертвы все запросы к этой учетной записи будут проходить через сервер злоумышленника, что позволяет получить контроль над учетными записями в соцсетях.

Например, когда пользователь вводит «www.mybankname.ru» в адресную строку браузера, сайт может оказаться в другом месте, потому что кто-то перехватил его с помощью повторной привязки DNS.

DNS-опечатка (DNS-typosquatting)

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

Затем злоумышленник создает фишинговый веб-сайт, чтобы убедить пользователя предоставить конфиденциальную информацию, включая учетные данные, данные кредитной карты и другую личную информацию. Например, киберпреступник может использовать www.paypall.com вместо www.paypal.com или www.applid.com вместо www.appleid.com .

Как смягчить DNS-атаки

Все описанные атаки могут сильно нарушить работу устройства или уничтожить данные. Давайте рассмотрим способы смягчения последствий атаки.

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

  • Используйте надежный облачный хостинг;
  • Реализуйте мониторинг доступности;
  • Инвестируйте в инструмент IDS\IPS;
  • Проводите полный автоматический статический и динамический анализ;
  • Реализуйте фаззинг;
  • Используйте компилятор кода;
  • Используйте Stack Canary;
  • Ограничьте лимит обработки входящих ICMP-сообщений;
  • Включите тонкую настройку брандмауэра периметра сети;
  • Не забывайте о cookie-файлах SYN.

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

  • Выполните глубокую проверку пакетов;
  • Включите фильтры очистки трафика;
  • Большинство DDoS-атак происходят волнами. Первая волна атаки тестирует защиту. Обязательно ждите второй и даже третьей волны;
  • Ограничьте скорость отклика системы на ICMP-пакеты;
  • Выполняйте регулярное профилирование трафика;
  • Не забывайте о репутации IP;
  • Выполните JavaScript-парсинг;
  • Проверьте источники IP;
  • Отключите запросы `monlist`;
  • Внедрите контроль доступа;
  • Не нажимайте на подозрительные ссылки, не открывайте электронные письма из неизвестных источников и т. д.;
  • Используйте брандмауэр веб-приложения;

Противодействие DNS-атакам

  • Отключите ненужные DNS-преобразователи;
  • Разместите законные DNS-преобразователи за брандмауэром и убедитесь, что к ним нельзя получить доступ за пределами вашей организации;
  • Отделите ваш авторитетный сервер имен от DNS-преобразователя;
  • Применяйте исправления для известных уязвимостей, как только они будут выпущены разработчиком;
  • Реализуйте клиентскую блокировку на своем DNS-регистраторе;
  • Убедитесь, что ваша организация использует DNS-регистратор с поддержкой DNSSEC;
  • Всегда включайте DNSSEC;
  • Используйте зашифрованное VPN-подключение для своего предприятия;
  • Внедрите политику гигиены паролей маршрутизатора.

SOC как супергерой: не спит, не ест, следит за безопасностью!

И мы тоже не спим, чтобы держать вас в курсе всех угроз

Подключитесь к экспертному сообществу!