• Saltar al contenido principal
  • Saltar a la barra lateral principal
  • Saltar al pie de página

Una Al Día

Boletín de noticias de Seguridad Informática ofrecido por Hispasec

Usted está aquí: Inicio / General / Un fallo en la verificación de firmas de Android permite modificar las aplicaciones certificadas

Un fallo en la verificación de firmas de Android permite modificar las aplicaciones certificadas

8 julio, 2013 Por Hispasec 2 comentarios

Bluebox, una empresa orientada a la seguridad en dispositivos móviles, anunció recientemente una vulnerabilidad que afectaría a casi la totalidad de dispositivos Android.
Sin detalles técnicos, Jeff Forristal CTO de Bluebox, indicó en un post en el blog de la empresa que están trabajando junto con Google desde el pasado mes de febrero para solucionar el fallo. Según Forrestal, han encontrado un error en el modelo de seguridad de Android que posibilita la modificación de un APK firmado sin que la firma electrónica se rompa.
El fallo podría hallarse desde el primer sistema Android, 1.6 ‘Donut’ publicado hace casi 4 años, hasta el más reciente.
Android requiere que todas las aplicaciones estén firmadas digitalmente. Esto es, cada desarrollador ha de tener una clave privada, generada por el mismo, con la cual firma la aplicación que ha creado. Esta firma nos permite saber dos cosas: Quien es el creador de la aplicación y si la aplicación ha sido manipulada.
Cualquiera puede crear un certificado y firmar una aplicación. El uso de certificados autogenerados es algo que está extendido como práctica habitual en el mundo Android. El problema reside en la confianza. Si no conoces al desarrollador y no confías en el puedes optar a no instalar su aplicación. ¿Pero que ocurriría si la aplicación que estas a punto de instalar viene de una firma reconocida, digamos el propio fabricante del teléfono?
Idealmente, la firma digital del paquete sería invalidada si intentáramos modificar el paquete original. Es decir, si abrimos el paquete, modificamos su código e intentamos construir un APK nuevo, la firma ya no debería ser la misma. El fallo que Bluebox ha anunciado permitiría exactamente eso: Modificar un APK original de un fabricante reconocido y volver a generar un paquete con firma idéntica, con lo cual estaríamos viendo un paquete “original” con contenido manipulado. Sobra decir que contenido manipulado es equivalente a malware de cualquier tipo, desde el robo de información personal hasta el envío de SMS Premium o funcionalidad espía.
Android usa la herramienta ‘keytool‘ del SDK de Java (Oracle) para generar certificados y firmar nuestros APK, por lo que cabe suponer que la vulnerabilidad no se encuentra ahí, ya que esto supondría que las aplicaciones Java firmadas por esta misma herramienta serían susceptibles al mismo error, quedando expuestas de la misma forma.
En principio, ‘keytool‘ usa tu llave privada para firmar cada uno de los archivos del APK. Esto es, no se firma el APK en su conjunto.
Esto es un extracto de lo que vemos cuando usamos la herramienta ‘jarsigner‘, también del SDK de Java, para comprobar que todos los archivos que contiene el APK están firmados correctamente (jarsigner –verify –verbose archivo.apk):
sm      1992 Sat Jun 29 15:24:04 CEST 2013 res/layout-xlarge/abs__screen_action_bar_overlay.xml
sm    3983868 Sat Jun 29 15:23:54 CEST 2013 classes.dex
sm    181756 Sat Jun 29 15:24:04 CEST 2013 com/paypal/android/utils/data/data.bin
sm    762221 Sat Jun 29 15:24:04 CEST 2013 com/paypal/android/utils/data/locale.bin
           9 Fri Jul 05 14:05:32 CEST 2013 trojan
Hemos descomprimido el APK e insertado un simple archivo (el contenido es lo de menos). Podemos observar que el archivo insertado no tiene la cadena «sm» puesto que la verificación ha fallado. La ‘s‘ significa que la firma ha sido verificada y ‘m‘ que el archivo en cuestión se encuentra dentro del manifiesto.
Si intentamos instalar la aplicación el proceso se detendrá:
adb install aplicacion.apk
5168 KB/s (10915733 bytes in 2.062s)
            pkg: /data/local/tmp/aplicacion.apk
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
 Si quitamos el archivo intruso y probamos de nuevo:
adb install aplicacion.apk
5149 KB/s (10924028 bytes in 2.071s)
            pkg: /data/local/tmp/aplicacion.apk
Success
Resulta intrigante, si el fallo no reside en el proceso de firmado con ‘jarsigner‘, comprender donde se encuentra el error, ya que si introducimos un archivo nuevo este no estará firmado y si modificamos uno ya existente el sistema lo indicara con el mismo mensaje.
Forristal habla de “discrepancias en como Android criptográficamente verifica e instala las aplicaciones, permitiendo modificar código del APK sin romper la firma criptográfica”. Curioso también el paso dado por Google hace unos meses: Eliminó de Play aquellas aplicaciones que se actualizaban a través de otros canales que no fueran su tienda.
Tendremos que esperar hasta la próxima conferencia «BlackHat» en Estados Unidos para que en una de las charlas previstas, Bluebox nos muestre como saltar la comprobación de firma de Android.
Ahora la cuestión será saber cuanto tardarán los fabricantes en adoptar el parche en el que está trabajando Google. Tradicionalmente, los fabricantes, suelen tardar meses en liberar una actualización de su firmware para el teléfono. Meses que podrían convertirse en una ventana de exposición considerable para los usuarios e incluso eterna para aquellos sistemas que han dejado de ser soportados.
Más información:
Uncovering android master key that makes 99% of devices vulnerable
http://bluebox.com/corporate-blog/bluebox-uncovers-android-master-key/
David García
dgarcia@hispasec.com

Twitter: @dgn1729

Acerca de Hispasec

Hispasec Ha escrito 7093 publicaciones.

  • View all posts by Hispasec →
  • Blog

Compártelo:

  • Haz clic para compartir en X (Se abre en una ventana nueva) X
  • Haz clic para compartir en Facebook (Se abre en una ventana nueva) Facebook
  • Haz clic para compartir en LinkedIn (Se abre en una ventana nueva) LinkedIn
  • Haz clic para compartir en Reddit (Se abre en una ventana nueva) Reddit
  • Haz clic para compartir en Telegram (Se abre en una ventana nueva) Telegram
  • Haz clic para compartir en WhatsApp (Se abre en una ventana nueva) WhatsApp

Publicaciones relacionadas

Publicado en: General

Interacciones con los lectores

Comentarios

  1. gorlok dice

    8 julio, 2013 a las 1:35 pm

    En principio, el riesgo real me parece ínfimo, porque para reemplazar una aplicación por otra modificada, habría que ver si se puede interceptar una actualización del Google Play, tal vez con un ataque MITM. Igualmente la info es escasa aún, y hay que ver los detalles importantes que aún no fueron difundidos.

    Responder
  2. Anónimo dice

    10 julio, 2013 a las 12:33 pm

    Ya esta solucionado http://www.zdnet.com/google-releases-fix-to-oems-for-blue-security-android-security-hole-7000017782/

    Responder

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Buscar

Síguenos

25 años Una Al Día

https://www.youtube.com/watch?v=Kb-PFqasD4I

Populares de UAD

  • De usuario local a SYSTEM: la cadena de explotación que afecta a RasMan
  • Google parchea una nueva 0-day crítica en Chrome en plena campaña de explotación
  • React corrige nuevos fallos en RSC que provocan DoS y exponen código fuente
  • GeminiJack: vulnerabilidad en Google Gemini y Vertex AI permite robo de datos sin interacción
  • Aisuru: el botnet DDoS que convierte los IoT de EE.UU. en auténticas armas

Entradas recientes

  • De usuario local a SYSTEM: la cadena de explotación que afecta a RasMan
  • FreePBX corrige vulnerabilidades críticas que permiten el bypass de autenticación y la ejecución remota de código
  • React corrige nuevos fallos en RSC que provocan DoS y exponen código fuente
  • Google parchea una nueva 0-day crítica en Chrome en plena campaña de explotación
  • GeminiJack: vulnerabilidad en Google Gemini y Vertex AI permite robo de datos sin interacción
  • Explotación Activa de RCE Crítica en Plugin de WordPress (CVE-2025-6389)
  • VirusTotal y Google Threat Intelligence estrenan búsquedas guardadas para facilitar la colaboración en ciberseguridad
  • Correo electrónico
  • Facebook
  • LinkedIn
  • RSS
  • Twitter

Footer

UAD

UAD nació a raíz de un inocente comentario en un canal IRC hace 24 años. A través de los archivos, un lector curioso puede ver cómo ha cambiado (o no) la seguridad de la información desde entonces.

Aviso Legal

  • Aviso Legal
  • Términos y Condiciones
  • Política de Privacidad
  • Política de Cookies

Copyright © 2025 · Hispasec Sistemas, S.L. Todos los derechos reservados

Este sitio web utiliza cookies propias y de terceros para fines analíticos y para mostrarte publicidad (tanto general como personalizada) relacionada con tus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación (por ejemplo, páginas visitadas), para optimizar la web y para poder valorar las opiniones de los servicios consultados por los usuarios. Para administrar o deshabilitar estas cookies haz clic en: Configurar Cookies


Rechazar todo Aceptar Todo
Configurar Cookies

Resumen de privacidad

Este sitio web utiliza cookies para mejorar su experiencia mientras navega por el sitio web. De estas, las cookies que se clasifican como necesarias se almacenan en su navegador, ya que son esenciales para el funcionamiento de las funcionalidades básicas del sitio web. También utilizamos cookies de terceros que nos ayudan a analizar y comprender cómo utiliza este sitio web. Estas cookies se almacenarán en su navegador solo con su consentimiento. También tiene la opción de optar por no recibir estas cookies. Pero la exclusión voluntaria de algunas de estas cookies puede afectar su experiencia de navegación.
Necesaria
Siempre activado
Las cookies necesarias son absolutamente esenciales para que el sitio web funcione correctamente. Estas cookies garantizan funcionalidades básicas y características de seguridad del sitio web, de forma anónima.
CookieDuraciónDescripción
cookielawinfo-checkbox-analytics11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Análisis".
cookielawinfo-checkbox-functional11 monthsLa cookie está configurada por el consentimiento de cookies de GDPR para registrar el consentimiento del usuario para las cookies en la categoría "Funcional".
cookielawinfo-checkbox-necessary11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. Las cookies se utilizan para almacenar el consentimiento del usuario para las cookies en la categoría "Necesario".
cookielawinfo-checkbox-others11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Otro.
cookielawinfo-checkbox-performance11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Rendimiento".
viewed_cookie_policy11 monthsLa cookie está configurada por el complemento de consentimiento de cookies de GDPR y se utiliza para almacenar si el usuario ha dado su consentimiento o no para el uso de cookies. No almacena ningún dato personal.
Analítica
Las cookies analíticas se utilizan para comprender cómo interactúan los visitantes con el sitio web. Estas cookies ayudan a proporcionar información sobre métricas, el número de visitantes, la tasa de rebote, la fuente de tráfico, etc.
GUARDAR Y ACEPTAR