Перехоплення DNS (DNS hijacking) — атака, яка змінює розв’язання доменних імен — на пристрої, роутері, резолвері чи в реєстратора, — щоб користувачі потрапляли на сервери, контрольовані зловмисником.
Як працює перехоплення DNS
Система доменних імен перетворює імена на IP-адреси, тож той, хто контролює відповіді, контролює й напрямок трафіку. Зловмисники можуть утрутитися на кількох рівнях:
- Локальне перехоплення — шкідливе ПЗ змінює налаштування DNS на комп’ютері. Так діяв троян DNSChanger на мільйонах машин, доки 2011 року його не зупинила операція ФБР Ghost Click.
- Перехоплення через роутер — паролі за замовчуванням або вразливості домашніх роутерів дають змогу спрямувати всі пристрої в мережі на підставний резолвер, як це робила кампанія GhostDNS 2018 року.
- Перехоплення записів — викрадені облікові дані реєстратора чи DNS-хостингу дають змогу безпосередньо змінити авторитативні записи домену.
- Маніпуляції на резолвері — підставні чи скомпрометовані резолвери провайдера повертають неправдиві відповіді, іноді заради реклами чи цензури.
Близька, але інша техніка — отруєння кешу DNS: підроблені відповіді потрапляють у кеш резолвера без зміни будь-яких налаштувань.
Чому це важливо
Перехоплення DNS дає змогу проводити фішинг на «правильному» домені, перехоплювати пошту й отримувати дійсні TLS-сертифікати для серверів зловмисника. Кампанії DNSpionage і Sea Turtle (2018–2019) у такий спосіб перенаправляли домени держустанов і телеком-компаній на Близькому Сході та в інших регіонах; у січні 2019 року американське агентство CISA видало у зв’язку з цим екстрену директиву 19-01 щодо втручання в DNS-інфраструктуру.
Як захиститися
- Захистити облікові записи в реєстратора й DNS-провайдера багатофакторною автентифікацією та ввімкнути блокування на рівні реєстратора чи реєстру (див. викрадення домену).
- Підписувати зони DNSSEC і відстежувати зміни DNS-записів та журнали Certificate Transparency.
- Змінювати паролі роутерів за замовчуванням і оновлювати їхню прошивку.
- Використовувати довірені резолвери із шифруванням, наприклад DNS через HTTPS.