Небезопасная настройка DNS
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Категория OWASP: MASVS-NETWORK: Сетевая связь
Обзор
Небезопасные конфигурации DNS могут возникать, когда разработчики настраивают поведение транспорта DNS приложения, обходят настройки устройства по умолчанию или когда пользователь указывает частный DNS-сервер в Android 9 и более поздних версиях. Отклонение от заведомо исправных конфигураций DNS может сделать пользователей уязвимыми для таких атак, как подмена DNS или отравление кэша DNS, что позволяет злоумышленникам перенаправлять пользовательский трафик на вредоносные сайты.
Влияние
Если злоумышленник сети сможет подделать DNS, он может незаметно перенаправить пользователя на контролируемый им веб-сайт, не вызывая подозрений пользователя. Этот вредоносный веб-сайт может, например, вымогать у пользователя личную информацию, вызывать отказ в обслуживании пользователя или перенаправлять пользователя на веб-сайты без уведомления.
Риск: уязвимая транспортная безопасность DNS
Пользовательские конфигурации DNS могут позволить приложениям обходить встроенную транспортную безопасность Android для DNS в Android 9 и более поздних версиях.
Смягчения
Используйте ОС Android для обработки DNS-трафика
Разрешите ОС Android обрабатывать DNS. Начиная с уровня SDK 28, Android добавил безопасность к транспортировке DNS через DNS через TLS, а затем через DNS через HTTP/3 в SDK уровня 30.
Использовать уровень SDK >=28
Обновите уровень SDK как минимум до 28. Следует отметить, что это устранение требует связи с известными и безопасными общедоступными DNS-серверами, например, которые можно найти здесь .
Ресурсы
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-29 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-07-29 UTC."],[],[],null,["# Insecure DNS Setup\n\n\u003cbr /\u003e\n\n**OWASP category:** [MASVS-NETWORK: Network Communication](https://mas.owasp.org/MASVS/08-MASVS-NETWORK)\n\nOverview\n--------\n\nInsecure DNS configurations can occur when developers customize an application's\nDNS transport behavior, bypass device defaults, or when a user specifies a\nprivate DNS server in Android 9 and later. Deviation from known good DNS\nconfigurations can leave users vulnerable to attacks like DNS Spoofing or DNS\ncache poisoning, allowing attackers to redirect user traffic to malicious sites.\n\nImpact\n------\n\nIf a malicious network attacker is able to spoof DNS, they can discreetly\nredirect the user to a website they control, without arousing the user's\nsuspicion. This malicious website could, for example, phish the user for\npersonally identifiable information, cause a denial of service for the user, or\nredirect the user to websites without notification.\n\nRisk: Vulnerable DNS Transport Security\n---------------------------------------\n\nCustom DNS configurations may allow apps to bypass Android's built-in transport\nsecurity for DNS in Android 9 and higher.\n\n### Mitigations\n\n#### Use the Android OS to handle DNS traffic\n\nAllow the Android OS to handle DNS. Since SDK level 28, Android has added\nsecurity to DNS transport through DNS over TLS, and then DNS over HTTP/3 in SDK\nlevel 30.\n\n#### Use SDK level \\\u003e=28\n\nUpdate SDK level to at least 28. It should be noted that this mitigation\nrequires communication with well-known and secure public DNS servers such as can\nbe found [here](https://dnsprivacy.org/public_resolvers/).\n\nResources\n---------\n\n- [Resolve DNS queries](/training/basics/network-ops/connecting#lookup-dns)\n- [Java reference for DnsResolver Class](/reference/android/net/DnsResolver)\n- [Android Security Blog post about DNS-over-HTTP/3](https://security.googleblog.com/2022/07/dns-over-http3-in-android.html)\n- [Overview of secure transport for DNS](https://developers.google.com/speed/public-dns/docs/secure-transports)\n- [Android Developer Blog post about DNS over TLS](https://android-developers.googleblog.com/2018/04/dns-over-tls-support-in-android-p.html)"]]