Publicado: Marzo 29, 2023
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
De días a horas: cómo la ingeniería inversa ética evolucionó con la IA
En 2020, la ingeniería inversa de un binario complejo a menudo llevaba días…
Análisis de los ataques de deepfake en el sistema de verificación de identidad del cliente (KYC)
Dónde encaja el endurecimiento en la superficie de ataque de deepfake Un rostro…
Descifrando los fallos de las aplicaciones móviles: del caos a la claridad.
Las aplicaciones móviles están bajo ataque constante. Según Digital.aide 2026…