Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Entitlements y capacidades: lo que Apple le deja hacer a la app

4 tareas · 45 min · Principiante

Un entitlement es un permiso de plataforma sellado en la firma de la app: puede recibir notificaciones push, compartir llavero con otras apps de su equipo, asociarse a dominios web o, en las compilaciones de desarrollo, dejar que un depurador se le adjunte. No son los permisos que el usuario concede en pantalla; son los que el sistema otorga según la firma y el perfil. En esta sala se lee la firma de Quetzal Cliente y la de su extensión de notificaciones, y se separa lo que la firma lleva de lo que el perfil solo permitía.

0 de 4 · 0%

Objetivo de la sala

Un entitlement es un permiso de plataforma sellado en la firma de la app: puede recibir notificaciones push, compartir llavero con otras apps de su equipo, asociarse a dominios web o, en las compilaciones de desarrollo, dejar que un depurador se le adjunte. No son los permisos que el usuario concede en pantalla; son los que el sistema otorga según la firma y el perfil. En esta sala se lee la firma de Quetzal Cliente y la de su extensión de notificaciones, y se separa lo que la firma lleva de lo que el perfil solo permitía.

Hay dos documentos y se confunden con facilidad. El perfil de aprovisionamiento es una lista blanca: enumera los entitlements que el equipo de desarrollo tiene permitido usar con esa app. Los entitlements de la firma son los que la app realmente lleva sellados. Un entitlement solo es efectivo si está en la firma, y la firma solo puede llevar los que el perfil permite.

Por eso la revisión mira la firma, no el perfil. Que el perfil permita compartir llavero no significa que la app lo haga; que la firma lleve una clave sí significa que la app la tiene. Y la diferencia entre ambos puede ser un hallazgo en sí misma, porque una capacidad habilitada que nadie usa es superficie que sobra.

Responde para continuar

Para saber qué entitlements tiene realmente una app, ¿qué se lee y por qué?

Ver pista de ayuda

El perfil es una lista de lo permitido; la firma, de lo que la app lleva.

Existe un entitlement booleano que autoriza a un depurador a adjuntarse al proceso de la app. Las compilaciones de desarrollo lo llevan en verdadero, porque el equipo necesita depurar. Una compilación que sale a manos de otras personas debe llevarlo en falso o no llevarlo, porque en verdadero deja que el proceso se inspeccione desde fuera.

La ficha de la compilación 3.8.1 dice que es una configuración de publicación enviada por canal ad hoc a clientes piloto. Con eso en mente, revisa los entitlements de la firma de la app y de la extensión, y localiza el valor que no corresponde a ese canal.

Responde para continuar

Escribe el nombre del entitlement que está en verdadero en la app y que no corresponde a un canal de distribución.

Ver pista de ayuda

Compara la app con su extensión: una de las dos lleva en verdadero una clave que la otra tiene en falso.

Para recibir notificaciones push, la app lleva un entitlement que indica con qué entorno del servicio de notificaciones de Apple trabaja. Tiene dos valores posibles, uno para el entorno de pruebas y otro para el de producción. Una compilación que sale a clientes de verdad con el valor de pruebas recibe avisos por un canal distinto del que usa el servidor de producción, y el equipo suele notarlo porque los avisos no llegan.

En términos de seguridad es un descuido de configuración más que una brecha, pero delata un proceso de compilación que no distingue entornos, como el archivo de pruebas de la sala anterior. Lee la firma de la app y anota con qué valor salió esta compilación.

Responde para continuar

Escribe el valor del entitlement del entorno de notificaciones con el que salió esta compilación.

Ver pista de ayuda

Es el entitlement cuyo nombre empieza por aps.

El entitlement de grupos de acceso al llavero define qué elementos del llavero puede leer una app. Por defecto una app solo ve los suyos; si dos apps o una app y su extensión del mismo equipo llevan el mismo grupo, comparten esos elementos. Cada grupo empieza por el identificador del equipo, así que dos apps de equipos distintos no pueden compartirlo.

Compartir tiene un precio: cualquier pieza que lleve ese grupo puede leer lo que contenga, de modo que el componente más débil determina la protección de todo el grupo. Por eso se revisa quién lo comparte y para qué. Compara los grupos de la app y los de su extensión de notificaciones.

Responde para continuar

Escribe el grupo de acceso al llavero que tienen en común la app y su extensión de notificaciones.

Ver pista de ayuda

La app lleva dos grupos de llavero y la extensión solo uno. Fíjate en cuál aparece en los dos archivos.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad