Por qué los usuarios de Android deberían preocuparse por la carga de código dinámico

Cuando las personas usan aplicaciones de Android, lo que sucede en segundo plano generalmente no se les pasa por la cabeza. Desafortunadamente, una opción de programación llamada carga de código dinámico puede presentar riesgos de seguridad. Esto es lo que necesita saber al respecto.

¿Qué es la carga de código dinámico?

En el desarrollo de aplicaciones, todo el código fuente utilizado al crear una aplicación constituye la base de código. La carga de código dinámico permite que una aplicación extraiga contenido de más allá de su base de código y lo ejecute durante la operación o el tiempo de ejecución.

Esta opción puede resultar en un tamaño de aplicación más pequeño porque una práctica común es almacenar el código de forma remota en lugar de incrustarlo en el kit de paquetes de Android (APK) .

El APK es el formato de archivo que usa Android al distribuir e instalar aplicaciones. Contiene todos los componentes para que una aplicación funcione en un dispositivo compatible. La carga de código dinámico aporta ventajas desde el punto de vista del desarrollo, incluidas algunas que mejoran la usabilidad de la aplicación.

Por ejemplo, una aplicación puede mostrar contenido diferente a una persona dependiendo de si usa la versión gratuita o premium. La carga de código dinámico puede mostrar el contenido correcto según el nivel del usuario sin aumentar el tamaño del APK.

Además, la carga de código dinámico permite a los desarrolladores lanzar nuevas versiones de aplicaciones que contienen cambios menores. Los usuarios obtienen las últimas versiones sin descargar nada.

A pesar de estas ventajas, la carga de código dinámico puede generar riesgos relacionados con la seguridad de las aplicaciones de Android.

Las aplicaciones maliciosas suelen presentar carga de código dinámico

Los autores de un artículo de investigación de 2019 examinaron aplicaciones maliciosas de Android para encontrar sus puntos en común. Citaron investigaciones anteriores realizadas por otras partes que mostraban la carga de código dinámico como una característica principal de las aplicaciones peligrosas.

Casi 20.000 de las 86.798 aplicaciones de una investigación tenían carga de código dinámico.

Una aclaración adicional indicó que las personas colocan la funcionalidad principal de una aplicación peligrosa en bibliotecas independientes y luego usan la carga de código dinámico para ejecutarla. Ese enfoque protege el comportamiento malicioso de la aplicación, haciéndola menos detectable.

La documentación de Google sobre los tipos de malware que detecta incluso aclara que el uso indebido del código dinámico podría ser marcado como una variedad de puerta trasera. La compañía define el malware de puerta trasera como la ejecución de acciones potencialmente dañinas controladas de forma remota en un dispositivo. Luego dio un ejemplo de carga de código dinámico que permite que una aplicación extraiga mensajes de texto.

Sin embargo, Google dice que analiza si la ejecución del código realiza explícitamente un comportamiento malicioso. De lo contrario, la empresa trata la ejecución de código arbitrario como una vulnerabilidad para que un desarrollador lo parchee.

En casos de aplicaciones peligrosas, la ejecución de código arbitrario permite a un pirata informático ejecutar comandos de forma remota en un dispositivo objetivo.

Los investigadores identifican un problema de carga de código dinámico

Google toma con frecuencia acciones decisivas para aumentar la seguridad de los usuarios. Por ejemplo, las cookies de terceros rastrean a los usuarios, guardan su información y luego la usan para mostrarles anuncios dirigidos. Sin embargo, la compañía bloqueará las cookies de terceros en el navegador Chrome para 2022. No dio una fecha específica para el cambio.

Sin embargo, centrarse en la seguridad no hace que una empresa esté libre de problemas. Los investigadores de ciberseguridad encontraron una ejecución de código arbitrario persistente dentro de la aplicación de Google y lo informaron a la empresa. El problema se solucionó en mayo de 2021, pero hizo que más personas prestaran atención a los posibles problemas asociados con la carga de código dinámico.

Los investigadores confirmaron que la vulnerabilidad permitiría a un atacante lanzar una aplicación solo una vez antes de robar los datos de Google de una persona. Un pirata informático podría aprovechar la falla de la aplicación de Google para extraer una biblioteca de códigos de una aplicación peligrosa en el dispositivo de una persona.

Desde allí, el ciberdelincuente podría acceder a casi todos los datos de Google de una persona, incluidos sus correos electrónicos. Incluso podrían activar el micrófono, la cámara y la información de ubicación en tiempo real del usuario.

Preste atención a las advertencias sobre vulnerabilidades de aplicaciones peligrosas

Dado que la carga de código dinámico ocurre en el extremo del desarrollo, un usuario promedio de una aplicación no puede hacer nada para verificar si una determinada oferta podría presentar peligros ocultos relacionados con su funcionamiento en segundo plano. Sin embargo, es aconsejable estar atento a cualquier noticia de seguridad de la aplicación de Android que llegue a los titulares de tecnología.

Los investigadores de ciberseguridad buscan continuamente problemas que podrían poner en riesgo a cientos de miles de usuarios de aplicaciones y luego informan sobre ellos. Mantenerse al tanto de los peligros potenciales de las aplicaciones ayudará a los usuarios a decidir si actualizar o eliminar una aplicación potencialmente problemática y cuándo.