Verificaciones de Seguridad en Aplicaciones Móviles (ADA en el ámbito Sectorial)

Contenido

Verificaciones de Seguridad en Aplicaciones Móviles

  • M1 - Uso inapropiado de la Plataforma
  • M2 - Almacenamiento de Datos Inseguro
  • M3 - Comunicación Insegura
  • M4 - Autenticación Insegura
  • M5 - Criptografía Insuficiente
  • M6 - Autorización Insegura
  • M7 - Calidad del Código en el Cliente
  • M8 - Manipulación de Código
  • M9 - Ingeniería Inversa
  • M10 - Funcionalidades Extrañas

1. Interacción con la plataforma (M1 - Uso inapropiado de la Plataforma)

IdentificadorDescripciónAyudaSeveridadCVSS
SEG-1.1Verificar que la aplicación solo requiera el conjunto mínimo de permisos necesarios.La aplicación móvil solicita más permisos de los estrictamente necesarios para su funcionamientoAlta7.4
SEG-1.2Verificar que todas las entradas de fuentes externas y el usuario estén validados y, si es necesario, desinfectados. Esto incluye datos recibidos a través de la interfaz de usuario, mecanismos de IPC como intentos, URLs personalizadas y fuentes de red.La aplicación móvil no valida ni depura adecuadamente la información que recibe desde el usuario, la red u otras fuentes externasMedia6.4
SEG-1.3Verificar que la aplicación no exporta funcionalidad sensible a través de esquemas de URL personalizados, a menos que estos mecanismos estén protegidos adecuadamente.La aplicación móvil expone funciones sensibles mediante esquemas de URL personalizados sin protección adecuadaBaja3.1
SEG-1.4Verificar que la aplicación no exporta funcionalidad sensible a través de las instalaciones de IPC, a menos que estos mecanismos estén protegidos adecuadamente.La aplicación móvil expone funciones sensibles a través de mecanismos de comunicación interna sin medidas de seguridadMedia6.0
SEG-1.5Verificar que JavaScript esté deshabilitado en WebViews a menos que se requiera explícitamente.La aplicación móvil permite la ejecución de JavaScript en WebViews sin que sea necesarioMedia5.3
SEG-1.6Verificar que las WebViews estén configuradas para permitir sólo el conjunto mínimo de handlers de protocolos necesarios (idealmente, solo https). Los handlers potencialmente peligrosos, como archivo, teléfono y aplicación-id, están deshabilitados.La aplicación móvil permite protocolos o manejadores peligrosos en WebViews en lugar de restringirse a HTTPSBaja3.1
SEG-1.7Si los métodos nativos de la aplicación están expuestos a la WebView, verificar que la WebView sólo presente JavaScript dentro del paquete de la aplicación.La aplicación móvil expone métodos nativos a la WebView sin limitar el uso de JavaScript únicamente al código de la propia aplicaciónBaja3.5
SEG-1.8Verificar que la serialización de objetos, si la hay, se implementa utilizando las API seguras de serialización.La aplicación móvil utiliza mecanismos inseguros de serialización de objetosMedia4.2

 

2. Almacenamiento de datos y privacidad (M2 - Almacenamiento de Datos Inseguro)
IdentificadorDescripciónAyudaSeveridadCVSS
SEG-2.1Verificar que las instalaciones de almacenamiento de credenciales del sistema se utilicen de forma adecuada para almacenar datos confidenciales, como credenciales de usuario o claves criptográficas.La aplicación móvil no utiliza adecuadamente el almacenamiento seguro del sistema para guardar credenciales y/o claves criptográficasMedia5.3
SEG-2.2Verificar que no se escriban datos confidenciales en los registros de la aplicación (logs).La aplicación móvil registra datos confidenciales en los logsMedia4.2
SEG-2.3Verificar que no se compartan datos confidenciales con terceros a menos que sea una parte necesaria de la arquitectura.La aplicación móvil comparte información sensible con terceros sin que sea estrictamente necesarioBaja2.6
SEG-2.4Verificar que la memoria caché del teclado esté desactivada en las entradas de texto que procesan datos confidenciales.La aplicación móvil permite que el teclado guarde en caché entradas de texto que contienen datos confidencialesMedia6.8
SEG-2.5Verificar que el portapapeles esté desactivado en los campos de texto que pueden contener datos confidenciales.La aplicación móvil permite copiar al portapapeles información sensible introducida en campos de textoBaja2.4
SEG-2.6Verificar que no haya datos sensibles expuestos a través de los mecanismos de IPC.La aplicación móvil expone datos sensibles a través de mecanismos de comunicación internaMedia4.9
SEG-2.7Verificar que no se muestren datos confidenciales, como contraseñas y números de tarjetas de crédito, a través de la interfaz del usuario o que se filtren capturas de pantalla.La aplicación móvil expone datos sensibles, a través de la interfaz del usuario o que se filtren capturas de pantallaMedia4.6
SEG-2.8Verificar que no se incluyan datos confidenciales en las copias de seguridad.La aplicación móvil incluye información confidencial en las copias de seguridadMedia5.7
SEG-2.9Verificar que la aplicación elimine los datos confidenciales de las vistas cuando están en segundo plano.La aplicación móvil no elimina la información sensible de las vistas cuando pasa a segundo planoBaja2.4
SEG-2.10Verificar que la aplicación no contenga datos confidenciales en la memoria más tiempo de lo necesario y que la memoria se borra explícitamente después de su uso.La aplicación móvil conserva datos confidenciales en memoria más tiempo del necesario y no los borra de forma segura después de su usoMedia4.7
SEG-2.11Verificar que la aplicación aplique una política mínima de seguridad de acceso al dispositivo, como solicitar al usuario que establezca un código de acceso del dispositivo.La aplicación móvil no implementa una política básica de seguridad de acceso en el dispositivoBaja3.8
SEG-2.12Verificar que la aplicación eduque al usuario sobre los tipos de información de identificación personal procesada, así como sobre las mejores prácticas de seguridad que el usuario debe seguir para usar la aplicación.La aplicación móvil no educa al usuario sobre los tipos de información de identificación personal procesada, así como sobre las mejores prácticas de seguridad que éste debe seguir para su usoBaja1.6

 

3. Comunicación de red (M3 - Comunicación Insegura)
IdentificadorDescripciónAyudaSeveridadCVSS
SEG-3.1Verificar que los datos estén encriptados en la red usando TLS. El canal seguro se usa de manera consistente en toda la aplicación.La aplicación móvil transmite datos sin cifrado adecuado porque no utiliza el protocolo TLS de forma consistente en toda la comunicaciónAlta7.5
SEG-3.2Verificar que la configuración de TLS esté en línea con las mejores prácticas actuales, en la medida en que sean compatibles con el sistema operativo móvil.La aplicación móvil utiliza una implementación del protocolo TLS débil o desactualizadaMedia5.9
SEG-3.3Verificar que la aplicación comprueba el certificado X.509 del punto extremo remoto cuando se establezca el canal seguro. Sólo se aceptan certificados firmados por una CA válida.La aplicación móvil no valida correctamente el certificado X.509 del servidor, permitiendo aceptar certificados falsos o no confiablesAlta8.5
SEG-3.4Verificar que la aplicación utiliza su propio almacén de certificados o fija el endpoint o la clave pública y, posteriormente, no establece conexiones con los puntos finales que ofrecen un certificado o clave diferente, incluso si está firmado por una CA confiable.La aplicación móvil no implementa verificación estricta de certificados aceptando certificados, aunque no sean los esperadosBaja3.7
SEG-3.5Verificar que la aplicación no dependa de un solo canal de comunicación inseguro (correo electrónico o SMS) para operaciones críticas, como inscripciones y recuperación de cuentas.La aplicación móvil depende de canales de comunicación inseguros para operaciones críticasAlta7.1
SEG-3.6Verificar que la aplicación solo dependa de bibliotecas actualizadas de conectividad y seguridad.La aplicación móvil emplea bibliotecas de conectividad y seguridad desactualizadas y/o vulnerablesMedia6.5

 

4. Autenticación y administración de sesiones (M4 - Autenticación Insegura y M6 -Autorización Insegura)
IdentificadorDescripciónAyudaSeveridadCVSS
SEG-4.1Verificar que, si la aplicación proporciona a los usuarios acceso a un servicio remoto, se realiza una forma de autenticación aceptable, como la autenticación de nombre de usuario / contraseña en el endpoint remoto.La aplicación móvil permite el acceso a un servicio remoto sin implementar un mecanismo de autenticación adecuadoAlta8.1
SEG-4.2Verifique que el punto extremo remoto use identificadores de sesión generados aleatoriamente, si se usa la administración clásica de sesiones del lado del servidor, para autenticar las solicitudes del cliente sin enviar las credenciales del usuario.El servidor emplea identificadores de sesión predecibles en lugar de valores aleatoriosMedia5.6
SEG-4.3Verifique que el punto extremo remoto utilice tokens firmados del lado del servidor, si se utiliza la autenticación sin estado, para autenticar las solicitudes del cliente sin enviar las credenciales del usuario.El servidor no emplea tokens firmados desde el lado del servidor lo que permite falsificar solicitudes del clienteAlta7.3
SEG-4.4Verificar que el punto extremo remoto finaliza la sesión existente cuando el usuario cierra la sesión.El servidor no finaliza correctamente la sesión cuando el usuario cierra sesión en la aplicación móvilMedia6.6
SEG-4.5Verificar que exista una política de contraseñas y se aplique en el punto final remoto.El servidor carece de una política de contraseñas robusta o no la aplica adecuadamenteMedia5.6
SEG-4.6Verificar que el punto extremo remoto implemente un retroceso exponencial o que bloquee temporalmente la cuenta de usuario cuando se envían credenciales de autenticación incorrectas una cantidad excesiva de veces.El servidor no bloquea ni ralentiza los intentos de autenticación tras múltiples fallosAlta7.3
SEG-4.7Verificar que la autenticación biométrica, si la hay, no está unida a un evento (es decir, que utiliza una API que simplemente devuelve "true" o "false"). En cambio, se basa en desbloquear el llavero / almacén de claves.La aplicación móvil implementa la autenticación biométrica de forma inadecuadaMedia4.1
SEG-4.8Verificar que las sesiones finalicen en el punto final remoto después de un período de inactividad predefinido.  El servidor mantiene sesiones activas indefinidamente y no las expira tras un periodo de inactividadMedia5.0
SEG-4.9Verificar que exista un segundo factor de autenticación en el punto extremo remoto y que el requisito 2FA se aplique de manera coherente.El servidor no implementa un segundo factor de autenticación o no lo aplica de manera adecuadaMedia4.2
SEG-4.10
Verificar que se requiera autenticación incremental para habilitar acciones que se ocupen de datos o transacciones confidenciales.
El servidor permite ejecutar acciones sensibles sin exigir autenticación adicional (incremental)Media6.2
SEG-4.11Verificar que la aplicación informe al usuario de todas las actividades de inicio de sesión con su cuenta. Los usuarios pueden ver una lista de los dispositivos utilizados para acceder a la cuenta y bloquear dispositivos específicos.El servidor no notifica al usuario sobre accesos a su cuenta ni permite gestionar los dispositivos autorizadosN/AN/A

 

5. Criptografía (M5 - Criptografía Insuficiente)
IdentificadorDescripciónAyudaSeveridadCVSS
SEG-5.1Verificar que la aplicación no dependa de la criptografía simétrica con claves codificadas como único método de encriptación.La aplicación móvil depende únicamente de criptografía simétrica con claves incrustadas en el códigoMedia4.6
SEG-5.2Verificar que la aplicación utiliza implementaciones comprobadas de primitivas criptográficas.La aplicación móvil emplea primitivas criptográficas propias o no comprobadas en lugar de implementaciones reconocidas y segurasMedia5.9
SEG-5.3Verificar que la aplicación utiliza primitivas criptográficas que son apropiadas para el caso de uso particular, configuradas con parámetros que se adhieren a las mejores prácticas de la industria.La aplicación móvil emplea primitivas criptográficas mal configuradas o inadecuadas para el caso de usoMedia5.9
SEG-5.4Verificar que la aplicación no utiliza protocolos criptográficos o algoritmos que, en general, se consideran obsoletos por motivos de seguridad.La aplicación móvil utiliza algoritmos o protocolos criptográficos obsoletos considerados insegurosMedia5.9
SEG-5.5Verificar que la aplicación no vuelva a utilizar la misma clave criptográfica para múltiples propósitos.La aplicación móvil reutiliza la misma clave criptográfica para diferentes funcionesBaja3.1
SEG-5.6Verificar que todos los valores aleatorios se generen utilizando un generador de números aleatorios suficientemente seguro.La aplicación móvil genera valores aleatorios con métodos inseguros en lugar de un generador de números aleatorios criptográficamente fuerteBaja3.7

 

6. Calidad del código y configuraciones de compilación (M7 - Calidad de código en el Cliente)
IdentificadorDescripciónAyudaSeveridadCVSS
SEG-6.1Verificar que la aplicación esté firmada y provista con un certificado válido.La aplicación móvil no está firmada o utiliza un certificado inválidoAlta7.5
SEG-6.2Verificar que la aplicación se haya creado en modo de lanzamiento, con las configuraciones apropiadas para una compilación de lanzamiento (p. Ej., non-debuggable).La aplicación móvil se distribuye en modo depuración exponiendo configuraciones insegurasMedia4.3
SEG-6.3Verificar que los símbolos de depuración se hayan eliminado de los binarios nativos.La aplicación móvil conserva símbolos de depuración en los binarios nativosN/AN/A
SEG-6.4Verificar que se haya eliminado el código de depuración y que la aplicación no registre errores detallados ni mensajes de depuración.La aplicación móvil incluye código o mensajes de depuración detallados que revelan información confidencialBaja2.4
SEG-6.5Verificar que todos los componentes de terceros usados por la aplicación, como librerías y frameworks, estén identificados y verificados para detectar vulnerabilidades conocidas.La aplicación móvil emplea librerías y/o frameworks de terceros con vulnerabilidades conocidasN/AN/A
SEG-6.6Verificar que la aplicación capte y maneje posibles excepciones.La aplicación móvil no gestiona correctamente excepcionesBaja3.7
SEG-6.7Verificar que la lógica de manejo de errores en los controles de seguridad niega el acceso por defecto.La aplicación móvil no implementa una lógica adecuada para el manejo de errores en los controles de seguridad permitiendo acceso en lugar de denegarlo por defectoBaja3.7
SEG-6.8Verificar que en el código no administrado, la memoria se asigna, libera y usa de forma segura.El código no administrado de la aplicación móvil se gestiona de forma inseguraBaja1.8
SEG-6.9Verificar que las funciones de seguridad gratuitas que ofrece la cadena de herramientas, como byte-code minification, stack protection, PIE support y el conteo automático de referencias, estén activadas.La aplicación móvil no desactiva las funciones de seguridad del compilador y la cadena de herramientasAlta7.5

 

7. Impedir el análisis dinámico y la manipulación (M8 - Manipulación de Código y M9 - Ingeniería Inversa)
IdentificadorDescripciónAyudaSeveridadCVSS

SEG-7.1

Verificar que la aplicación implemente dos o más métodos funcionalmente independientes de detección de root y responda a la presencia de un dispositivo rooteado ya sea alertando al usuario o finalizando la aplicación.La aplicación móvil no detecta si el dispositivo está rooteadoBaja3.7
SEG-7.2La ofuscación es aplicada a las defensas programáticas, lo que a su vez impide la des-ofuscación mediante el análisis dinámico.La aplicación móvil no aplica ofuscación a sus defensas, facilitando que un atacante realice ingeniería inversa o análisis dinámico para deshabilitarlasBaja3.9

 

8. Arquitectura, diseño y modelado de amenazas (M10 - Funcionalidades extrañas)

 

IdentificadorDescripciónAyudaSeveridadCVSS
SEG-8.1Verificar que todos los componentes de la aplicación estén identificados y se sepa que son necesarios.La aplicación móvil no identifica ni controla sus componentes, lo que permite la inclusión de elementos innecesarios o insegurosN/AN/A
SEG-8.2Verificar que los controles de seguridad nunca se apliquen solo en el lado del cliente, sino en los respectivos enpdpoints remotos.La aplicación móvil aplica controles de seguridad únicamente en el lado del cliente, sin validación en el servidorN/AN/A
SEG-8.3Verificar que se haya definido una arquitectura de alto nivel para la aplicación móvil y todos los servicios remotos conectados y que la seguridad se haya abordado en esa arquitectura.La aplicación móvil carece de una arquitectura de alto nivel definida que contemple la seguridad en la integración con servicios remotosN/AN/A
SEG-8.4Verificar que los datos considerados sensibles en el contexto de la aplicación móvil estén claramente identificados.La aplicación móvil no tiene identificados de forma explícita los datos sensibles que manejaN/AN/A
SEG-8.5Verificar que todos los componentes de la aplicación estén definidos en términos de las funciones de negocio y / o funciones de seguridad que proporcionan.Los componentes de la aplicación móvil no están descritos en función de su rol de negocio o de seguridad, lo que dificulta su controlN/AN/A
SEG-8.6Verificar que existe un mecanismo para aplicar las actualizaciones de la aplicación móvil.La aplicación móvil no dispone de un mecanismo seguro para aplicar actualizacionesN/AN/A
SEG-8.7Verificar que las pruebas de seguridad se realicen como parte del ciclo de vida de desarrollo.La aplicación móvil no integra pruebas de seguridad dentro del ciclo de vida de desarrolloN/AN/A

 

FECHA ACTUALIZACIÓN

25/11/2025

Contenido interno

Esta página muestra contenido adicional si accedes con tus credenciales y tu perfil está autorizado

Índice

Te puede interesar