🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónPermisos: normales, peligrosos y los que la app pide sin usar
5 tareas · 35 min · Principiante
Los permisos son lo que una aplicación le pide al sistema, y por extensión al usuario. Android los clasifica por nivel de protección: unos se conceden al instalar sin molestar a nadie, otros exigen que el usuario los apruebe cuando la app los necesita, y otros solo los puede tener quien comparta firma. En una revisión autorizada el permiso importa por dos motivos: lo que da si la app se compromete, y lo que revela de la app si se pide sin usar. En esta sala se contrasta la lista de permisos de Quetzal Recibos con el uso que el análisis estático encuentra en su código, y se redacta la medida que corresponde.
Objetivo de la sala
Los permisos son lo que una aplicación le pide al sistema, y por extensión al usuario. Android los clasifica por nivel de protección: unos se conceden al instalar sin molestar a nadie, otros exigen que el usuario los apruebe cuando la app los necesita, y otros solo los puede tener quien comparta firma. En una revisión autorizada el permiso importa por dos motivos: lo que da si la app se compromete, y lo que revela de la app si se pide sin usar. En esta sala se contrasta la lista de permisos de Quetzal Recibos con el uso que el análisis estático encuentra en su código, y se redacta la medida que corresponde.Según la documentación oficial de Android, los permisos de instalación se conceden al instalar la app. Entre ellos están los normales, que dan acceso a datos o acciones de riesgo mínimo para la privacidad, y los de firma, que solo se conceden a quien comparte certificado con la app o el sistema que los define. Los permisos peligrosos, en cambio, dan acceso a datos sensibles y exigen que el usuario los apruebe en tiempo de ejecución: la ubicación, los contactos, la cámara, el micrófono o los mensajes.
Para una revisión, el nivel decide la prioridad: un permiso peligroso sobrante es un hallazgo; uno normal casi nunca lo es. Los permisos propios de la app, definidos en su manifiesto, suelen ser de firma: sirven para que solo otras apps de la misma empresa llamen a sus componentes.
Responde para continuar
¿Qué distingue a un permiso peligroso de uno normal?
Ver pista de ayuda
Piensa en el diálogo que ve el usuario: lo piden los permisos que tocan datos sensibles, no los de riesgo mínimo.
El analizador estático busca en el código las referencias a cada permiso declarado. Un permiso con cero referencias es un permiso que la aplicación pide y no necesita: no hace nada útil, y si el permiso es peligroso, deja a la app con acceso a datos que no usa, y a un usuario con un diálogo de más. Si la aplicación se compromete por otro lado, ese acceso sobrante lo hereda quien la controle.
La medida es el mínimo privilegio: quitar de la declaración lo que no se usa. A veces el permiso es herencia de una biblioteca o de una función retirada, así que el hallazgo se redacta como «declarado sin uso» y se confirma con el equipo antes de proponer la baja.
Responde para continuar
En la salida del analizador, escribe el nombre corto del permiso peligroso que tiene cero referencias en el código.
Ver pista de ayuda
Compara las dos lecturas: declarados con su nivel, y uso en el código. Busca la fila con cero referencias.
Un número honesto abre el informe: cuántos permisos peligrosos declara la app. No cuenta el total de permisos, porque los normales casi no pesan, ni cuenta los que el usuario podría negar por su cuenta. Cuenta los que el manifiesto declara con nivel peligroso. Es un indicador de superficie, no de culpa: una app de mapas tiene más que una calculadora, y cada uno se justifica o no por la función.
El número se obtiene de la lista de permisos declarados y de su nivel de protección. Se anota junto a los permisos que se justifican por función, para que el lector vea cuántos de los peligrosos tienen una razón visible en la app.
Responde para continuar
Cuenta los permisos con nivel peligroso que declara el manifiesto de Quetzal Recibos y escribe cuántos son.
Ver pista de ayuda
Usa la lista de declarados con su nivel; no cuentes el permiso que define la propia app ni los de nivel normal.
Una aplicación puede definir sus propios permisos, normalmente de nivel de firma, para proteger sus componentes frente a otras apps. Definir el permiso no basta: hay que aplicarlo a los componentes, con el atributo permission o con los atributos de lectura y escritura de un proveedor. Un permiso definido y no aplicado es una intención que no llegó a ejecutarse, y suele aparecer en el análisis como «definido, no aplicado».
Este caso conecta con la sala anterior: el proveedor de recibos exportado sin permiso estaba pidiendo a gritos una protección, y la app tenía una definida. La corrección es aplicarla, no definir otra.
Responde para continuar
Escribe el nombre del permiso propio que la app define y no aplica a ningún componente.
Ver pista de ayuda
Está al final de las dos lecturas, en el bloque aparte de los permisos que define la propia app.
La medida de un hallazgo de permisos tiene dos caras. Para el permiso peligroso sin uso: quitarlo del manifiesto, tras confirmar que ninguna función ni biblioteca lo necesita. Para el permiso propio sin aplicar: aplicarlo al componente que debía proteger, y comprobar que las apps de la misma empresa que lo usan tienen la misma firma. En ambos casos la severidad se decide por lo que dejaría alcanzable, no por cuántos permisos haya.
Una medida mal redactada es la que pide «revisar los permisos» sin decir cuáles. Un informe útil nombra el permiso, el componente y el cambio exacto.
Responde para continuar
Para el permiso peligroso sin uso y el permiso propio sin aplicar, ¿qué medidas se proponen?
Ver pista de ayuda
Mínimo privilegio para lo que sobra, y aplicación real para lo que se definió pero no se usó.
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
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.