lunes, marzo 16, 2015

35.000 apps en Android con enlaces de LOGIN sin cifrar

Aprovechando que contamos con Tacyt, los debates internos sobre las cosas que se pueden encontrar son bastante altos, así que cada vez que alguno del equipo lee una noticia, se le ocurre alguna forma de sacar partido a esta base de datos que nos hemos montado acumulando apps y esta es la historia de uno de esos casos. Concretamente el caso se produjo después de que se publicara la noticia sobre que TyniChat for iOS hacía login de forma insegura y a un compañero se le ocurrió buscar más en nuestra plataforma para acabar con:

Figura 1: 35.000 apps en Android con enlaces de LOGIN sin cifrar

Dentro de los 10 riesgos de seguridad más comunes que se recogen en el proyecto OWASP Top Ten Mobile Risks se encuentra en la posición número 3 el de utilizar una capa de conexión contra el backend insegura. Es decir, que el envío de información sensible entre la app que utiliza el usuario y el servidor se haga por HTTP y no por HTTPS. Al margen quedan los fallos que puedan tener los certificados del lado del servidor, como que sean vulnerables a Poodle, HeartBleed, Beast o Crime, Freak, o similar ya que estamos hablando de conexiones que no utilizan ningún tipo de cifrado. 

Figura 2: OWASP Top Ten Mobile Risks

De vez en cuando salen análisis de apps, tanto en Android como en iOS, que marcan entre sus debilidades alguna conexión insegura, como cuando se hace un login, se hace el registro de los datos con algún proceso de singup o cuando se mantiene viva la sesión entre el cliente y el servidor permitiendo un hijacking de sesión. Esto está tipificado como un fallo de seguridad alto y debe ser atajado de raíz.

Figura 3: M3 - Insufficient Transport Layer Protection

Utilizando Tacyt (codename Path 5), es fácil encontrar apps que tengan esta debilidad. Basta con hacer una consulta que busque todos los enlaces que tengan un login en la URL y cuyo protocolo sea HTTP en lugar de HTTPs. En este ejemplo se puede ver como aparecen unas 40.000 apps en nuestra base de datos, de las cuales un porcentaje de las mimas ya no están en Google Play, ya que han sido retiradas.

Figura 4: Consulta en Tacyt sobre enlaces a login en HTTP

Solo con mirar login en la URL, y mirando las apps que salen, se puede ver cómo el número de apps que aún caen en esta práctica insegura es alto. Y como son enlaces server-side, se pueden comprobar fácilmente, haciendo una conexión contra él y ver qué devuelve.

Figura 5: Resultado de un login por HTTP 

Al final, si extendemos los patrones de búsqueda, y sacamos enlaces inseguros con palabras clave como singup, register, registro, alta, etcétera, la cantidad de apps inseguras que se pueden encontrar, vulnerables a robo de credenciales, fugas de información o ataques de man in the middle es altísimo, así que hay que tener mucho cuidado con en qué apps introduces tus datos desde qué redes.

Saludos Malignos!

2 comentarios:

  1. Muy bueno chema, gracias por la información, Saludos Mario Olivera

    ResponderEliminar
  2. Excelente artículo y da mucho que pensar...

    ResponderEliminar