Атака підміни DNS-записів (англ. DNS spoofing або DNS cache poisoning) — це складна кібератака, яка дозволяє зловмисникам перенаправляти користувачів на шкідливі сайти через компрометацію системи доменних імен. На відміну від багатьох інших кібератак, підміна DNS не потребує помилок користувача чи вразливостей у програмному забезпеченні — достатньо скомпрометувати саму інфраструктуру доменних імен.
Як працює інтернет-адресація і чому DNS вразливий
Система DNS є одним із найважливіших протоколів інтернету. Коли користувач вводить адресу вебсайту (наприклад, www.bank.com) у браузер, його комп’ютер надсилає запит до DNS-сервера з проханням перевести ім’я домену в IP-адресу, необхідну для встановлення з’єднання з веб-сервером. DNS працює за протоколом UDP, який є ненадійним і не використовує шифрування — повідомлення можуть бути легко підроблені.
Коли DNS-сервер отримує запит, він кешує результат у пам’яті на певний період часу (Time To Live, TTL). Це зроблено для оптимізації — наступний користувач, який запитує цей домен, отримає відповідь відразу з кешу, без необхідності повторного звернення до авторитетного DNS-сервера. Саме цей механізм кешування і став основною мішенню для атак підміни DNS.
Основні типи атак на DNS
Отруєння DNS-кешу (DNS Cache Poisoning)
Це найпоширеніший тип атаки. Зловмисник надсилає до DNS-сервера підроблені відповіді на DNS-запити, у яких назва домену пов’язана з IP-адресою шкідливого сервера. Якщо підроблена відповідь дійде до DNS-сервера раніше, ніж справжня відповідь від авторитетного сервера, то сервер закешує помилкову інформацію. Усім користувачам, які зверталися до цього домену через скомпрометований DNS, показуватимуться шкідливі IP-адреси.
Для успіху атаки зловмисник повинен вгадати кілька параметрів підробленої відповіді: IP-адресу авторитетного сервера, номер UDP-порту та ідентифікатор транзакції (16-бітний номер). Історично це було дуже складно, але у 2008 році дослідник Ден Камінський виявив новий спосіб, який драматично збільшив успішність атак.
Атака Камінського (Kaminsky Attack)
У 2008 році відомий дослідник безпеки Ден Камінський виявив фундаментальну вразливість у протоколі DNS. На відміну від простих атак отруєння DNS-кешу, які отруювали окремі записи, атака Камінського дозволяла отруїти весь домен одним ударом.
Схема атаки виглядає так: зловмисник надсилає запит на неіснуючий піддомен (наприклад, random12345.example.com). Оскільки цей піддомен не існує, DNS-сервер починає шукати авторитетний сервер для домену example.com. У цей час зловмисник заповнює канал безліччю підроблених відповідей, які стверджують, що авторитетний сервер для example.com розташований на адресі, контрольованій самим зловмисником. Якщо одна з цих підроблених відповідей дійде раніше справжньої, весь домен переходить під контроль зловмисника.
Наслідки такої атаки катастрофічні: зловмисник отримує контроль над усіма URL-адресами, електронною поштою та іншими послугами, пов’язаними з отруєним доменом. Ця атака також дозволяє отруїти DNS-сервери вищого рівня, зокрема сервери для TLD (наприклад, .com), що може вплинути на мільйони доменів.
Підміна DNS-сервера (DNS Hijacking)
На відміну від отруєння кешу, яке впливає на рекурсивні DNS-резолвери, підміна DNS-сервера означає, що зловмисник отримав прямий доступ до авторитетного DNS-сервера або зміг змінити його налаштування. Такі атаки можуть відбуватися шляхом злому облікового запису системного адміністратора на хостинг-провайдері, використання вразливостей у програмному забезпеченні DNS-сервера або подолання брандмауера через соціальну інженерію.
У 2024 році дослідники виявили випадок, коли близько 70 000 доменів були перенаправлені через скомпрометовані DNS-сервери, що призвело до великомасштабного перенаправлення трафіку на шкідливі сайти.
Атака «людина посередині» (Man-in-the-Middle, MITM)
Зловмисник займає позицію між користувачем і DNS-сервером, перехоплюючи запити та надсилаючи підроблені відповіді перед тим, як справжній DNS-сервер встигне відповісти. Така атака особливо ефективна у публічних Wi-Fi-мережах, де зловмисник має фізичний доступ до мережі.
Підміна ARP (Address Resolution Protocol)
Підміна ARP дозволяє зловмисникові видавати себе за DNS-сервер на локальній мережі, надсилаючи підроблені ARP-пакети, що зв’язують IP-адресу DNS-сервера з MAC-адресою зловмисника. Це перенаправляє весь DNS-трафік через машину зловмисника.
Реальні приклади атак
2008 рік — виявлення вразливості Камінського
У 2008 році дослідник Ден Камінський публічно розкрив фундаментальну вразливість у протоколі DNS, яка потенційно могла вплинути на всю інфраструктуру інтернету. Це спонукало розробників DNS-програмного забезпечення до невідкладних оновлень.
2018 рік — атаки на MyEtherWallet
Зловмисники скористалися вразливостями в маршрутизаторах D-Link і змінили локальні DNS-параметри користувачів, перенаправляючи їх на підроблений вебсайт MyEtherWallet. Користувачі вводили свої приватні ключі гаманців, які потім були вкрадені. Під час цих атак було вкрадено понад $150 000.
2018 рік — атаки XLoader на публічні Wi-Fi
Зловмисники змінили DNS-параметри маршрутизаторів у кафе, готелях, аеропортах та бібліотеках. Користувачі Android, які намагалися отримати доступ до Facebook, раптово перенаправлялися на підроблені сайти, де бачили повідомлення про оновлення застосунка або браузера.
2024 рік — атаки на фінансові установи
У березні 2024 року злочинці запустили великомасштабну кампанію підміни DNS, спрямовану на фінансові установи та їхніх клієнтів. Зловмисники отруїли DNS-кеші, перенаправляючи користувачів на підроблені банківські вебсайти, розроблені для крадіжки облікових даних для входу. Один випадок охопив понад 200 клієнтів за 48 годин, що призвело до понад $2 млн витрат на відповідь на інцидент та репутаційних збитків.
Наслідки атак на DNS
Успішна атака підміни DNS-записів може мати серйозні наслідки:
- Фішинг. Користувачі вводять облікові дані на підроблених вебсайтах, які виглядають ідентичними оригіналам. Користувачі навіть можуть вводити коректну URL-адресу в браузер, але все одно потраплять на шкідливий сайт, оскільки DNS-резолюція вже скомпрометована.
- Крадіжка даних. Зловмисники можуть отримати доступ до конфіденційної інформації, включаючи банківські реквізити, паролі та приватні ключі шифрування.
- Розповсюдження шкідливого програмного забезпечення. Користувачів можуть перенаправити на сайти, заражені malware, ransomware або вірусами.
- Відмова в обслуговуванні (DDoS). Атаки можуть призвести до широкомасштабного переривання в обслуговуванні критичних служб.
- Втрата довіри. Компанії, які були жертвами таких атак, втрачають довіру клієнтів і можуть зазнати значних репутаційних збитків.
- Втрата контролю над доменом. У найсерйозніших сценаріях (як в атаці Камінського) зловмисник отримує контроль над усім доменом, включаючи поштові записи (MX) та інші критичні послуги.
Захист від атак на DNS
DNSSEC (DNS Security Extensions)
DNSSEC є найефективнішим способом захисту від підміни DNS-записів. Це набір розширень, які додають криптографічні підписи до DNS-записів, гарантуючи їх автентичність та цілісність.
DNSSEC працює наступним чином: адміністратори доменів генерують криптографічні ключі і підписують свої DNS-записи цими ключами. Під час запиту DNS-резолвер перевіряє цифровий підпис, використовуючи публічний ключ, щоб переконатися, що дані не були змінені та походять від авторитетного сервера. Ця верифікація утворює «ланцюг довіри», який починається з кореневих DNS-серверів і розповсюджується до авторитетних DNS-серверів окремих доменів.
Переваги DNSSEC включають:
- Перевірку походження та цілісності DNS-даних
- Захист від підміни DNS і отруєння кешу
- Підтримку інших служб безпеки, які зберігають криптографічні дані в DNS (сертифікати, відбитки пальців SSH, ключі IPSec та ін.)
Рандомізація портів і ідентифікаторів транзакцій
Історичний спосіб боротьби з отруєнням DNS-кешу полягає у використанні випадкових номерів портів UDP для вихідних запитів. Замість того, щоб надсилати всі запити з одного порту, DNS-сервер виділяє пул із кількох тисяч портів при запуску. Кожен вихідний запит отримує як випадковий ідентифікатор транзакції, так і випадковий вихідний порт. Це значно ускладнює для зловмисника вгадування всіх необхідних параметрів підробленої відповіді.
Google Public DNS у 2024 році повідомив, що включив нову техніку, яка зберігає регістр запиту в DNS-відповідях, що охоплює понад 90% UDP-трафіку до сервісів імен і значно знижує ризик отруєння кешу.
Безпечні DNS-резолвери
Рекомендується використовувати надійні публічні DNS-сервери, такі як:
- Google Public DNS (8.8.8.8, 8.8.4.4)
- Cloudflare DNS (1.1.1.1, 1.0.0.1)
- Quad9 (9.9.9.9)
Ці сервіси забезпечують додаткові рівні захисту проти отруєння DNS-кешу і часто мають вбудовану фільтрацію шкідливих доменів.
Регулярне очищення DNS-кешу
Регулярне очищення DNS-кешу резолвера може запобігти довгостроковому впливу отруєних записів. Скорочення TTL DNS-записів означає, що резолвери частіше звертатимуться до авторитетних серверів, що знижує ймовірність використання отруєних записів.
Налаштування брандмауера
Брандмауери можна налаштувати на дозвіл DNS-трафіку лише від відомих, надійних DNS-серверів. Обмежуючи DNS-запити та відповіді на специфічні сервери, організації можуть значно зменшити ризик підміни DNS.
Вимикання механізмів DHCP-підміни
На керованих мережевих комутаторах слід увімкнути DHCP Snooping, яке обмежує DHCP-відповіді тільки авторизованими портами (зазвичай підключеними до легітимного DHCP-сервера) і блокує відповіді від несанкціонованих пристроїв.
Сегментація мережі за допомогою VLAN
Використання VLAN (віртуальні локальні мережі) дозволяє ізолювати пристрої за їхньою роллю або рівнем безпеки, що обмежує масштаб можливих атак.
Виявлення атак на DNS
Організації можуть виявити потенційні атаки на DNS, спостерігаючи за наступними ознаками:
- Повільне завантаження веб-сторінок. Раптовий спад швидкості завантаження вебсайтів може вказувати на маніпулювання DNS-запитами.
- Невідповідності SSL-сертифікатів. Якщо браузер видає попередження про те, що SSL-сертифікат не відповідає назві сайту, це може вказувати на перенаправлення через підміну DNS.
- Перевірка DNS-сервера. Використання онлайн-інструментів для перевірки, чи відповідає DNS-сервер, який використовує комп’ютер, сервісу, наданому ISP. Невідповідність може свідчити про несанкціоновану зміну DNS-параметрів.
- Моніторинг мережі. Спеціалізовані інструменти для моніторингу можуть виявити аномальну DNS-активність, таку як раптовий стрибок кількості DNS-запитів або відвідування відомих шкідливих сайтів.
- Дублювання IP-адрес. Звіти про дублювання IP-адрес у мережі можуть вказувати на наявність несанкціонованого DHCP-сервера.
- Підвищене споживання пропускної спроможності. Будь-який раптовий стрибок споживання пропускної спроможності конкретними машинами або самим DNS-сервером є вагомим показником атаки.
Перевірка журналів DNSSEC-валідації на помилки також може допомогти виявити спроби отруєння кешу, хоча помилки можуть бути також наслідком неправильно налаштованих доменів.
Висновки
Атаки підміни DNS-записів залишаються однією з найнебезпечніших загроз у сучасній кібербезпеці. На відміну від багатьох інших кібератак, вони не потребують помилки користувача — справжня адреса в браузері вже перенаправлена на шкідливий сервер на рівні інфраструктури доменних імен.
Однак існують ефективні способи захисту, найголовніший з яких — впровадження DNSSEC. Для організацій, що управляють критично важливою інфраструктурою, комбінація DNSSEC, безпечних DNS-резолверів, регулярного моніторингу мережі та правильного налаштування брандмауера може значно знизити ризик успішної атаки.
Для звичайних користувачів достатньо переходу на безпечні публічні DNS-сервери та спостереження за попередженнями браузера про невідповідності SSL-сертифікатів.


