En lo que podría ser la noticia más significativa sobre jailbreak de este año, finalmente tenemos un Bypass de Detección de Jailbreak adecuado que no puede ser derrotado con una simple actualización de la aplicación. Estoy hablando de RootHide, un proyecto que fue publicado hace unas horas en Reddit. Según el desarrollador y los usuarios que participaron en las pruebas beta, ninguna de las aplicaciones probadas con Dopamine Jailbreak y RootHide pudo detectar que el usuario tenía un jailbreak.
Según los usuarios que han probado la versión beta de RootHide, desde aplicaciones bancarias hasta redes sociales, juegos y más, funcionan incluso si tienes un jailbreak. ¡Increíble!
¿Por qué las aplicaciones detectan los jailbreaks en iOS?
El jailbreak es completamente legal gracias a las exenciones de la DMCA a partir de 2010. No hay nada malo en personalizar tu dispositivo con iconos personalizados, temas, fuentes y cambios en la interfaz de usuario.
A pesar de ello, el jailbreak implica el uso de vulnerabilidades de seguridad porque Apple simplemente no quiere permitir que personalices el dispositivo a tu manera.
Estas vulnerabilidades de seguridad son utilizadas por los desarrolladores de jailbreak para deshabilitar o saltarse temporalmente varias funciones de seguridad de iOS a cambio de poder personalizar el dispositivo. Sin embargo, esto deja a los usuarios vulnerables a estos errores y, por lo general, en una versión obsoleta de iOS.
Apple tiene un punto, el problema no es ese, sino el hecho de que debería poder decidir si quiero arriesgarme a romper mi dispositivo o usar software inseguro.
¿Por qué RootHide funciona y por qué los otros Bypasses de Detección de Jailbreak no?
Para entender mejor por qué RootHide funciona, necesitamos comprender la diferencia entre los jailbreaks clásicos y los jailbreaks sin raíz.
Un jailbreak clásico (hasta iOS 14) vuelve a montar el sistema de archivos ROOT como Lectura / Escritura como parte del proceso de jailbreak. También coloca sus binarios base y las modificaciones instaladas en el sistema de archivos ROOT (también conocido como la partición del sistema).
Debido a estas modificaciones, es muy fácil para cualquier aplicación simplemente verificar la existencia de ciertos archivos. Por ejemplo, una aplicación puede hacer una prueba rápida, ver si Cydia está instalado en /Applications/Cydia.app y si lo está, se considera que el dispositivo tiene un jailbreak.
Algunos ajustes de Bypass de Detección de Jailbreak ocultaban ingeniosamente estos archivos de jailbreak cuando una aplicación intentaba verificar su existencia, por lo que los desarrolladores introdujeron diferentes formas de verificar el jailbreak. Probaban si las DYLIBs de inyección de ajustes estaban inyectadas en sus aplicaciones, buscaban archivos de configuración conocidos de Cydia y Sileo, probaban esquemas URI, etc.
Durante muchos años, la detección de jailbreak fue un juego del gato y el ratón, con la mayoría de los Bypasses especializados en aplicaciones específicas en lugar de ser una solución general.
En los últimos años, las personas tuvieron éxito con herramientas como VNODEBYPASS, KernBypass, ABypass y Choicy, pero aun así el éxito fue irregular.
¿La detección de jailbreak está muerta, el jailbreak está vivo de nuevo?
Desde que llegó iOS 15, la comunidad de jailbreak se enfrentó a una tarea difícil. Crear un jailbreak normal ya no es posible porque intentar remontar la partición del sistema de archivos ROOT como Lectura / Escritura provoca que el dispositivo se bloquee y se reinicie.
Los desarrolladores ingeniosos en la comunidad de jailbreak idearon jailbreaks sin raíz. Este es esencialmente un jailbreak normal, pero en lugar de volver a montar la partición del sistema y volcar sus archivos allí, la deja intacta.
Todos los archivos de jailbreak, ajustes, temas y configuraciones se colocan en la partición del usuario, que en su mayoría es de Lectura / Escritura para empezar. Una rápida escapada del entorno de seguridad y puedes leer y escribir en cualquier ruta de la partición del usuario (VAR).
Por supuesto, los ajustes y herramientas tuvieron que actualizarse para esperar que se cargaran desde VAR en lugar de la partición del sistema. Pero una vez que se realizaron estas actualizaciones, los jailbreaks construidos sobre este paradigma funcionaron bastante bien (ver PaleRa1n y Dopamine Jailbreak).
RootHide es como ningún otro Bypass de Detección de Jailbreak
Todos los demás Bypasses disponibles son ajustes que se
cargan después de que el jailbreak se carga. Siendo ajustes, no pueden interactuar realmente con el jailbreak en sí y en su lugar intentan bloquear la visibilidad de archivos, deshabilitar selectivamente la inyección de ajustes, etc.
RootHide no es un ajuste. RootHide está integrado en el jailbreak. En realidad, está integrado dentro del código de Dopamine, lo que significa que puede ser consciente de lo que está haciendo el jailbreak y controlar el jailbreak para hacerlo invisible cuando sea necesario.
Dado que RootHide está integrado en el código de la herramienta de jailbreak, se puede imaginar que el jailbreak puede ocultarse a sí mismo en lugar de depender de un ajuste de terceros para intentarlo.
El resultado: Todas las aplicaciones probadas no pudieron decir que los probadores tenían Dopamine Jailbreak en funcionamiento. Ninguna de ellas.
¿Funciona RootHide con cualquier jailbreak?
Dado que RootHide no es un ajuste, sino que se integra en el código del jailbreak, el mayor inconveniente es que requiere que el jailbreak sea de código abierto (para que el código se pueda agregar) o que el desarrollador del jailbreak lo integre manualmente en su herramienta de código cerrado.
Según el desarrollador, cualquier jailbreak sin raíz puede integrarse con RootHide a nivel de código, y se pueden crear jailbreaks sin raíz para cualquier versión de iOS para la cual podríamos hacer un jailbreak tradicional. En teoría, sí, se puede tener soporte hasta iOS 12 aproximadamente si los desarrolladores de jailbreak cooperan (o si los jailbreaks son de código abierto).
La forma en que funciona RootHide es minimizando los cambios del jailbreak en el sistema, en lugar de usar inyecciones/modificaciones/ parches/ganchos como otros ajustes.
¿Dónde puedo encontrar RootHide?
RootHide está actualmente en fase Beta y es de código abierto en GitHub. Por ahora, aún están trabajando en mejorarlo, pero deberías poder probarlo si tienes un dispositivo o versión de iOS compatible con el jailbreak de Dopamine.
Por ahora, solo Dopamine es compatible porque expandir el soporte requiere que otros desarrolladores de jailbreak cooperen. También puedes seguir la cuenta de Twitter del proyecto aquí. También puedes seguirnos a nosotros para más noticias mientras estás en ello.