Categoria OWASP: MASVS-NETWORK: Network Communication
Panoramica
Le configurazioni DNS non sicure possono verificarsi quando gli sviluppatori personalizzano il comportamento di trasporto DNS di un'applicazione, ignorano le impostazioni predefinite del dispositivo o quando un utente specifica un server DNS privato in Android 9 e versioni successive. La deviazione dalle configurazioni DNS valide note può rendere gli utenti vulnerabili ad attacchi come DNS spoofing o DNS cache poisoning, consentendo agli autori degli attacchi di reindirizzare il traffico degli utenti a siti dannosi.
Impatto
Se un malintenzionato è in grado di falsificare il DNS, può reindirizzare l'utente a un sito web che controlla, senza destare i suoi sospetti. Questo sito web dannoso potrebbe, ad esempio, fare phishing all'utente per ottenere informazioni che consentono l'identificazione personale, causare un denial of service per l'utente o reindirizzare l'utente a siti web senza notifica.
Rischio: sicurezza del trasporto DNS vulnerabile
Le configurazioni DNS personalizzate potrebbero consentire alle app di bypassare la sicurezza del trasporto integrata di Android per il DNS in Android 9 e versioni successive.
Mitigazioni
Utilizzare il sistema operativo Android per gestire il traffico DNS
Consenti al sistema operativo Android di gestire il DNS. A partire dal livello SDK 28, Android ha aggiunto la sicurezza al trasporto DNS tramite DNS over TLS e poi DNS over HTTP/3 nel livello SDK 30.
Utilizza il livello SDK >=28
Aggiorna il livello SDK almeno a 28. È importante notare che questa mitigazione richiede la comunicazione con server DNS pubblici noti e sicuri, come quelli che si possono trovare qui.
Risorse
- Risolvere le query DNS
- Riferimento Java per la classe DnsResolver
- Post del blog di Android Security su DNS over HTTP/3
- Panoramica del trasporto sicuro per il DNS
- Post del blog per sviluppatori Android su DNS su TLS