Seguridad en aplicaciones móviles para empresas: lo que hay que hacer antes del lanzamiento

Guía práctica de seguridad para aplicaciones móviles empresariales: qué amenazas existen, cómo protegerse, y qué preguntar al equipo de desarrollo antes de lanzar.

Damián Oliva··7 min de lectura

La seguridad en aplicaciones móviles es el tema que nadie quiere discutir en la reunión de kickoff (porque agrega complejidad y costo) y del que todo el mundo habla después del incidente (cuando el costo es mucho mayor). Para apps empresariales que manejan datos de clientes, empleados o transacciones, la seguridad en aplicaciones móviles no es opcional: es un requisito de negocio que tiene que diseñarse desde el primer día.

Respuesta directa: ¿qué tan segura tiene que ser tu app?

Depende de qué datos maneja. Una app que accede a historial médico, datos financieros, información de menores, o que procesa pagos necesita un nivel de seguridad alto y probablemente auditoría externa. Una app interna de gestión de tareas con datos no sensibles necesita los pilares básicos (autenticación, HTTPS, control de roles) pero no requiere el mismo nivel de inversión. La regla general: el nivel de seguridad debe ser proporcional al daño potencial de una brecha.

Las vulnerabilidades más comunes en apps móviles empresariales

Basándose en el OWASP Mobile Top 10 (la referencia estándar de vulnerabilidades móviles), estas son las más frecuentes en apps empresariales:

1. Almacenamiento inseguro de datos en el dispositivo

El problema: la app guarda en el teléfono información sensible (tokens de sesión, datos del usuario, respuestas del servidor) en lugares accesibles sin cifrado.

El riesgo real: si alguien accede físicamente al dispositivo o si la app tiene una vulnerabilidad de lectura de archivos, puede acceder a esos datos.

La solución: usar el Keychain en iOS y el EncryptedSharedPreferences en Android para datos sensibles. No almacenar datos sensibles en el dispositivo si no es necesario.

2. Comunicación insegura

El problema: la app se comunica con el servidor por HTTP en lugar de HTTPS, o usa HTTPS pero acepta certificados inválidos.

El riesgo real: un atacante en la misma red Wi-Fi puede interceptar el tráfico (ataque Man-in-the-Middle) y leer o modificar la comunicación.

La solución: HTTPS obligatorio sin excepciones, certificate pinning para apps de alta sensibilidad, y rechazo de certificados autofirmados en producción.

3. Autenticación débil

El problema: contraseñas sin restricciones de complejidad, tokens de sesión que no expiran, ausencia de doble factor de autenticación en contextos sensibles.

El riesgo real: credenciales robadas permiten acceso indefinido. Sin 2FA, una contraseña filtrada es suficiente para comprometer la cuenta.

La solución: validación de complejidad de contraseña, tokens JWT con tiempo de expiración y refresh tokens, 2FA para roles con acceso a datos sensibles.

4. Control de acceso insuficiente en el backend

El problema: el frontend de la app controla qué puede ver el usuario, pero el backend no verifica esos permisos en cada solicitud.

El riesgo real: alguien puede modificar las peticiones HTTP desde la app (con herramientas como Burp Suite) y acceder a datos de otros usuarios o a funcionalidades restringidas.

La solución: el backend verifica los permisos en cada endpoint, independientemente de lo que el frontend muestre. "Never trust the client" es la regla.

5. Código de la app expone secretos

El problema: la app tiene hardcodeadas en el código API keys, tokens, contraseñas o URLs de servicios internos.

El riesgo real: el código de la app puede ser descompilado (especialmente en Android). Si hay secretos en el código, quedan expuestos.

La solución: los secretos van en el backend, nunca en el cliente. La app pide los datos al backend, que los tiene seguros. Para configuración que tiene que estar en la app (como la URL del servidor), usar variables de entorno en el build, no constantes en el código.

6. Dependencias con vulnerabilidades conocidas

El problema: la app usa bibliotecas de terceros que tienen vulnerabilidades conocidas que no se actualizaron.

El riesgo real: las vulnerabilidades de bibliotecas populares son públicamente conocidas y hay herramientas automatizadas que explotan sistemáticamente apps que usan versiones vulnerables.

La solución: análisis automático de dependencias en el pipeline de CI/CD (herramientas como Snyk o OWASP Dependency-Check), política de actualización regular de dependencias.

Los cuatro pilares de seguridad para apps empresariales

Pilar 1: Autenticación y gestión de sesiones

  • Contraseñas almacenadas con hashing seguro (bcrypt o Argon2), nunca en texto plano
  • Tokens JWT con expiración corta (15-60 minutos) y refresh tokens para renovación silenciosa
  • Logout que invalida el token en el servidor (no solo borra la cookie en el cliente)
  • Bloqueo de cuenta tras intentos fallidos de login
  • 2FA por SMS, TOTP (Google Authenticator), o email para contextos sensibles

Pilar 2: Comunicación segura

  • HTTPS/TLS 1.2 o superior en todas las comunicaciones, sin excepciones
  • Certificate pinning para apps que manejan datos financieros o médicos
  • Headers de seguridad en el servidor: HSTS, Content-Security-Policy, X-Frame-Options
  • Compresión de tráfico para reducir superficie de análisis

Pilar 3: Protección de datos

  • Cifrado de datos sensibles en la base de datos del servidor
  • Datos mínimos necesarios: no almacenar información que no se va a usar
  • Política de retención de datos: eliminar datos que ya no son necesarios
  • Cifrado del almacenamiento local en el dispositivo para datos que deben persistir offline
  • Anonimización de datos para analytics y logs

Pilar 4: Control de acceso por roles (RBAC)

  • Cada usuario tiene permisos específicos según su rol
  • Los permisos se validan en el backend en cada solicitud
  • El principio de mínimo privilegio: cada rol solo puede hacer lo que necesita para su función
  • Auditoría de accesos: log de quién accedió a qué dato y cuándo

Seguridad según el tipo de app

Tipo de app Nivel de seguridad necesario Medidas específicas
App interna de empresa (datos no sensibles) Básico Autenticación, HTTPS, RBAC
App de clientes (e-commerce, servicios) Medio Todo lo anterior + cifrado local + protección contra fraude
App financiera o de pagos Alto Todo lo anterior + 2FA obligatorio + certificate pinning + auditoría
App de salud (datos médicos) Muy alto Todo lo anterior + cumplimiento regulatorio + encriptación end-to-end + auditorías periódicas
App de menores Muy alto Requisitos específicos de COPPA/regulaciones locales

Cuánto cuesta la seguridad bien implementada

Si la seguridad se diseña desde el inicio del proyecto, no es un costo separado: está incluido en el desarrollo normal. Un equipo de desarrollo que sigue buenas prácticas implementa autenticación segura, HTTPS, y control de roles como parte estándar de cada proyecto.

Lo que sí tiene costo adicional:

Auditoría de seguridad (pentest): un pentest profesional de una app móvil y su backend cuesta entre USD 3.000 y 15.000 según el alcance. Recomendado antes del lanzamiento de apps que manejan datos sensibles o dinero.

Certificate pinning: agrega entre 1 y 3 días de desarrollo. Costo marginal, pero no todos los equipos lo implementan por defecto.

2FA: integración con servicio de SMS (Twilio, AWS SNS) o TOTP: 1-3 días de desarrollo + costo del servicio de SMS.

Cifrado end-to-end de mensajería: si la app tiene chat o mensajería, el cifrado E2E es un proyecto en sí mismo, no trivial.

Remediación post-auditoría: si la auditoría encuentra vulnerabilidades, corregirlas cuesta tiempo. El costo depende de cuántos problemas se encuentren y su severidad.

¿Estás planificando una app que va a manejar datos de clientes o transacciones? Hablemos antes de que arranque el desarrollo — es mucho más barato diseñar la seguridad desde el inicio que parcharla después.

Preguntas que hay que hacerle al equipo de desarrollo antes de firmar

Si estás contratando un equipo de desarrollo para tu app empresarial, estas preguntas te van a ayudar a evaluar si el equipo tiene madurez en seguridad:

  1. ¿Cómo almacenan las contraseñas de los usuarios? (la respuesta correcta: hashing con bcrypt o Argon2)
  2. ¿Cómo manejan los tokens de sesión? ¿Expiran? ¿Cómo se invalidan al hacer logout?
  3. ¿Hacen análisis de vulnerabilidades en dependencias durante el desarrollo?
  4. ¿El control de acceso (permisos) se valida en el backend o solo en el frontend?
  5. ¿Tienen algún proceso de revisión de seguridad antes del lanzamiento?

Si el equipo no puede responder estas preguntas con claridad, hay un riesgo serio.

Regulaciones que pueden aplicar en Argentina y LATAM

Ley 25.326 de Protección de Datos Personales (Argentina): aplica a cualquier base de datos que contenga datos personales de argentinos. Requiere medidas de seguridad adecuadas, notificación de brechas, y derechos del titular sobre sus datos.

LGPD (Brasil): similar al GDPR europeo. Aplica a cualquier empresa que procese datos de personas en Brasil.

GDPR (Europa): si tu app tiene usuarios europeos o se ofrece en Europa, aplica aunque la empresa sea argentina.

El cumplimiento de estas normativas no es solo un tema legal: es también una ventaja comercial para empresas que venden a clientes corporativos que exigen estándares de seguridad en sus proveedores.

Para apps donde las integraciones con sistemas externos son parte del alcance, ver también integraciones de apps con sistemas externos para entender los riesgos de seguridad específicos de las integraciones.

También puede interesarte

Preguntas frecuentes

¿Qué tan importante es la seguridad en una app móvil empresarial?+

Muy importante. Una app empresarial maneja datos de clientes, empleados o transacciones. Una brecha de seguridad no solo tiene costo técnico sino legal, reputacional y económico. La seguridad no es una funcionalidad que se agrega al final: tiene que diseñarse desde el inicio.

¿Qué es lo mínimo de seguridad que debe tener una app empresarial?+

Autenticación segura (contraseñas hasheadas, tokens JWT con expiración), comunicación siempre por HTTPS, almacenamiento cifrado de datos sensibles en el dispositivo, y control de acceso por roles. Sin esos cuatro pilares, la app tiene vulnerabilidades básicas.

¿Cómo protejo los datos de mis clientes en una app móvil?+

Cifrando los datos en tránsito (HTTPS/TLS), cifrando los datos en reposo en el servidor (bases de datos cifradas), no almacenando datos sensibles innecesariamente en el dispositivo, y controlando quién tiene acceso a qué datos con un sistema de roles bien definido.

¿Es necesario hacer una auditoría de seguridad antes de lanzar una app?+

Para apps que manejan datos sensibles (financieros, de salud, de menores) o transacciones de dinero, sí. Para apps de menor sensibilidad, un pentest básico y la revisión de las vulnerabilidades OWASP Mobile Top 10 antes del lanzamiento es suficiente punto de partida.

¿Cuánto cuesta agregar seguridad a una app?+

Si la seguridad se diseña desde el inicio, no tiene un costo separado: está en el alcance normal del proyecto. Si se intenta agregar después de que la app está construida, puede costar entre el 20% y el 50% del costo original, porque muchas decisiones de arquitectura tienen que rehacerse.

¿Querés que esto funcione en tu empresa?

En Deepyze convertimos procesos manuales en sistemas que trabajan solos: automatización con IA, apps web y móviles, y software a medida. Contanos tu caso y en 24 hs tenés una propuesta concreta.

Sin compromiso · Respuesta en 24 hs · Equipo en tu mismo huso horario

Seguir leyendo