Niezabezpieczona konfiguracja DNS
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Kategoria OWASP: MASVS-NETWORK: Network Communication
Omówienie
Niezabezpieczone konfiguracje DNS mogą wystąpić, gdy programiści dostosują sposób działania transportu DNS aplikacji, pominą ustawienia domyślne urządzenia lub gdy użytkownik określi prywatny serwer DNS w Androidzie 9 i nowszych wersjach. Odchylenia od znanych, prawidłowych konfiguracji DNS mogą narażać użytkowników na ataki, takie jak podszywanie się pod DNS czy zatruwanie pamięci podręcznej DNS, co pozwala atakującym przekierowywać ruch użytkowników do złośliwych witryn.
Wpływ
Jeśli złośliwy atakujący w sieci jest w stanie sfałszować DNS, może dyskretnie przekierować użytkownika do kontrolowanej przez siebie witryny, nie wzbudzając jego podejrzeń. Ta złośliwa witryna może na przykład wyłudzać od użytkownika informacje umożliwiające identyfikację, powodować atak typu DoS lub przekierowywać użytkownika do innych witryn bez powiadomienia.
Ryzyko: podatność zabezpieczeń transportu DNS
Niestandardowe konfiguracje DNS mogą umożliwiać aplikacjom omijanie wbudowanego w Androida zabezpieczenia transportu DNS w Androidzie 9 i nowszym.
Środki ograniczające ryzyko
Używanie systemu Android do obsługi ruchu DNS
Zezwól systemowi Android na obsługę DNS. Od poziomu SDK 28 Android zwiększył bezpieczeństwo transportu DNS dzięki DNS over TLS, a następnie DNS over HTTP/3 na poziomie SDK 30.
Użyj SDK na poziomie ≥ 28
Zaktualizuj poziom pakietu SDK do co najmniej 28. Należy pamiętać, że to rozwiązanie wymaga komunikacji ze znanymi i bezpiecznymi publicznymi serwerami DNS, takimi jak te, które można znaleźć tutaj.
Materiały
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-27 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)"]]