Publicado: Diciembre 9, 2024
Entendiendo Magisk y el módulo Shamiko: Analizando las afirmaciones de elusión Digital.aiSeguridad de Android
Las aplicaciones de Android son un objetivo común para los ciberdelincuentes que buscan modificar el comportamiento de las aplicaciones y utilizan herramientas como magisk han ganado popularidad debido a su capacidad de ampliación y a su discreción. Un módulo llamado Shamiko ha surgido como una opción popular para ocultarse aún más magisk, lo que pone de relieve la importancia de las soluciones de seguridad que pueden detectar estas sofisticadas técnicas de ocultación.
En esta publicación, profundizaremos en qué magisk es, explorar Módulos Magisk en general: qué son, una descripción general de cómo se construyen y su integración en el sistema Android; y más adelante se comentará ShamikoTambién abordaremos las afirmaciones sobre cómo eludir las medidas de seguridad. endurecimiento de la aplicación Las soluciones brindan una protección integral contra las amenazas en constante evolución y el impacto más amplio de dichas herramientas en la seguridad de las aplicaciones de Android.
¿Qué es Magisk?
Descripción general de Magisk
Magisk es una herramienta popular que permite a los usuarios de Android obtener acceso root sin alterar los archivos principales del sistema. Al modificar la imagen de arranque en lugar de la imagen del sistema, Magisk se mantiene "sin sistema", lo que significa que oculta las modificaciones de las comprobaciones de integridad del sistema habituales. Esta capacidad permite a los usuarios rootear sus dispositivos y seguir ejecutando aplicaciones que normalmente bloquean los dispositivos rooteados, lo que hace que Magisk sea especialmente potente tanto para la personalización como para mantener la compatibilidad de las aplicaciones. Magisk modifica particiones clave como Boot.img y reemplaza el init ejecutable con magiskinit, que carga sus configuraciones personalizadas durante el proceso de arranque sin alterar directamente los archivos centrales del sistema Android¹.
Instalación de Magisk
Al magisk Una vez instalado, garantiza la persistencia tras reinicios al reemplazar el init ejecutable con su propio magiskinit. La función de init El ejecutable es un binario nativo de Linux que es el primer ejecutable que se ejecuta durante el proceso de arranque. Al interceptar esta etapa, magisk puede modificar el comportamiento del sistema desde el principio.
Además en magisk modifica el init.rc archivo, que es un archivo de configuración de texto que Android utiliza para definir los comandos que se ejecutarán en diferentes etapas del proceso de arranque. La sintaxis de init.rc le permite emitir comandos durante el arranque, y magisk Lo modifica para introducir acciones de arranque personalizadas, asegurando que sus propias operaciones se integren a la perfección.
¿Qué es Zygisk?
zigisk, Parte de la magisk framework, permite a los desarrolladores inyectar código personalizado en el Cigoto proceso después de que se bifurca una nueva aplicación o servidor_sistema procesos. Esta inyección se produce después de la etapa de especialización, lo que garantiza que cualquier modificación ocurra dentro de los procesos recién bifurcados en lugar de dentro de los procesos. Cigoto el propio demonio.
El ciclo de vida de Zygisk está impulsado por varios ganchos de función PLT (Tabla de Enlace de Procedimientos) organizado en bibliotecas clave:
- libandroid_runtime
- libreta
- libnative_bridge
Estos ganchos están estratégicamente colocados para dar zigisk Control preciso del proceso y su ciclo de vida, especialmente durante fases clave como la inicialización del proceso.
El Tabla de enlace de procedimientos (PLT) es un mecanismo que el enlazador dinámico utiliza para resolver las direcciones de las funciones en tiempo de ejecución, lo que permite a las bibliotecas compartir código dinámicamente. Al colocar puntos de acceso en el PLT, zigisk Puede interceptar llamadas a funciones importantes dentro del entorno de ejecución de Android, lo que le permite inyectar comportamientos personalizados en distintos puntos del ciclo de vida de una aplicación o proceso del sistema. Esto permite un control preciso sobre cada fase de inicialización, lo que permite a los desarrolladores modificar comportamientos durante etapas críticas de la ejecución del proceso.
Por ejemplo, ganchos en libandroid_runtime permitir zigisk para intervenir en el entorno de ejecución de Android, mientras que los ganchos en libreta proporcionar control sobre el entorno de ejecución de Android (ART), que es responsable de ejecutar el código de la aplicación. Mientras tanto, libnative_bridge maneja bibliotecas nativas, permitiendo zigisk para gestionar las interacciones entre el entorno de ejecución de Android y el código nativo.
En el siguiente diagrama, verá una ilustración del orden de ejecución de estos ganchos y cómo interactúan con el ciclo de vida del proceso.

¿Qué es la Especialización?
Una vez que Zygote crea un nuevo proceso para una aplicación o servicio, realiza la especialización. La especialización aplica medidas de seguridad de aislamiento que restringen el comportamiento y los privilegios del nuevo proceso de la aplicación. Esto garantiza que cada aplicación se ejecute en un entorno controlado y aislado, y que no pueda interferir con el sistema ni con otras aplicaciones. Durante este proceso, el sistema aplica políticas, como la configuración de permisos de usuario, contextos de seguridad y otras restricciones a nivel de aplicación. La especialización es fundamental para mantener el entorno multiusuario seguro de Android.
Además, Zygote crea un proceso especial llamado system_server, que aloja una amplia gama de servicios del sistema responsables de gestionar operaciones clave de Android. Estos servicios controlan cómo interactúan las aplicaciones con el sistema operativo Android y gestionan componentes críticos como permisos, políticas del dispositivo y el ciclo de vida de las aplicaciones. Con Zygisk, los desarrolladores pueden acceder tanto a system_server como a los procesos de las aplicaciones para modificar su comportamiento o introducir funcionalidades personalizadas. Esta capacidad es especialmente potente porque permite a los desarrolladores influir en el funcionamiento de las aplicaciones y los servicios en tiempo real, proporcionando un alto grado de control sobre el comportamiento del sistema. Sin embargo, el código personalizado se ejecuta dentro de las limitaciones del entorno de seguridad de Android, lo que significa que debe respetar los permisos y las limitaciones que se aplican a la aplicación o al proceso del sistema.
Casos de uso comunes para Magisk
- Dispositivos de enraizamiento: Muchos usuarios recurren a magisk para obtener acceso root a Android, lo que permite un alto nivel de personalización y control sobre sus dispositivos.
- Instalación de módulos: Más allá del enraizamiento, magisk También admite módulos que amplían o modifican la funcionalidad del sistema Android o de las aplicaciones existentes.
En la siguiente sección, exploraremos cómo Zygisk trabaja junto con los módulos de Magisk para ampliar aún más las capacidades del sistema Android.
¿Qué son los módulos Magisk?
magisk Los módulos son extensiones que permiten a los usuarios añadir funcionalidades, modificar componentes del sistema o ajustar el comportamiento de la aplicación de forma modular. Estos módulos son una de las razones fundamentales para Magisk su popularidad se debe a que ofrecen una forma sencilla de personalizar la experiencia de Android sin modificar directamente los archivos principales del sistema.
¿Cómo se construyen los módulos de Magisk?
Los desarrolladores suelen crear módulos de Magisk mediante scripts y archivos de configuración que especifican sus modificaciones. Se desarrollan en un formato modular que permite añadirlos o eliminarlos fácilmente del sistema mediante la aplicación Magisk Manager. Los módulos pueden abarcar desde simples scripts hasta cambios más complejos, según su objetivo.
Ejemplos de módulos de Magisk
- Bloqueadores de anunciosBloquear anuncios en todo el sistema.
- Extensiones de funcionalidad de la aplicaciónModificar o ampliar el comportamiento de las aplicaciones existentes, como por ejemplo habilitar funciones ocultas.
- DesinflamantesElimina las aplicaciones del sistema no deseadas para conseguir un dispositivo más ligero y eficiente.
Integración con el sistema Android: Zygisk
Una característica notable de Magisk es zigisk, que se integra con Android Cigoto El proceso Zygote es responsable de lanzar aplicaciones e inicializar Dalvik/ART, sirviendo como proceso padre para las aplicaciones. zigisk Magisk reside dentro del proceso de la aplicación, lo que le permite modificarla desde dentro y controlar significativamente su funcionamiento. Esta integración permite a Magisk interceptar eventos clave del ciclo de vida, como durante la ejecución de la aplicación. preAppSpecialize y postAppSpecialize fases, y para aplicar ganchos que alteren el comportamiento de la aplicación sobre la marcha.
Introducción a Shamiko
El Shamiko El módulo oculta aún más magisk y evita la detección por controles de seguridad. Funciona junto con magisk Esto permite a los usuarios mantener el acceso root ocultando las modificaciones a las aplicaciones que puedan tener políticas de seguridad contra dispositivos rooteados. Se pone de manifiesto la necesidad de soluciones de seguridad avanzadas capaces de detectar estas sofisticadas técnicas de ocultación.
Alegaciones de elusión Digital.ai (Arxan) Seguridad
Los desarrolladores de Shamiko han afirmado que el módulo puede eludir las medidas de seguridad implementadas por Digital.ai's (anteriormente Arxan) Protecciones de Android. Sin embargo, a pesar de su código ofuscado, un análisis de ingeniería inversa de Shamiko ha revelado las técnicas específicas que utiliza para ocultar su presencia.

El análisis muestra que mientras Shamiko elimina algunos de los artefactos dejados por zigisk, introduce nuevos artefactos en el proceso, artefactos que son aún más fáciles de detectar que los introducidos por magisk.
Digital.aiRespuesta de [nombre de la organización] a Shamiko y amenazas similares
Los desarrolladores de Shamiko creó el módulo para eludir las medidas de seguridad implementadas por Digital.ai y protecciones similares. Nuestro análisis de Shamiko's Las técnicas de evasión han demostrado que, al igual que con muchas herramientas de rooteo, los intentos de ocultar ciertos artefactos a menudo crean nuevos rastros detectables. Esta es una paradoja común en herramientas de manipulación de procesosCuanto más intenten ocultarse, más elementos potencialmente introducirán, lo que puede facilitar su detección.
herramientas de manipulación de procesos, como magisk Los módulos operan directamente dentro del proceso de la aplicación. Modifican los métodos de detección, se conectan a las API del sistema operativo o alteran el código de la aplicación. Específicamente, magisk Los módulos funcionan durante el preespecialización y post-especialización fases de creación del proceso. Este sistema de sincronización implica que inyectan código antes y después de que el proceso de la aplicación se haya inicializado por completo, lo que les permite manipular el comportamiento de la aplicación dentro de su propio espacio de proceso. Si bien esto otorga un control significativo, también deja rastros en el proceso que las soluciones de seguridad de la aplicación pueden detectar, ya que estas modificaciones son accesibles desde el entorno aislado.
Por otro lado, las herramientas de manipulación del entorno Modifican el entorno de la aplicación, a menudo a nivel de sistema o de kernel. Al alterar los estados del sistema o las respuestas de la API, crean artefactos ambientales que la aplicación puede detectar, lo que alerta sobre una posible manipulación, incluso si la herramienta intenta permanecer oculta.
Mientras que herramientas como Shamiko Aunque intenten ocultar su presencia, estas modificaciones suelen introducir elementos adicionales que nuestras soluciones de seguridad pueden detectar. elegir una solución de endurecimiento de la aplicaciónBusque productos que reconozcan anomalías tanto ambientales como en el proceso, ofreciendo una defensa sólida contra la manipulación y las modificaciones no autorizadas.
Mejores prácticas para proteger las aplicaciones de Android contra las herramientas de rooteo
Herramientas de enraizamiento, o rootkitsLas tecnologías de seguridad están en constante evolución, lo que supone un reto importante para los desarrolladores de aplicaciones que buscan proteger su software de la manipulación y las técnicas para eludir la detección. Ante la rápida introducción de nuevas metodologías, es fundamental que los proveedores de aplicaciones implementen soluciones de seguridad especializadas que puedan adaptarse a estos cambios.
Para efectivamente safePara proteger las aplicaciones Android, las medidas de seguridad deben abordar tanto las técnicas de manipulación de procesos como las del entorno. Las herramientas que manipulan procesos suelen dejar rastros accesibles dentro del entorno aislado de la aplicación, mientras que las que manipulan el entorno pueden alterar el estado del sistema, creando anomalías detectables. Reconocer estas huellas distintivas subraya la importancia de contar con capacidades de detección por capas en soluciones de seguridad robustas.
Digital.ai Ofrece un conjunto completo de protecciones para defenderse contra herramientas de rooteo e intentos de manipulación:
-
- Protección de suma de comprobación: Valida la integridad del código de la aplicación., garantizando que cualquier modificación no autorizada se detecte rápidamente.
- Protección contra la detección de raícesIdentifica una amplia gama de rootkits en diversas versiones, proporcionando una detección de root resistente incluso a medida que estas herramientas evolucionan.
- Consciente de la aplicaciónUn servicio de análisis y monitorización de amenazas a las aplicaciones que proporciona visibilidad en tiempo real de los ataques. App Aware registra los activadores de protección en un servidor centralizado, lo que permite a las organizaciones supervisar las amenazas a las aplicaciones y reaccionar de forma adecuada.
Al integrar estas protecciones, los desarrolladores de aplicaciones pueden establecer medidas de seguridad robustas contra una amplia gama de herramientas de rooteo, preservando la integridad de sus aplicaciones y safeprotección de datos confidenciales.
Para obtener información sobre cómo proteger las aplicaciones iOS contra amenazas similares, consulte nuestra Entrada anterior del blog, “Entendiendo las fugas de cárcel”, que explora estos desafíos dentro del ecosistema iOS.
Conclusión: Abordar el desafío del enraizamiento y la preparación para el futuro de la seguridad
El auge de herramientas como magisk, con su integración a través de zigisk y módulos como Shamiko, representa un desafío constante para la seguridad de las aplicaciones de Android. Sin embargo, con un enfoque proactivo y adaptativo, a pesar de las afirmaciones sobre el hackeo de Shamiko, existen soluciones como Digital.ai, El paquete de seguridad de Android proporciona sólidas defensas contra estas amenazas en constante evolución.
Si eres desarrollador o representas a una empresa que busca proteger tus aplicaciones móviles contra las amenazas más recientes, considera lo siguiente: soluciones de seguridad integrales proporcionadas por Digital.ai, incluyendo App AwareAnticípese a los atacantes y asegúrese de que sus aplicaciones estén protegidas contra herramientas como Magisk y Shamiko.
1. Si bien no podemos pronunciarnos sobre si el uso de Magisk es ilegal en la jurisdicción donde se encuentre el lector, sabemos que su uso infringe los Términos de Servicio de Android. Nota: Aunque no todos los usuarios de Magisk son ciberdelincuentes, sí lo son. safe Esto significa que todos los actores que amenazan a Android pueden usar Magisk y, de hecho, lo hacen con frecuencia.
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…