MobileIron no wrappea las extensiones en iOS

Lo siento por el spoiler del titulo. Pero es que nos hemos encontrado con que las extensiones en iOS no funcionaban correctamente después de “wrappear” una aplicación con MobileIron y no había nada de documentación sobre ello en MobileIron ni en el internet en general. De ahi que el titulo elegido sea este, de forma que este post pueda servir para evitar problemas y quebraderos de cabeza a otros desarrolladores.

MobileIron es un MDM (Mobile device management). Una plataforma que permite distribuir aplicaciones de forma interna y que también permite añadir a estas aplicaciones una capa extra de seguridad (passcode, borrado remoto de datos, secure tunneling…).
Es uno de los MDM más utilizados a nivel mundial.

En esta última ocasión nos encontramos con que una aplicación”wrappeada” con el Wrapper de MobileIron que utiliza “Secure Tunneling” para acceder a un servidor interno tiene problemas.
Si se utiliza la aplicación principal funciona correctamente y es capaz de acceder a un servidor de la red interna, pero desde la extensión del Share In no es capaz de acceder al servidor.

Mobile Iron Wrapper

Utilizando un proxy (Charles o Mitmproxy) vimos las peticiónes de red y descubrimos que el Wrapper de MobileIron lo que hace es modificar las requests al vuelo.
Si la aplicación se tiene que conectar con https://internal.company.com lo que hace en realidad es cambiar las request por https://sentry.company.com que es el servidor de MobileIron que se encarga de hacer el tunneling de forma que las request antes de llegar a https://internal.company.com pasan primero por https://sentry.company.com y este las redirige hacia https://internal.company.com para que dichas requests lleguen a su destino.

Pero en la extensión del Share In no ocurria esto. Las request siempre se dirigian hacia https://internal.company.com por lo que jamás llegaban a su destino. También vimos que si teníamos activada la politica del Passcode dicho Passcode nunca era pedido al abrir la aplicación desde la extensión.

Con estos dos descubrimientos supusimos que el problema debía estar en el Wrapper y que este no”wrappeaba” las extensiones por alguna razón así que nos pusimos en contacto con el equipo de soporte de MobileIron el cual nos confirmo nuestra teoría.
Cuando se abre una aplicación Wrappeada con MobileIron esta aplicación nos redirige automáticamente a otra aplicación llamada [email protected] para leer y aplicar las políticas de la aplicación que acabamos de abrir. De esta forma nuestra aplicación tiene todas las políticas de seguridad.
Cuando se utiliza una extensión este proceso de redirección a [email protected] no se puede hacer ya que las extensiones trabajan en otro hilo de ejecución distinto al de la aplicación principal.

Aunque las extensiones suelen ser funcionalidades pequeñas estas podrían poner en riesgo la seguridad de la aplicación dado que podrían dar acceso a información que debería estar restringida, por eso es muy importante saber esto para evitar posibles problemas de seguridad en nuestras aplicaciones “wrappeadas” con MobileIron.

Deja un comentario

Responsable » Solidgear.
Finalidad » Gestionar los comentarios.
Legitimación » Tu consentimiento.
Destinatarios » Los datos que me facilitas estarán ubicados en los servidores SolidgearGroup dentro de la UE.
Derechos » Podrás ejercer tus derechos, entre otros, a acceder, rectificar, limitar y suprimir tus datos.

By completing the form you agree to the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.