Penyiapan DNS tidak aman
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Kategori OWASP: MASVS-NETWORK: Komunikasi Jaringan
Ringkasan
Konfigurasi DNS yang tidak aman dapat terjadi saat developer menyesuaikan perilaku transportasi DNS aplikasi, melewati default perangkat, atau saat pengguna menentukan server DNS pribadi di Android 9 dan yang lebih baru. Penyimpangan dari konfigurasi DNS yang baik dan diketahui dapat membuat pengguna rentan terhadap serangan seperti Spoofing DNS atau cache poisoning DNS, sehingga memungkinkan penyerang mengalihkan traffic pengguna ke situs berbahaya.
Dampak
Jika penyerang jaringan berbahaya dapat memalsukan DNS, mereka dapat secara diam-diam
mengarahkan pengguna ke situs yang mereka kendalikan, tanpa menimbulkan kecurigaan
pengguna. Situs berbahaya ini dapat, misalnya, melakukan phishing terhadap pengguna untuk mendapatkan informasi identitas pribadi, menyebabkan penolakan layanan bagi pengguna, atau mengalihkan pengguna ke situs tanpa pemberitahuan.
Risiko: Keamanan Transportasi DNS yang Rentan
Konfigurasi DNS kustom dapat memungkinkan aplikasi melewati keamanan transportasi bawaan Android untuk DNS di Android 9 dan yang lebih tinggi.
Mitigasi
Menggunakan OS Android untuk menangani traffic DNS
Izinkan OS Android menangani DNS. Sejak level SDK 28, Android telah menambahkan
keamanan pada transportasi DNS melalui DNS over TLS, lalu DNS over HTTP/3 di level SDK
30.
Gunakan level SDK >=28
Update level SDK ke minimal 28. Perlu diketahui bahwa mitigasi ini memerlukan komunikasi dengan server DNS publik yang aman dan terkenal seperti yang dapat ditemukan di sini.
Referensi
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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)"]]