SAD DNS: атака на заміну підроблених даних у кеші DNS

Група Дослідники з Університету Цінхуа та Каліфорнійського університету в Ріверсайді розробили новий тип нападу що дозволяє замінювати помилкові дані в кеші DNS-сервера, що може використовуватися для підробки IP-адреси довільного домену та перенаправлення викликів до домену на сервер зловмисника.

Атака обходить додатковий захист DNS-серверів блокувати класичний метод отруєння кеш-пам'яті DNS, запропонований у 2008 році Даном Камінським.

Метод Камінського маніпулює незначним розміром поля ідентифікатора запиту DNS, що становить лише 16 біт. Щоб знайти правильний ідентифікатор, необхідний для підробки імені хосту, просто надішліть близько 7.000 запитів та змоделюйте близько 140.000 XNUMX неправдивих відповідей.

Атака зводиться до відправки великої кількості підроблених пакетів, пов'язаних з IP на вирішувач DNS з різними ідентифікаторами транзакцій DNS. Щоб запобігти кешуванню першої відповіді, у кожній підробленій відповіді вказується дещо змінене доменне ім’я.

Для захисту від цього виду атаки, Виробники DNS-серверів реалізовано випадковий розподіл номерів мережевих портів джерело, з якого надсилаються запити роздільної здатності, що компенсувало недостатньо великий розмір ідентифікатора (щоб надіслати фіктивну відповідь, крім вибору 16-розрядного ідентифікатора, потрібно було вибрати один із 64 тис. портів, що збільшило кількість варіанти вибору до 2 ^ 32).

Напад SAD DNS різко спрощує ідентифікацію портів скориставшись фільтрованою діяльністю на мережевих портах. Проблема проявляється у всіх операційних системах (Linux, Windows, macOS та FreeBSD) та при використанні різних DNS-серверів (BIND, Unbound, dnsmasq).

Стверджується, що 34% усіх відкритих вирішувачів атакуються, а також 12 із 14 найкращих перевірених служб DNS, включаючи 8.8.8.8 (Google), 9.9.9.9 (Quad9) та 1.1.1.1 (CloudFlare), а також 4 з 6 перевірених маршрутизаторів від перевірених постачальників.

Проблема пов'язана з особливістю формування пакета відповідей ICMP, що дозволяє визначити доступ до активних мережевих портів і не використовується над UDP. Ця функція дозволяє дуже швидко сканувати відкриті порти UDP та ефективно обходити захист на основі випадкового вибору мережевих портів, зменшуючи кількість варіантів грубої сили до 2 ^ 16 + 2 ^ 16 замість 2 ^ 32.

Джерелом проблеми є механізм обмеження інтенсивності відвантаження кількість пакетів ICMP у мережевому стеку, який використовує передбачуване значення лічильника, з якого починається регулювання вперед. Цей лічильник є загальним для всього трафіку, включаючи підроблений трафік від зловмисника та реальний трафік. За замовчуванням, у Linux відповіді ICMP обмежені 1000 пакетами в секунду. Для кожного запиту, який досягає закритого мережевого порту, мережевий стек збільшує лічильник на 1 і надсилає пакет ICMP з даними з недосяжного порту.

Отже, якщо ви відправляєте 1000 пакетів на різні мережеві порти, всі вони закриті, сервер обмежить надсилання відповідей ICMP протягом однієї секунди, і зловмисник може бути впевнений, що серед 1000 шуканих портів немає відкритих портів. Якщо пакет відправляється на відкритий порт, сервер не поверне відповідь ICMP і це не змінить значення лічильника, тобто після відправки 1000 пакетів обмеження швидкості відповіді не буде досягнуто.

Оскільки підроблені пакети виконуються з підробленого IP, зловмисник не може отримувати відповіді ICMP, але завдяки загальному лічильнику, після кожних 1000 підроблених пакетів, він може відправити запит на неіснуючий порт з реального IP і оцінити прибуття відповіді; якщо відповідь прийшла, то в одному з 1000 пакетів. Щосекунди зловмисник може надсилати 1000 підроблених пакетів до різних портів і швидко визначати, в якому блоці знаходиться відкритий порт, потім звужувати виділення та визначати конкретний порт.

Ядро Linux вирішує проблему за допомогою патчу, який рандомізує параметри для обмеження інтенсивності передачі пакетів ICMP, що створює шум і мінімізує витік даних через бічні канали.

Фуенте: https://www.saddns.net/


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.