Este interesante artículo en Hacker Noon deja al descubierto cómo muchas aplicaciones están dejando al descubierto los secretos de otros servicios, entendiéndose como "secretos" la definición más técnica y menos misteriosa de la palabra: una especie de contraseña mediante la cual la aplicación se comunica con otros servicios.
Aunque su propio nombre así lo indica, las API Secrets, Shared Secrets y similares no se están manteniendo realmente secretos, sino que muchos desarrolladores los están añadiendo en las líneas de código de sus aplicaciones, creyendo que nadie se tomará el tiempo o la molestia de encontrarlos. Se equivocan, tal y como han descubierto en Fallible.co tras analizar nada menos que 16.000 APK.
Ingeniería inversa + APK = contraseñas
Quizá al usuario de a pie le importe bien poco si las aplicaciones dejan al descubierto las contraseñas secretas de algunos servicios, pero lo cierto es que no hace falta ser ningún hacker para indagar en un APK y obtener la información. De hecho, todo lo que hace falta es usar una aplicación online como este extractor de Fallible.co para lograrlo en unos segundos.
En este buscador de secretos lo único que tienes que hacer es subir un APK o buscar una aplicación en Google Play para hacerle ingeniería inversa al código, destriparlo y rebuscar automáticamente en su contenido en busca de jugosos secretos.
Según los hallazgos de Fallible.co, de las 16.000 APK analizadas, aproximadamente unas 2.500 contenían algún tipo de clave de un servicio de terceros (aproximadamente un 15%) y, si bien algunas de estas claves no tienen una mayor importancia, por lo menos 304 de ellas contenían secretos que en ningún caso deberían haber sido compartidos.
¿En qué te influye esto?
Probablemente a estas alturas, tras hablar de tantos secretos, te estés preguntando en qué te afecta que algunos desarrolladores sean algo descuidados a la hora de programar sus aplicaciones. Lo irónico del asunto es que al dejar estas contraseñas al descubierto, la llave para la puerta que dejan abierta no es la de su casa, es decir su aplicación, sino la de otros servicios. Concretamente, esta es la tabla con los servicios cuyas claves de acceso han sido más veces filtrada en los distintos APK analizados.
La repercusión de que estas claves estén al descubierto depende de lo que se puede lograr con esa API y del grado de dedicación de quien quiera aprovechar esta información, pero en Fallible.co mencionan como ejemplo que la API de Uber posibilitaría el envío de notificaciones dentro de la aplicación de Uber.
Por supuesto, es muy probable que, si alguien aprovecha alguna de estas llaves para "hacer el mal" con la protección de estar usando el acceso de otra persona, el servicio elimine la cuenta, pero eso no quita que la idea de incluir contraseñas y otra información confidencial en el código fuente de una aplicación, bajo la falsa sensación de que nadie lo leerá, sea una terrible idea.
Otro ejemplo mencionado en el informe son las claves de Amazon AWS, los servicios en la nube en los que se basan infinidad de aplicaciones. Con una clave con suficientes privilegios sería posible borrar por completo la instancia.
En resumen, ¿qué puedes aprender de todo esto? Primero, que hay varios desarrolladores que se preocupan poco por mantener secreto lo que debería serlo. Segundo, que si tienes una tarde aburrida, te la puedes pasar buscando aplicaciones en este buscador de seguridad en busca de secretos cual cazador de tesoros. Seguramente no te sirvan para gran cosa, pero por el camino aprenderás un montón sobre programación y credenciales en la comunicación con otros servicios mediante API.
Vía | Hackernoon
En Xataka Android | La importancia de las actualizaciones de Android para nuestra seguridad
Ver todos los comentarios en https://www.xatakandroid.com
VER 1 Comentario