Publicerad
SR12-116 Google - Android sårbar för DNS Poisoning
Förutsägbara slumptal gör det möjligt att skapa riggade DNS-svar.
Problembeskrivning
CVE-referens: CVE-2012-2808
För att generera ett unikt id (TXID) samt port i DNS-frågan använder Android aktuell tid plus process-id på följande sätt:
return (0xffff & (now.tv_sec \^ now.tv_usec \^ getpid()));
Då detta ger förutsägbara TXID-värden och portar kan ett riggat DNS-svar skapas. Angriparen skickar ett antal DNS-svar efter att en DNS-fråga har skickats. Om angriparens DNS-svar kommer före det riktiga svaret samt TXID-värdet stämmer överens används angriparens DNS-svar.
I Android 4.1.1 är säkerhetshålet åtgärdat genom att "/dev/urandom" används.
Roee Hay och Roi Saltzman (IBM Application Security Research Group) upptäckte sårbarheten.
Påverkade versioner
- Android 4.0.4 samt tidigare versioner (Ice Cream Sandwich är alltså sårbar men inte Jelly Bean)
Mer information och programrättningar
http://blog.watchfire.com/files/androiddnsweakprng.pdf
http://permalink.gmane.org/gmane.comp.security.full-disclosure/86683