Категория 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-серверами, например, которые можно найти здесь .
Ресурсы
- Разрешение DNS-запросов
- Справочник Java по классу DnsResolver
- Сообщение в блоге по безопасности Android о DNS-over-HTTP/3
- Обзор безопасного транспорта для DNS
- Сообщение в блоге разработчиков Android о DNS через TLS