Un fallo de diseño de Android podría permitir la instalación de cualquier aplicación sin necesidad de que el usuario de permisos especiales durante su instalación.
El problema, descubierto por la firma BlueBox Security, recibe el nombre de "Fake ID" debido a que permite al malware pasar credenciales falsas a Android, que falla al verificar cadenas de certificados de claves públicas de la firma criptográfica de la aplicación. En su lugar, Android otorga a la aplicación maliciosa todos los permisos de acceso de cualquier aplicación legítima.
Las aplicaciones Android deben estar firmadas para poder ser instaladas en el sistema, pero el certificado digital empleado para firmar no necesita estar emitido por una autoridad certificadora. Según la propia documentación de Android "es perfectamente admisible, y típico, que las aplicaciones Android usen certificados autofirmados".
Sin embargo, Android incluye incrustados en su código los certificados de diversos desarrolladores, para que las aplicaciones de estos desarrolladores tengan accesos y permisos especiales dentro del sistema operativo. Uno de estos certificados pertenece a Adobe, y permite a las aplicaciones firmadas o los certificados emitidos por ella inyectar código en otras aplicaciones Android. Este comportamiento puede deberse a que de esta forma se puede permitir a otras aplicaciones hacer uso del plug-in de Flash Player.
Sin embargo, un fallo en el proceso de validación de la cadena de certificados podría permitir a un atacante firmar una aplicación maliciosa con un certificado que parezca estar firmado por el certificado de Adobe incrustado, aunque no sea así. Siempre que el certificado de Adobe esté presente en la cadena de certificados de la aplicación, el sistema podrá tomar código de la aplicación e inyectarlo en otras aplicaciones instaladas. El código inyectado pasará a ser parte de las aplicaciones receptoras, heredando sus permisos, y con el mismo acceso a todos los datos de dichas aplicaciones.
El ataque afecta a las versiones de Android anteriores a la 4.4 (KitKat) y solo puede ser empleado sobre aplicaciones que usen el componente WebView, que se emplea para mostrar contenido web con el motor del navegador de Android.
BlueBox ha confirmado que notificó el problema a Google hace tres meses, y que se presentarán todos los detalles en una conferencia en la BlackHat USA 2014.
Google por otra parte ha confirmado que ya ha tomado medidas. Hace ya tiempo que dentro de Play Services se añadieron características y APIs que no requieren una actualización del firmware, por lo que para Google es un buen punto para evitar vulnerabilidades de este tipo. También se añadió la característica "Verificar aplicaciones" a Google Play Services como forma de escanear la aplicación antes de ser instalada. Google ha actualizado esta característica para comprobar que las aplicaciones no hacen uso de "Fake ID".
Más información:
Signing Your Applications
Android Fake ID Vulnerability Lets Malware Impersonate Trusted Applications, Puts All Android Users Since January 2010 At Riskhttp://bluebox.com/blog/
'Fake ID' and Android security [Updated]http://www.androidcentral.com/
No hay comentarios:
Publicar un comentario