Introducción al mundo de la virtualización – Parte II

Por Egidijus Lileika, investigador senior de seguridad

 

Bienvenidos a la segunda parte de nuestra serie sobre virtualización. 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.

Evaluación de aplicaciones de virtualización

Esta sección analiza las aplicaciones de virtualización más populares, tanto de código abierto como de código cerrado. Cada aplicación se evalúa según su usabilidad, facilidad de compilación o modificación y la eficacia de Application Protection for Android para proteger contra ataques en el entorno virtualizado. Hemos intentado incluir aplicaciones que representen todos los métodos de virtualización. Algunas son más populares que otras, y se presentan en orden aproximado de mayor a menor popularidad.

Open Source

Aplicación virtual

Aplicación virtual Es un sistema Android parcialmente virtualizado. La lista completa de características se encuentra en el archivo README.MD del proyecto. Este proyecto fue de código abierto hasta 2017 y, desde entonces, no se ha actualizado. Sin embargo, los usuarios premium aún pueden obtener versiones más recientes del código fuente, ahora cerrado. No hay binarios precompilados en GitHub. Compilar el código fuente es complejo y muchos errores requieren corrección manual.

El proyecto tiene muchas bifurcaciones. bifurcación siguiente De hecho, mantiene versiones de Android que salieron después de 2017.

Nuestros intentos iniciales de compilar VirtualApp fracasaron, pero el proyecto se considera una inspiración para otros proyectos de virtualización.

Se activó la protección de aplicaciones para Android: detección de virtualización

virtualxpuesto

El virtualxpuesto VirtualXposed es otra virtualización parcial de Android basada en el proyecto VirtualApp. Su principal característica es que permite usar el framework Xposed en un dispositivo sin root en un entorno virtualizado. Este proyecto presenta problemas de estabilidad. VirtualXposed no logró instalar el complemento Xposed en ninguno de los dos dispositivos utilizados para las pruebas. En uno de ellos, ni siquiera pudo ejecutar la aplicación virtualizada. Muchos otros proyectos intentan replicar la idea de VirtualXposed.

La protección de aplicaciones para Android activada por los siguientes mecanismos: detección de virtualización, detección de hooks, detección de instrumentación dinámica, detección de root, comprobación de firma y detección de emulador provoca el cierre inesperado de la aplicación.

Aplicación virtual 2022

Aplicación virtual 2022 Está inspirado en VirtualXposed y basado en VirtualApp. Funciona perfectamente en Android 11. En el archivo README.MD, el desarrollador indica que admite complementos de Xposed.

Se activó la protección de aplicaciones para Android: detección de virtualización

Dosyi

Dosyi Twoyi es una aplicación del sistema Android que virtualiza imágenes ROM completas. Por defecto, virtualiza Android 8.1.0 con la aplicación Superuser preinstalada. Dado que Twoyi puede virtualizar imágenes ROM personalizadas, en teoría podría usarse para virtualizar ROM parcheadas con Magisk, ejecutar LSPosed u otras herramientas de seguridad.

Se activó la protección de aplicaciones para Android: detección de root y detección de emulador.

multiaplicación

multiaplicación Funciona bien. Es difícil determinar la técnica de virtualización exacta que usa MultiApp, pero probablemente se trate de una virtualización parcial del sistema Android o de la virtualización de aplicaciones como host. Este proyecto es solo parcialmente abierto: la interfaz de usuario y el lanzador de la aplicación son de código abierto, pero la lógica principal de virtualización se distribuye en archivos JAR y APK precompilados.

Se activó la protección de aplicaciones para Android: detección de virtualización

Tai Chi

Tai Chi Es una aplicación de virtualización inspirada en VirtualXposed que permite usar módulos Xposed en dispositivos sin root. Lamentablemente, este proyecto no es estable, ya que no se logró instalar ni ejecutar aplicaciones virtualizadas en ninguno de los dispositivos de prueba.

Protección de aplicaciones para Android activada: Detección virtual

VirtualApk, Phantom y DroidPlugin

VirtualApk, Fantasma, y Complemento para Droid Estos proyectos son SDK que permiten a los usuarios crear aplicaciones anfitrionas capaces de virtualizar aplicaciones de destino en su interior. Por falta de tiempo, estos frameworks no se probaron.

Se activó la protección de aplicaciones para Android: – Detección de virtualización

Fuente cerrada

Espacio paralelo, espacio dual, y otros

Otro:

  • https://play.google.com/store/apps/details?id=com.excelliance.multiaccounts&hl=en&gl=US
  • https://play.google.com/store/apps/details?id=multi.parallel.dualspace.cloner&hl=en&gl=US
  • https://play.google.com/store/apps/details?id=com.cloneapp.parallelspace.dualspace&hl=en&gl=US
  • https://play.google.com/store/apps/details?id=com.excelliance.multiaccount&hl=en&gl=US
  • https://play.google.com/store/apps/details?id=com.excean.parallelspace&hl=en&gl=US
  • https://play.google.com/store/apps/details?id=do.multiple.cloner&hl=en&gl=US
  • https://www.apkmirror.com/apk/nox-ltd/noxapp-multiple-accounts-clone-app/

Una de las aplicaciones de virtualización más populares de la tienda Google Play. Para usar Parallel Space con GameGuardian, es necesario descargar una versión no oficial «optimizada» de la aplicación Parallel Space desde el foro de GameGuardian.

Versiones optimizadas por GameGuardian:

  • https://gameguardian.net/forum/files/file/120-parallel-space-32-bit-support-64-bit-support/
  • https://gameguardian.net/forum/files/file/213-dualspace-32-bit-support-64-bit-support/
  • https://gameguardian.net/forum/files/file/194-virtual-space/
  • https://gameguardian.net/forum/files/file/225-octopus-32-bit-support-64-bit-support/
  • https://gameguardian.net/forum/files/file/122-go-multiple/

Se activó la protección de aplicaciones para Android: detección de virtualización y detección de instrumentación dinámica (se detectó manipulación de la memoria del espacio paralelo).

Núcleo espacial

Núcleo espacial Es una nueva aplicación de virtualización parcialmente de código abierto. La lógica de virtualización es de código cerrado. La aplicación no se puede compilar desde el código fuente, ya que le falta el código fuente de la biblioteca principal. Las versiones de demostración son estables y pueden ejecutar la mayoría de las aplicaciones probadas. El menú contiene un marcador de posición para Xposed Manager, que aún no está disponible.

Se activó la protección de aplicaciones para Android: detección de virtualización

AppCloner

AppCloner Es una técnica de virtualización basada en reempaquetado que cambia el nombre del paquete de la aplicación objetivo y la instala en el sistema. Esta técnica es sencilla, pero no se puede usar junto con otras herramientas de ataque para manipular las aplicaciones objetivo sin acceso de administrador.

Se activó la protección de aplicaciones para Android: detección de virtualización

Islandia

Islandia Es una solución de virtualización basada en perfiles de trabajo que aísla las aplicaciones dentro de dichos perfiles. Durante la protección de aplicaciones para la virtualización de Android, los informes de creación de guardias indicaron que Island se utilizó para aislar las aplicaciones afectadas de otras aplicaciones y que GameGuardian se utilizó para manipular la memoria de las aplicaciones sin ser detectado.

Se activó la protección de aplicaciones para Android: detección de virtualización

Resumen

La virtualización resulta útil tanto para usuarios comunes como para ciberdelincuentes. Muchas aplicaciones de virtualización permiten a estos últimos crear virtualmente un entorno malicioso en un dispositivo sin acceso root. Si bien existen numerosos proyectos de código abierto, la mayoría no se pueden compilar ni modificar fácilmente.

La virtualización se logra de diversas maneras, desde el reempaquetado de aplicaciones hasta la virtualización completa del sistema Android. Todas las aplicaciones de virtualización que probamos para este artículo fueron detectadas por el producto Application Protection for Android.

Recursos adicionales

https://github.com/pianpian315/VirtualAndroid/blob/master/Mobile%20Virtualization%20Technologies.pdf

https://github.com/ysrc/AntiVirtualApp

 

Ponte al día con la primera parte de la serie, que puedes encontrar aquí.

También puede interesarle