OWASP-Kategorie:MASVS-NETWORK: Network Communication
Übersicht
Unsichere DNS-Konfigurationen können auftreten, wenn Entwickler das DNS-Transportverhalten einer Anwendung anpassen, Gerätestandards umgehen oder wenn ein Nutzer in Android 9 und höher einen privaten DNS-Server angibt. Abweichungen von bekannten guten DNS-Konfigurationen können Nutzer anfällig für Angriffe wie DNS-Spoofing oder DNS-Cache-Poisoning machen. Dadurch können Angreifer den Nutzer-Traffic auf schädliche Websites umleiten.
Positiv beeinflussen
Wenn ein böswilliger Netzwerkangreifer DNS-Spoofing durchführen kann, kann er den Nutzer unauffällig auf eine von ihm kontrollierte Website umleiten, ohne dass der Nutzer Verdacht schöpft. Auf dieser schädlichen Website könnten beispielsweise personenidentifizierbare Informationen des Nutzers abgefangen, ein Denial-of-Service für den Nutzer verursacht oder der Nutzer ohne Benachrichtigung auf andere Websites weitergeleitet werden.
Risiko: Anfällige DNS-Transportsicherheit
Benutzerdefinierte DNS-Konfigurationen können es Apps ermöglichen, die integrierte Transportsicherheit für DNS in Android 9 und höher zu umgehen.
Maßnahmen zur Risikominderung
DNS-Traffic über das Android-Betriebssystem verarbeiten
Android-Betriebssystem darf DNS verarbeiten. Seit SDK-Level 28 hat Android die Sicherheit des DNS-Transports durch DNS over TLS und dann durch DNS over HTTP/3 in SDK-Level 30 erhöht.
SDK-Level >=28 verwenden
Aktualisieren Sie das SDK-Level auf mindestens 28. Für diese Maßnahme ist eine Kommunikation mit bekannten und sicheren öffentlichen DNS-Servern erforderlich, die hier zu finden sind.
Ressourcen
- DNS-Abfragen auflösen
- Java-Referenz für die DnsResolver-Klasse
- Android Security-Blogpost zu DNS-over-HTTP/3
- Übersicht zu sicherem Transport für DNS
- Blogpost für Android-Entwickler zu DNS over TLS