jueves, 13 de agosto de 2015

El señor de las clases

Una clase para gobernar a todos los Android. Una clase para encontrarlos, una clase para atraerlos a todos y atarlos en las tinieblas.

Después de las dos vulnerabilidades importantes anunciadas en los últimos días, se confirma otra nueva vulnerabilidad en los dispositivos Android. Or Peles (@peles_o) y Roee Hay (@roeehay) del equipo de seguridad X-Force de IBM han publicado los detalles en un documento titulado "Una clase para gobernarlos a todos" ya que solo encontraron una clase con una vulnerabilidad de serialización en la plataforma Android, la 'OpenSSLX509Certificate', pero fue suficiente para tomar el control del dispositivo.

El equipo aprovechó el problema para reemplazar una aplicación existente en el dispositivo atacado por otra con todos los privilegios. De esta forma podría permitir robar datos, evitar la política SElinux, o ejecutar código arbitrario.

Se le ha asignado el CVE-2015-3825, según el informe de IBM el problema afecta a Android 4.3 a 5.1 (Jelly Bean, KitKat y Lollipop), incluyendo también a la primera preview de la próxima versión de Android M. Según IBM esto se cifra en un 55% de los dispositivos Android.

Mi tessssoro

En un vídeo muestran una prueba de concepto del ataque, de forma que una vez que el malware se ejecuta, reemplaza la aplicación real por otra falsa, permitiendo al atacante obtener datos de la aplicación o crear el ataque de phishing perfecto. En este caso el vídeo muestra como la aplicación de Facebook real se reemplaza por una falsa llamada Fakebook. 

                                                 https://youtu.be/VekzwVdwqIY

El equipo de IBM partía de la idea de que si encontraban una clase serializable, que en su método 'finalize' liberara algún objeto nativo cuyo puntero estuviera controlado podrían conseguir ejecutar código en el contexto de la aplicación o servicio. Su investigación se centró en encontrar clases vulnerables en el framework Android y en SDKs de terceras partes.

Tras analizar las 13.321 clases disponibles en el framework de un Android 5.1.1 Nexus 5 solo la clase 'OpenSSLX509Certificate' cumplía todos los requisitos para llevar a cabo el ataque de forma exitosa.

Y también en SDKs

Después de buscar en el framework de Android, pasaron a analizar 32.701 aplicaciones Android populares de los desarrolladores más conocidos para buscar otras clases que pudieran ser vulnerables. Encontraron un total de 358 clases en 176 APKs que cumplían su criterio (serializable con un método 'finalize' y un campo controlable por el atacante). Finalmente enumeran 6 SDKs vulnerables:

  •  Jumio (CVE-2015-2000)
  •  MetaIO (CVE-2015-2001)
  •  PJSIP PJSUA2 (CVE-2015-2003)
  •  GraceNote GNSDK (CVE-2015-2004)
  •  MyScript (CVE-2015-2020)
  •  esri ArcGis (CVE-2015-2002)

Los investigadores de IBM comunicaron los problemas a Google y a los desarrolladores de los SDKs afectados.

Google ha publicado parches para Android 5.1 y 5.0 y ha portado el parche a Android 4.4. La actualización también está disponible en Android M. Esperemos que les llegue pronto a los usuarios. Igualmente los desarrolladores de SDKs también han publicado parches para los problemas.

Desde los abismos llegó su último lamento ¡Tesoro! Y desapareció para siempre.

Más información:

One Class to Rule Them All: New Android Serialization Vulnerability Gives Underprivileged Apps Super Status

One class to rule them all
0-Day desiariliazation vulnerabilities in Android

una-al-dia (28/07/2015) Drake y el codiciado tesoro del androide

una-al-dia (30/07/2015) Android, no se vayan todavía que aun hay más

una-al-dia (07/08/2015) Samsung y Google publicarán actualizaciones mensuales para sus dispositivos  Android


Antonio Ropero
Twitter: @aropero

1 comentario:

  1. Cada vez es más inseguro estar haciendo transacciones de manera electronica. ¿Uds creen que sirvan de algo las aplicaciones que se dedican a revisar si una app de GooglePlay es segura? Saludos.

    ResponderEliminar