Publicado: Marzo 28, 2023
Introducción al mundo de la virtualización – Parte I
Por Egidijus Lileika, investigador senior de seguridad
El objetivo de esta investigación es comprender el potencial de la virtualización de aplicaciones como vector de ataque. Para ello, se analizaron doce aplicaciones de virtualización en casos de uso habituales y como herramientas de hacking. Se evaluó Application Protection for Android como solución de mitigación para todas las aplicaciones de virtualización analizadas. Continúe leyendo para la primera parte de esta serie.
Aplicaciones de virtualización para uso final “normal”
La mayoría de las aplicaciones de virtualización disponibles para usuarios comunes se pueden descargar desde la tienda Google Play. Estas aplicaciones cuentan con cientos de millones de descargas. Una de las más populares es Parallel Space. El público objetivo principal de estas aplicaciones son las personas que tienen más de una cuenta en aplicaciones específicas, como las de redes sociales. Las aplicaciones de virtualización permiten a los usuarios tener varias instancias de una misma aplicación ejecutándose simultáneamente, sin necesidad de cerrar sesión e iniciar sesión en otra cuenta. Algunas aplicaciones de virtualización se presentan como aplicaciones que mejoran la privacidad. Las aplicaciones instaladas en espacios virtuales suelen estar aisladas del sistema Android convencional de alguna manera, aunque no siempre.
Aplicaciones de virtualización como herramientas de actores maliciosos
En el otro extremo del espectro de usuarios se encuentran los ciberdelincuentes. La virtualización puede utilizarse por diversos motivos. Una de las principales ventajas es que las aplicaciones virtualizadas tienen procesos con mayores privilegios que las aplicaciones objetivo, lo que les permite interactuar libremente con la aplicación objetivo. De una u otra forma, la virtualización elude el modelo de seguridad de Android al crear un entorno más permisivo en el espacio aislado de la aplicación virtualizada. Muchos tipos de aplicaciones de virtualización proporcionan acceso de «root falso» y servicios de interceptación mediante frameworks como Xposed. Todo esto puede lograrse en un teléfono sin root, lo que significa que se pueden realizar actividades maliciosas en dispositivos verificados.
Los entornos virtualizados abren posibilidades para las siguientes actividades maliciosas:
- Hacer trampas en los juegos: El software como GameGuardian, ejecutándose en un entorno virtualizado, puede lograr casi todo lo que podría hacer en un dispositivo rooteado.
- Enganche: El software de virtualización, como VirtualXposed, permite inyectar módulos Xposed en aplicaciones virtualizadas, modificando así su comportamiento. Por ejemplo, VirtualXposed podría usarse para omitir los anuncios en la aplicación de YouTube.
- Raíz falsa: Algunas aplicaciones de virtualización proporcionan acceso a "superusuarios" ficticios para ejecutar software con privilegios elevados. Por ejemplo, se podría usar un usuario root falso para ejecutar el servidor Frida en un dispositivo sin acceso root.
- Ubicación virtual: La mayoría de las aplicaciones de virtualización ofrecen servicios de suplantación de ubicación. Esto resulta especialmente útil para eludir las verificaciones basadas en geolocalización o para hacer trampas en juegos que utilizan la geolocalización, como Pokémon Go.
- Análisis dinámico: Algunas aplicaciones de virtualización populares son de código abierto y se pueden modificar mediante complementos personalizados. Desde el complemento, los usuarios pueden instrumentar dinámicamente las aplicaciones virtualizadas, observar su comportamiento y capturar el tráfico de red.

Figura 1 – Popularidad de los respectivos espacios virtuales entre los usuarios de GameGuardian
Categorías de aplicaciones de virtualización
La virtualización de aplicaciones es un término amplio. Se puede lograr de muchas maneras diferentes, no necesariamente mediante la virtualización del sistema Android. Es un buen término para generalizar la idea de ejecutar aplicaciones en un entorno irregular. A continuación, se presentan algunas de las muchas variantes de virtualización de aplicaciones:
Aislamiento del perfil de trabajo
Algunas aplicaciones de virtualización logran la virtualización creando un perfil de trabajo independiente y aislando la aplicación virtualizada dentro de él. Un perfil de trabajo es una configuración en un dispositivo Android para separar las aplicaciones y datos de trabajo de las aplicaciones y datos personales. El perfil de trabajo reside en una parte separada del dispositivo, aislada del resto del sistema. Aislar una aplicación con un perfil de trabajo no es necesariamente recomendable, ya que una aplicación potencialmente maliciosa que se ejecute en el espacio de usuario normal, con acceso root, probablemente no se pueda detectar, puesto que la aplicación aislada en el perfil de trabajo solo puede ver las aplicaciones que se encuentran en el mismo perfil. Por ejemplo, esta estrategia de ataque está siendo utilizada por ciberdelincuentes que usan GameGuardian en un dispositivo rooteado con privilegios de superusuario y ejecutan la aplicación objetivo en el perfil de trabajo aislado. La aplicación Island, disponible gratuitamente en Google Play, permite a los usuarios clonar aplicaciones específicas. Island también es un buen ejemplo de aislamiento mediante perfil de trabajo.
Clonación y reempaquetado
Otro tipo de virtualización se logra clonando o reempaquetando la aplicación objetivo. Generalmente, el proceso es sencillo. Básicamente, estas aplicaciones se copian y se modifica su nombre de paquete a uno único. Para eludir las comprobaciones y verificaciones, estas aplicaciones de virtualización inyectan su propio código para modificar o interceptar los métodos responsables de obtener el nombre y la firma del paquete, entre otros, para que la aplicación se haga pasar por la original. Dado que el ID de la aplicación ha cambiado, tanto la aplicación original como la clonada pueden coexistir en el mismo sistema Android. Este tipo de virtualización es el más rápido, ya que no tiene sobrecarga. AppCloner es un ejemplo de este tipo de aplicación y está disponible gratuitamente en Google Play.
Hosts de aplicaciones
Los «hosts de aplicaciones» son otra técnica de virtualización. Estos hosts virtualizan la aplicación cargando la aplicación objetivo en sí mismos y ejecutándola. Si bien este es un método relativamente sencillo para virtualizar una aplicación, presenta ciertas limitaciones. Por ejemplo, estos hosts suelen poder ejecutar solo una instancia de la aplicación a la vez, o un número muy limitado de aplicaciones simultáneamente. Algunas tecnologías de virtualización que emplean esta estrategia se distribuyen como SDK, lo que permite al usuario crear su propia aplicación host para aplicaciones específicas con funcionalidades particulares. Estos SDK también abren la posibilidad de utilizar frameworks de hooking y, en general, de realizar análisis dinámicos de aplicaciones mediante instrumentación. VirtualApk y Phantom son ejemplos destacados de este enfoque de virtualización.
Virtualización completa del sistema Android
Algunas aplicaciones de virtualización virtualizan todo el sistema Android. Incluso, algunas arrancan el sistema Android completo desde cualquier imagen ROM (memoria de solo lectura). Este tipo de virtualización es la más lenta, pero también la más potente, ya que emula literalmente todo el teléfono Android. Las imágenes o archivos ROM personalizados se pueden modificar, personalizar, rootear con Magisk, etc. Prácticamente no hay forma de que una aplicación virtualizada interactúe con el sistema Android externo y sepa lo que ocurre en él. Esta virtualización permite ejecutar aplicaciones en sistemas Android virtualizados de apariencia normal sin necesidad de acceso root; sin embargo, el sistema Android original podría rootearse y ejecutar software de análisis dinámico adicional para manipular la aplicación virtualizada. Twoyi es una de las aplicaciones más populares que virtualizan todo el sistema Android.
Virtualización parcial del entorno de ejecución de Android
Por último, pero no menos importante, algunas aplicaciones de virtualización logran una virtualización parcial del sistema Android. Generalmente, estas aplicaciones recrean la mayor parte del sistema Android mediante proxies y procesos ficticios. El hooking es fundamental en estas técnicas de virtualización, ya que es necesario interceptar y corregir numerosos aspectos durante la comunicación entre los procesos de la aplicación virtualizada y el resto del sistema. Además, este método es difícil de mantener entre diferentes versiones de Android y en distintos fabricantes de dispositivos Android. Por lo general, este enfoque de virtualización presenta problemas de estabilidad. Sin embargo, la virtualización parcial del entorno de ejecución de Android es una de las técnicas de virtualización más potentes: una implementación correcta puede ser completamente indetectable. VirtualApp es una de las virtualizaciones parciales del entorno de ejecución de Android más conocidas.
¿Se puede confiar en las aplicaciones de virtualización?
Como se mencionó anteriormente, muchas aplicaciones de virtualización en la tienda Google Play prometen aumentar la privacidad, haciendo creer a los usuarios que la virtualización mejora su privacidad. Esta afirmación debe tomarse con precaución. Si bien el hecho de que la aplicación virtualizada esté aislada del resto del sistema aumenta la privacidad, la aplicación de virtualización tiene más privilegios sobre la aplicación virtualizada que cualquier otra aplicación de terceros instalada en el sistema Android. No hay garantía de que la aplicación de virtualización no esté utilizando esos privilegios para robar la información personal del usuario.
La mayoría de las aplicaciones de virtualización están repletas de anuncios. Algunas incluso inyectan código publicitario adicional en la aplicación virtualizada. Existe un número casi infinito de elementos que podrían inyectarse en la aplicación virtualizada sin el consentimiento del usuario.
Además, el uso de software de virtualización podría contravenir los términos de uso de la aplicación virtualizada, lo que significa que dicho uso podría conllevar la suspensión de la cuenta.
Continúa la conversación en la segunda parte de la serie de blogs, que puedes encontrar aquí.
También puede interesarle
Ataques de IA con agentes: El agente Smith ha salido de su retiro.
Los atacantes de Nature-Free Evolution siguen ampliando los límites de la IA…
Combatir el fuego con fuego: usar la IA para combatir la IA
Los ataques a aplicaciones aumentaron al 83% en enero de 2025, frente al 65% de hace apenas…
Lo que Bad Guys 2 me enseñó sobre la asimetría de la información y la Application Security Problema que nadie quiere nombrar
01 Eran estudiantes de tu trabajo Hay un…