Janus Vulnerability, un nuevo error descubierto en las aplicaciones de Android que es capaz de modificar el código de la aplicación Android sin alterar sus firmas.

Esta falla lleva a cambiar el código en aplicaciones confiables de Android e insertar el código malicioso en nombre y luego omitir las protecciones anti-malware.

Esta vulnerabilidad de Janus permite a un atacante agregar el byte extra a los archivos APK y DEX y el archivo APK es un archivo zip, que puede contener bytes arbitrarios al inicio.

En este caso, la firma JAR solo verifica las entradas zip y no calculará los bytes adicionales al calcular o verificar la firma de la aplicación.

Otra parte del paquete comprimido , el archivo DEX puede contener bytes arbitrarios al final, después de las secciones regulares de cadenas, clases y definiciones de métodos.

 

¿Cómo funciona Janus Vulnerability?

Básicamente, el tiempo de ejecución de la instalación de Android carga el APK, luego busca y extrae este archivo DEX y ejecuta el código.

De acuerdo con  guardsquare , en la práctica, la máquina virtual puede cargar y ejecutar tanto archivos APK como archivos DEX. Cuando obtiene un archivo APK, sigue buscando los bytes mágicos en el encabezado para decidir qué tipo de archivo es. Si encuentra un encabezado DEX, carga el archivo como un archivo DEX. De lo contrario, carga el archivo como un archivo APK que contiene una entrada zip con un archivo DEX. Por lo tanto, puede malinterpretar archivos duales DEX / APK.

El atacante inicialmente crea un archivo DEX malicioso en un archivo APK sin afectar la firma e inyecta el código a través del archivo DEX.

Durante la actualización de la versión de la aplicación específica de Android, acepta el archivo APK como una actualización válida de la versión anterior legítima de la aplicación.

Autoría de Android Firma de certificación firmada para verificar la firma cada vez que el usuario recibe actualizaciones para la nueva versión.

Por lo tanto, la versión antigua siempre debe verificar su firma y permitirle al usuario realizar el tiempo de ejecución de Android para comparar su firma con la firma de la versión original.

Una vez que la firma coincide, permite continuar con la instalación heredada de la versión anterior.

Aquí el atacante engaña el proceso de actualización utilizando la vulnerabilidad de Janus y utiliza un proceso de actualización para inyectar el código no verificado y hacer que instale código malicioso junto con la aplicación legítima.

Reemplazar la aplicación de confianza con privilegios altos lleva al atacante a realizar actividades muy peligrosas y puede acceder a la información confidencial almacenada en la aplicación comprometida y muchas más posibilidades para robar información relacionada con la banca.

«El formato de archivo zip es arcaico y propenso a problemas como la vulnerabilidad de la clave maestra y esta vulnerabilidad de Janus. Los archivos zip ambiguos probablemente generen vulnerabilidades similares en diferentes contextos y en diferentes sistemas.

La causa raíz es la redundancia en el formato. Al diseñar formatos de datos, protocolos, estructuras de datos y códigos en general, siempre se debe tratar de evitar la redundancia. Cualquier discrepancia conduce a errores o peores «,  dijo guardsquare.

El Boletín de seguridad de Android contiene detalles de las vulnerabilidades de seguridad que afectan a los dispositivos Android. Los niveles de parches de seguridad de 2017-12-05 o posteriores abordan todos estos problemas.

Fuente: gbhackers.com

Compartir