Тайные коридоры интернета: как закрыть уязвимости DNS-туннелирования

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

Тайные коридоры интернета: как закрыть уязвимости DNS-туннелирования

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

Что такое DNS-туннелирование

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

Злоумышленники могут использовать DNS-туннелирование для установления скрытого канала связи между атакующим сервером и скомпрометированным устройством в корпоративной сети. С помощью этого метода они могут передавать украденные файлы или команды управления вредоносным ПО. Происходит этот процесс в три этапа:

  1. Установка вредоносного ПО. Вначале на целевую систему устанавливается вредоносное ПО, которое будет взаимодействовать с DNS-сервером злоумышленника. Это может произойти через фишинговые письма или уязвимости в программном обеспечении.
  2. Использование DNS-запросов. Вредоносное ПО использует DNS-запросы для передачи данных на удаленный сервер. Данные (например, строки или файлы) разбиваются на части и кодируются в QNAME. QNAME — это запрашиваемое доменное имя, например, example.com. Эти запросы могут маскировать передаваемые данные в виде поддоменов. Например, данные "Hello, World!" могут быть закодированы как aGVsbG8=.example.com. 
  3. Контроль через DNS-ответы. Злоумышленник получает эти запросы через свой DNS-сервер, расшифровывает данные и может передавать команды обратно через параметры DNS-запросов: TXT, A, CNAME и др. Эти ответы интерпретируются зараженной системой как команды для дальнейших действий. 

Как злоумышленники используют DNS-туннелирование

  1. Кража данных. Один из самых распространенных сценариев использования — эксфильтрация данных из сети. Через DNS-запросы злоумышленники могут медленно передавать конфиденциальные данные, такие как логины, пароли, финансовая информация или другие критические данные.
  2. Управление вредоносным ПО. DNS-туннелирование также часто используется для командно-контрольных серверов (C2) для управления ботнетами или другими вредоносными программами. Злоумышленники могут передавать команды для выполнения на скомпрометированных системах, используя легитимные DNS-запросы и ответы.
  3. Обход защитных механизмов. Поскольку DNS-трафик часто пропускается через межсетевые экраны и системы фильтрации, злоумышленники могут использовать этот канал для обхода фильтрации веб-сайтов, обхода ограничений на доступ к интернет-ресурсам или для скрытого туннелирования других типов трафика (HTTP, FTP и т.д.).

Почему DNS-туннелирование сложно обнаружить

  1. Недостаток внимания к DNS-трафику. DNS является важным протоколом, необходимым для нормальной работы интернета, но подавляющее большинство компаний не фильтрует DNS трафик. Это позволяет злоумышленникам скрывать вредоносную активность в потоке обычных DNS-запросов. Согласно исследованиям IDC, 79% всех нарушений включают в себя работу с DNS-слоем, а 34% кибератак можно избежать с помощью фильтрации и анализа трафика на DNS уровне (Cisco Threats Report", 2023).
  2. Низкий объем данных. Злоумышленники могут использовать DNS-туннелирование для передачи небольших объемов данных, что затрудняет выявление аномалий в сетевом трафике.
  3. Использование легитимных доменов. Часто злоумышленники используют зарегистрированные домены и управляемые ими DNS-серверы, что делает выявление злонамеренных запросов еще более сложным. Они могут работать через прокси или использовать легитимные сервисы для сокрытия своих действий.
  4. Шифрование трафика. Некоторые методы DNS-туннелирования используют шифрование для маскировки данных, что делает их недоступными для традиционных систем мониторинга и анализа трафика.
  5. Схожесть с нормальными запросами. Туннелированные данные часто маскируются под стандартные DNS-запросы, поэтому бывает трудно отличить их от легитимного трафика. Например, данные могут передаваться через стандартные поля, например, через имя домена, что визуально делает запросы законными. 

Как заблокировать DNS-туннелирование

Технические меры 

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

Процедурные меры

1. Мониторинг аномалий DNS-трафика

Один из самых эффективных способов обнаружения туннелирования — это мониторинг DNS-трафика на наличие аномалий:

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

2. Ограничение и контроль использования внешних DNS-серверов

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

3. Внедрение DNSSEC

DNSSEC (Domain Name System Security Extensions) — это расширение протокола DNS, которое добавляет цифровую подпись к DNS-запросам и ответам, обеспечивая их подлинность и целостность. Внедрение DNSSEC позволяет снизить риск использования поддельных запросов и ответов, хотя оно не является полной защитой от туннелирования.

4. Машинное обучение

Современные системы защиты активно используют методы машинного обучения для анализа DNS-трафика, например, анализ энтропии Fully Qualified Domain Name. В отличие от обычных запросов, запросы FQDN, используемые в DNS-туннелировании, содержат случайные или сгенерированные символы для передачи данных. Подсчет и анализ энтропии доменных имен помогает выявлять подозрительные запросы: чем выше энтропия, тем более вероятно, что запрос использует DNS-туннелирование. Решения на базе машинного обучения могут автоматически отслеживать аномалии и блокировать трафик с подозрительно высокой энтропией, предотвращая утечку данных или управление вредоносным ПО.

5. Ограничение объема данных в DNS-запросах

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

Данные о правообладателе фото и видеоматериалов взяты с сайта «РБК Компании», подробнее в Правилах сервиса
Анализ
×
Cisco
Сфера деятельности:Связь и ИТ
27