jueves, septiembre 07, 2017

La app que se volverá maliciosa: Android Apps y los "Permisos declarados nunca utilizados"

El año pasado, en le Security Innovation Day 2016 de Madrid, hablamos por primera vez de Codename: Path 6, la herramienta que habíamos creado para monitorizar las vulnerabilidades en las apps de sistemas iOS y Android de manera continua. El producto continúo creciendo y se acabó convirtiendo en lo que hoy denominamos como mASAPP.

Figura 1: La app que se volverá maliciosa

La idea de funcionamiento es muy sencilla. Se trata de que una organización pueda monitorizar cómo evolucionan las vulnerabilidades de las apps en las que está interesada la empresa a lo largo del tiempo, para descubrir cuando el riesgo de una de estas apps no es aceptable. 


Figura 2: Presentación de Codename: Path6

Una organización puede estar interesada en conocer la seguridad a lo largo del tiempo - de manera persistente - de una app por varios motivos:
1.- Para conocer si las apps que se han publicado con el nombre de la empresa tienen vulnerabilidaes no aceptables y hay que retirarlas y/o actualizarlas. 
2.- Para conocer si las apps que se tienen aprobadas en un MDM no tienen vulnerabililidades lo suficientemente peligrosas como para prohibir su uso dentro de la organización. 
3.- Para que una organización pueda monitorizar la seguridad de apps de terceros que utilizan su marca. 
4.- Para que una empresa que desarrolla apps para terceras empresas, pueda saber si las apps de sus clientes están dentro de un riesgo aceptable.
Para ello, lo que hace el equipo de investigadores de ElevenPaths es mantener una base de datos de vulnerabilidades y debilidades en aplicaciones web que se actualiza constantemente. Así, las apps móviles que están dentro del Big Data de mASAPP son analizadas cada vez que hay una actualización de versión en la app, o cada vez que es actualizada la Knowlege Base. Esto lleva a que el trabajo de monitorizar las apps de tu empresa, o las apps aprobadas en tu MDM sea tan sencillo como seleccionarlas en mASAPP y listo.


Figura 3: Demo de funcionamiento de mASAPP

Entre la lista de vulnerabilidades de la Knowledge Base que se buscan, hay una concreta que yo he localizado en alguna de las apps. Se trata de los "Permisos declarados nunca utilizados", y tienen un riesgo para la seguridad de una organización, que merece la pena tener en cuenta.

La app que se volverá maliciosa... en el futuro

Imaginemos un escenario donde una app con ninguna vulnerabilidad es aprobada por el administrador del sistema MDM (Mobile Device Management). Esta app tienen permisos declarados no utilizados en ella que le permitirían hacer muchas más cosas de las que actualmente está realizando la app

Figura 4: Vulnerabilidades en una app detectadas por mASAPP

Mañana esta app es vendida en un market de aplicaciones, como en SelltheApps con el certificado digital para poder firmar actualizaciones de la misma. Al no haber cambio de permisos, la actualización de la app sería automática en los dispositivos Android que así lo tengan configurado.

Figura 5: Apps en venta en SelltheApps

Esto conlleva a que una app que hoy en día no utiliza permisos pueda convertirse en una app con mucha más potencialidad en el futuro, y alguien que compre dicha app podrá hacer una actualización automática de la misma hacia una Gremlin App que robe datos, extraiga mucha más información o similares.

Figura 6: Permisos no utilizados pero declarados detectados en una app con mASAPP

Normalmente estos permisos declarados no utilizados pueden provenir del uso de SDKs de terceros dentro de la app que por defecto, para el uso de todas sus funciones, solicitan una lista completa de permisos. Después, el desarrollador de la app decide utilizar menos. Sin embargo, también puede significar un desarrollador de apps que está buscando una venta de la misma en el futuro al mejor postor, y como sabe que cuantos más permisos tenga, más vale, está decidiendo pedirlos ya por delante.

Es por eso que nosotros en mASAPP, entre la gran cantidad de vulnerabilidades que buscamos, hacemos las dos comprobaciones importantes para este caso con todas las apps:
1.- Saber si la app solicita permisos que no utiliza. 
2.- Saber si la app está en venta en algún sitio de venta de aplicaciones comercial... o "underground".
Así, los administradores pueden tomar decisiones más informadas sobre qué apps deben aprobar y cuáles no, en la lista de apps del MDM.

Saludos Malignos!

1 comentario:

yolanda garcia dijo...

Un artículo muy interesante. Gracias

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares