Simón Roses Femerling, CEO de VULNEX
El abaratamiento de los smartphones, potentes ordenadores de bolsillo permanentemente conectados a Internet, ha disparado el consumo de apps entre los usuarios. IDC predice que en 2015 se venderán 982 millones de estos dispositivos, y Morgan Stanley estima que en 2012 se venderán más smartphones que PCs en todo el mundo.
Con este gran mercado potencial miles de desarrolladores, desde programadores en solitario hasta conocidas casas de desarrollo se han lanzado a la publicación de apps. Por ejemplo, en Google Play (antiguamente Google Market) se lanzaron de media 701 apps cada día durante todo 2011 sólo en Reino Unido.
Desarrollar y publicar apps en cualquiera de las tres plataformas líderes (iPhone, Android y Windows Phone 7) es muy sencillo y rápido, y por ello los programadores se enfocan en lanzar nuevas apps o actualizaciones de forma constante. Medios especializados hablan de que la Web ha muerto, y que hoy únicamente importa tener una buena app.
Por desgracia en esta frenética actividad se tiende a sacrificar seguridad y privacidad: demasiadas de estas apps con millones de usuarios son inseguras, llegando a comprometer la seguridad del dispositivo y los datos del usuario.
Desde VULNEX, empresa española especializada en ciber seguridad, hemos analizado más de 100 top apps de iPhone y Android con el objetivo de determinar su nivel de seguridad. Los resultados se resumen en este artículo, aunque el lector podrá encontrar más información sobre la investigación en la web de VULNEX.
Mapa de vulnerabilidades en apps
En el estudio se identificaron diversas clases de vulnerabilidades, algunas clasificadas como graves, por ejemplo, contraseñas en texto claro o canales inseguros.
Muchas de estas vulnerabilidades son ampliamente conocidas en las aplicaciones Web con mucha literatura sobre cómo mitigar la vulnerabilidad, por lo que no se entiende que se vuelvan a cometer los mismos errores en apps para smartphones.
En la siguiente figura se expone un mapa de las clases de vulnerabilidades identificadas en Apps. A pesar que el título hace referencia a Android, también aplica a iPhone.
Algunas de estas vulnerabilidades son graves si tenemos en cuenta que entre las apps analizadas se encuentran banca online, seguridad y comunicaciones. Los smartphones almacenan gran cantidad de información sensible e identificable de un usuario que un atacante podría conseguir. Es mayor la preocupación cuando pensamos que smartphones y tabletas se están introduciendo rápidamente en el entorno corporativo y podrían ser utilizados como vector de ataque comprometiendo la seguridad de la organización.
En el análisis hemos encontrado vulnerabilidades ampliamente conocidas, como contraseñas sin codificar, envío de información en texto claro sin ningún tipo de protección, Cross-Site Scripting (XSS) e Inyección de SQL.
Otras vulnerabilidades hacen referencia a la capacidad que tienen las apps de recoger información del dispositivo -como lista de contactos, bookmarks, información de sistema operativo y hardware, etc- y enviarla a un servidor remoto. Llama la atención la integración de redes sociales en apps de banca online.
Es recomendable que los desarrolladores no abusen de la solicitud de permisos para su app, ya que podría provocar que los usuarios acepten sin revisar si los permisos son apropiados para la aplicación en cuestión. Esto es importante, ya que algunos permisos tienen un impacto económico.
En la imagen anterior temos una app de seguridad, CVE-2011-1840, que cifraba la contraseña maestra en texto claro y la almacenaba en un fichero XML de configuración. El desarrollador no protegió adecuadamente la contraseña porque confiaba en la seguridad de la plataforma, grave error. Un atacante o malware podría acceder a la contraseña almacenada en el dispositivo.
Otro ejemplo de vulnerabilidad es la capacidad de inyectar código malicioso mediante un ataque de MITM y que se ejecute en la app. En la imagen de abajo se puede ver una demostración de una conocida app con millones de usuarios víctima de un ataque de Cross-Site Scripting (XSS).
Muchos usuarios utilizan sus dispositivos en lugares públicos como cafés, hoteles y aeropuertos y por eso este tipo de ataques pueden ser muy peligrosos.
El último ejemplo (ver Fig. 5) es una conocida app para reproducir vídeos que tiene servidores web, Samba y FTP incluidos para subir ficheros directamente al dispositivo. Por desgracia la aplicación no hace una correcta validación de datos y un atacante puede enviar una sentencia maliciosa provocando un error en la app.
Este tipo de errores pueden comprometer de forma muy grave la seguridad del dispositivo, permitiendo a un atacante ejecutar código malicioso, lo que combinado con otras clases de vulnerabilidades a nivel de plataforma podría ser devastador.
Conclusiones
A lo largo de este artículo hemos expuesto algunas clases de vulnerabilidades que afectan a Apps con millones de usuarios, lo que supone un asunto muy serio sobre seguridad y privacidad de las Apps. Las Apps son un mercado imparable y por ello deberían seguir un ciclo de desarrollo seguro.
Afortunadamente existen recursos como OWASP Mobile Project, así como las webs de los respectivos fabricantes con información para desarrollar apps de forma segura.
Noticias relacionadas
-
¿España?: El país de nadie es profeta en su tierra.
-
¿Será 2019 un buen año para vender tu empresa?
-
Por qué la experiencia del cliente se ha convertido en una prioridad para los CIOs