A
principios de julio de este año, publicamos
en Una-al-día una noticia en la que hablábamos de un fallo en la
verificación de firmas de Android que permitía evitar la comprobación de firma.
BlueBox, la empresa que descubrió
el fallo, anunció que daría detalles en la BlackHat 2013. Pero poco después del comunicado
la comunidad se interesó por el asunto y prácticamente le quitaron el caramelo
de las manos publicando pruebas de concepto en las cuales se demostraba la manera
de aprovechar el fallo, llamado "Master
Key"; debido a que gracias a él permite, incluir código arbitrario en cualquier APK firmado por un desarrollador
sin alterar la firma.
Días después, el grupo chino "Android Security Squad" publicó un
nuevo ataque parecido a "Master Key",
pero en el que se podía inyectar código compilado arbitrario en el archivo "classes.dex" de otra aplicación. Para
ello se aprovechaba un espacio entre la cabecera y los datos y nuevamente sin alterar la firma del paquete. Aunque
este error se limitaba a archivos "classes.dex"
inferiores a 64K.
Jay Freeman, más conocido por su
trabajo al frente de Cydia (gestor de aplicaciones para sistemas iOS con
jailbreak), ha publicado un nuevo método del tipo "Master Key" aprovechando un fallo en la última versión de
Android, la 4.4.
Freeman examinó un parche
incluido en el código liberado de la versión 4.4 de Android y comprobó como
existía la posibilidad de inyectar clases compiladas en un archivo "classes.dex" de un tercero. El
método es similar al encontrado por el grupo chino, es decir, se basa de nuevo
en la inyección de clases dentro de las secciones que componen el archivo
comprimido en formato ZIP.
Aunque este fallo podría ser usado por un atacante para inyectar código sin
romper la firma de un paquete legítimo, Freeman lo orienta más a la
capacidad para realizar un "rooteo"
del dispositivo.
Con este tipo de vector son ya
tres los fallos encontrados (al menos publicados) que pueden ser usados para la
misma finalidad. De nuevo la implementación y manejo de los archivos
comprimidos en el proceso de verificación de firmas son la fuente de problemas
para el sistema operativo móvil de Google.
Esto último, unido a la desesperante tardanza de algunos
operadores en liberar parches para los sistemas de sus clientes, hacen que
la ventana de exposición se convierta en un largo e interminable pasillo. Eso
siempre y cuando se tenga la suerte de que el sistema siga estando soportado.
Más información:
Un fallo en la verificación de
firmas de Android permite modificar las aplicaciones certificadas
Yet Another Android Master Key Bug
android / platform/libcore /
2da1bf57a6631f1cbd47cdd7692ba8743c993ad9^! / .
David García
Twitter: @dgn1729

No hay comentarios:
Publicar un comentario