OASAM-UIR-002: Activity Hijacking

Descripción
Aprovechando esta vulnerabilidad, una Activity maliciosa es ejecutada en lugar de la esperada, de esta manera el usuario interpreta que está en una aplicación cuando realmente no lo está. Esto sucede cuando la carga de una Activity depende de un Intent implícito. El atacante registra un Intent Filter más preciso y toma el control. No siempre es posible, ya que si múltiples Activities son capaces de manejar un Intent implícito, aparecerá al usuario un mensaje dándole a elegir la aplicación. No obstante, es muy peligroso, porque si en algún momento esto es posible y el usuario marca como acción predeterminada la carga de la aplicación maliciosa, siempre abrirá la Activity maliciosa sin preguntarle.


Riesgos
La presencia de esta vulnerabilidad permite la ejecución de ataques de phishing, al igual que la fuga de información que maneje el usuario en la Activity implicada. Adicionalmente, esta vulnerabilidad le permite al atacante alterar los datos, por lo que pone en riesgo la integridad de los mismos.


Recomendaciones
Se recomienda evaluar la necesidad de enviar Intents implícitos. Para comunicar Intents dentro de una aplicación, es siempre recomendable el uso de Intent explícitos. Si es necesario enviar datos sensibles dentro de un Intent, se recomienda protegerlos mediante el establecimiento de permisos y el uso de cifrado para dichos datos


Referencias
1. Flaw 3.1.2 de “Analyzing Inter-Application Communication in Android”