The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Атака MaginotDNS, позволяющая подменить данные в кэше DNS

14.08.2023 22:55

Группа китайских исследователей на конференции Black Hat USA 2023 раскрыла детали атаки MaginotDNS, позволяющей осуществить подстановку некорректных NS-записей в кэш DNS-серверов (отравление кэша), используемых одновременно для перенаправления запросов (forwarder) и рекурсивного определения имён (resolver). Успешное проведение атаки может привести к обращению к неверным DNS-серверам, отдающим ложные сведения о целевом домене, и подмене атакующим целиком DNS-зон, в том числе для доменов верхнего уровня ( .com, .net, .ru и т.п.).

Возможность подмены NS-записей для другого домена вызвана ошибкой в применении в DNS-серверах алгоритма проверки Bailiwick, который не допускает приём серверов имён, напрямую не связанных с запрошенным доменом. В ситуации, когда DNS-сервер одновременно может работать в режиме resolver-а и forwarder-а, проверка Bailiwick выполняется только в режиме resolver-а, но не используется в режиме forwarder-а. Так как в обоих режимах используется общий кэш DNS-сервера, данной особенностью можно воспользоваться для подмены записей для запросов в режиме resolver-а через отравление кэша при манипуляции с запросами и ответами в режиме forwarder-а.

Предложено два варианта проведения атаки: "off-path" - когда атакующий не может перехватывать трафик между атакуемым DNS-сервером и вышестоящим DNS-сервером, используемом в качестве forwarder-а; "on-path" - когда атакующий может перехватывать DNS-запросы, между атакуемым DNS-сервером и forwarder-ом. В режиме "on-path", когда атакующий в ходе анализа трафика получил информацию о номере сетевого порта исходящего DNS-запроса, в процессе атаки выполнялся запрос подконтрольного атакующим домена "attacker.com", который приводит к обращению к DNS-серверу атакующих, и одновременно отправляются фиктивные ответы с данными о NS-записях для домена ".com", которые оседают в кэше. При демонстрации атаки на DNS-сервер BIND в режиме "off-path" для подбора номера порта и 16-разрядного идентификатора транзакции исходящего DNS-запроса дополнительно используется техника атаки SAD DNS, которая в тестовом запуске потребовала совершения 1642 попыток подбора в течение 32 минут.



Возможность проведения атаки подтверждена для DNS-серверов BIND, Knot, Technitium и Microsoft DNS. DNS-серверы Unbound, MaraDNS и PowerDNS атаке не подвержены. В BIND (CVE-2021-25220) и Knot (CVE-2022-32983) уязвимости, позволяющие совершить атаку, были устранены в начале 2022 года в выпусках Knot 5.5.1 и BIND 9.11.37, 9.16.27 и 9.18.1.

В марте 2022 года исследователями было проведено сканирование глобальной сети, которое выявило 154955 потенциально подверженных атаке публично доступных DNS-серверов, одновременно работающих в режиме перенаправления и резолвинга. Из них 54949 DNS-серверов (35.5%) использовали уязвимое программное обеспечение. Все уязвимые DNS-серверы были подвержены варианту атаки "on-path", проводимой при возможности перехвата трафика между DNS-сервером и forwarder-ом. Варианту атаки "off-path", при которой атакующий не контролировал трафик, оказались подвержены 88.3% уязвимых серверов.





  1. Главная ссылка к новости (https://www.bleepingcomputer.c...)
  2. OpenNews: Новый вариант атаки SAD DNS для подстановки фиктивных данных в кэш DNS
  3. OpenNews: Уязвимости в Dnsmasq, позволяющие подменить содержимое в кэше DNS
  4. OpenNews: Для атаки на MyEtherWallet использовался захват DNS-сервиса Amazon при помощи BGP
  5. OpenNews: Атака NXNSAttack, затрагивающая все DNS-резолверы
  6. OpenNews: Атака SAD DNS для подстановки фиктивных данных в кэш DNS
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/59598-dns
Ключевые слова: dns, attack, bind, knot
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (41) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 23:50, 14/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > для подмены записей для запросов в режиме resolver-а через отравление кэша при манипуляции с запросами и ответами в режиме forwarder-а.

    А зачем кэшировать forward?

     
     
  • 2.2, Гашпшпщм (?), 00:18, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну вот есть у тебя рекурсор для инторнета и виндузовый днс для внутренней зоны твоего example.com.
    Ну и запросы во внутреннюю зону ты форвардишь, а чтобы разгрузить контроллеры домена кэшируешь пакетным кэшом и dns кэшом. А внутренних клиентов могут быть и тысячи. Поэтому это бывает полезно. Например dnsdist с этой задачей справляется прекрасно. Кроме этого на самих клиентах неплохо иметь локального кэша, dnsmasq или unbound, или systemd-resolved. Главное не ошибиться с ттл позитивного и негативного кэша во всей цепочке.
     
     
  • 3.3, Аноним (1), 00:29, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А почему это не кэшировать на "авторитетах" вместо того что-бы кэшировать проходящий мусор в котором "ты" не компитентен.
     
     
  • 4.43, Аноним (43), 18:50, 16/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    На auth обычно и так есть packet cache на ответы, но если есть возможность сократить трафик с 10 Гбит/с до 10 Мбит/с, то почему бы это не сделать?
     
  • 3.8, Атон (?), 08:01, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    форвардить запросы gendir.example.local  в google.dns и получать корректные ответы?
     
  • 2.25, Tron is Whistling (?), 14:40, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В смысле зачем. Ты предлагаешь каждый запрос каждого васиного писюка сливать апстриму? Апстрим обидится и зобанед на веки вечные.
     
     
  • 3.32, Аноним (32), 18:54, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А так нормально досить крайнего? Может досят и из окрестностей апстрима.
     
     
  • 4.35, Tron is Whistling (?), 20:02, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Крайних много, а апстрим зачастую единственный и неповторимый.
     
  • 4.40, Аноним (43), 01:22, 16/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > А так нормально досить крайнего?

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

     

  • 1.9, Аноним (9), 08:24, 15/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Какая же переусложнённая система - DNS.
     
     
  • 2.11, хрю (?), 11:34, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Как и любая старая и работающая система. И да, она ещё не сложная, вот лет через 25 будет сложная +).
     
     
  • 3.13, Аноним (13), 12:25, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Что значит "не сложная"? Это же просто key-value хранилище. Какие-то кэши,
    recursive, authoritative server, forwarder, resolver, recursive resolver, conditional dns server, bailiwick .... Зачем всё это?
     
     
  • 4.14, Аноним (14), 12:40, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Потому что система разрабатывалась как распределённая. Если ты согласен чтобы Гоогле контролировал всё и раздавал все имена с одного Редиса с 15ТБ памяти, тогда всё можно упростить, конечно. Но и тогда рано или поздно все стали бы кеширование велосипедить. Вообще если заново разрабатывать с нуля то будет немного попроще но не настолько.

    Я вот всё мечтаю о com.google.web и ru.opennet

     
     
  • 5.19, Аноним (19), 13:15, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Извините, распределённая система - это namecoin. И даже она проще - все узлы одноранговые.
     
  • 5.20, Аноним (19), 13:19, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А DNS - это не распределённая система, а федерация. Тесно увязанная с положением компании в экосистеме и её партнёрскими отношениями с другими компаниями. То есть на самом деле система централизованная, олигополия.
     
     
  • 6.21, Аноним (19), 13:24, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Закон Конвея

    >Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.

     
     
  • 7.27, Tron is Whistling (?), 15:08, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В моём случае не работает, мои подходы например сильно оторваны от организационных - да, приходится учить соглашаться на нетиповые варианты, но результат даёт о себе знать.
     
  • 6.28, Аноним (28), 16:41, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Технически распределенная. Никто не мешает тебе сделать свой gTLD ".vasyapupkin" и корневые неймсервера к нему.

    Организационно - да.

     
  • 5.42, Гашпшпщм (?), 09:03, 16/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Она кроме этого ещё и иерархическая. И простая как три рубля. Не для смузибоев может быть, но простая.
     
  • 4.24, Tron is Whistling (?), 14:39, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не просто key-value, а distributed key-value. Это уже слегка посложнее ваших редисок.
     

  • 1.10, Аноним (10), 10:20, 15/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    >DNS-серверы Unbound, MaraDNS и PowerDNS атаке не подвержены.

    Этим, собственно, новость можно было начать и закончить.

     
  • 1.12, Tron is Whistling (?), 12:19, 15/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Честно - DNS пора переводить на TCP/SSL.
    Да, это добавит нагрузки, особенно большим, но с легко мудифицируемым плейнтекстом пора завязывать.
     
     
  • 2.15, Анон133 (?), 12:45, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Пора перестать хлебать смузи. А новость из разряда вмё пропало, но ничего в итоге не пропало, а показалось.
     
     
  • 3.23, Tron is Whistling (?), 14:37, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да не, плейнтекст это не о смузи.
    И плейнтекст в DNS забодал безотносительно новости - простор для кулхацкеров 10 классов потрясающий.
     
  • 2.29, ivan_erohin (?), 18:06, 15/08/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 3.33, Tron is Whistling (?), 20:00, 15/08/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 4.37, ivan_erohin (?), 22:43, 15/08/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.34, Tron is Whistling (?), 20:00, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вот для trusted downstream forwarders поддержку постоянных соединений сделать селективно - да, была бы тема.
     
  • 2.44, Аноним (43), 18:52, 16/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >  Честно - DNS пора переводить на TCP/SSL.

    Ага, чтобы запустить auth-серверы для домена, нужен серт. А чтобы валидировать серт по ACME (ну, или issuer-специфичным костылям), нужные работающие auth-серверы. Шах и мат!

     
     
  • 3.55, Tron is Whistling (?), 23:35, 17/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Внимательнее. Смысл не в авторизации зон. Просто в предотвращении MITM.
     
  • 3.56, Tron is Whistling (?), 23:36, 17/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и опять же - кто мешает серты валидировать по списку корневиков?
     
  • 2.52, Электрон (?), 22:53, 17/08/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 3.53, Tron is Whistling (?), 23:32, 17/08/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     

     ....ответы скрыты (11)

  • 1.16, Аноним (16), 12:49, 15/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Вбивая гвоздь в бинд, неплохо бы убедиться, что твоя мошонка к нему не прибита. Ну передавите всех нас, Васянов, домовых, кому будет? Все в ЖЭК.
     
     
  • 2.18, bOOster (ok), 13:10, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А какой самоубийца BIND снаружи использует?
     
     
  • 3.22, Tron is Whistling (?), 14:36, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я использую уже много-много лет как авторитативный сервер для клиентских доменов.
    А в чём проблема-то? Смузи не пью, полёт нормальный.
     
     
  • 4.38, Аноним (43), 01:11, 16/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Любители bind и прочего апача обычно другую субстанцию употребляют, причём сразу ложкой.
     
     
  • 5.41, Tron is Whistling (?), 07:12, 16/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    За любителей не скажу, но мы - не любители.
     
     
  • 6.45, Аноним (43), 18:54, 16/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не любите bind?
    Я тоже.
     
     
  • 7.48, Tron is Whistling (?), 20:17, 16/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вы любите отвёртку?
    Вот и мы нет - мы ей профессионально пользуемся.
     
     
  • 8.51, Аноним (43), 15:47, 17/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Использовать bind в качестве dns-сервера - это как крутить винты ph2 отвёрткой p... текст свёрнут, показать
     
     
  • 9.54, Tron is Whistling (?), 23:34, 17/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не, ну я знаю, что обязательно надо прямо с телемагазина, раскрашенное в радугу,... текст свёрнут, показать
     
  • 9.57, bOOster (ok), 11:07, 22/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Внутри сети вполне себе рабочий и удобный вариант Интеграция с DHCP и LDAP А н... текст свёрнут, показать
     
  • 2.39, Аноним (43), 01:16, 16/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Вбивая гвоздь в бинд, неплохо бы убедиться, что твоя мошонка к нему не прибита.

    Ну, моя не прибита (auth pdns, rec unbound). У кого прибита - те заслужили стерилизацию.

    > Ну передавите всех нас, Васянов, домовых, кому будет?

    Тише и спокойнее станет в интернете, потому что именно два любимца аникеевых - bind и msdns - в основном используются для ddos-атак dns amplification.

     

  • 1.17, bOOster (ok), 13:10, 15/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Yadifa тоже НЕ в списке "отличившихся"..
     
  • 1.26, Tron is Whistling (?), 14:42, 15/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    От апстрима на форварде внезапно можно получить нестандартный ответ?
    ВАУ. Новость века.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру