SEALAND APP Seguridad

Seguridad en AWS para una app pública con Inteligencia Artificial

Sealand, el acuario interactivo de Ventura Entertainment en Guadalajara, opera SeaMapp: una app móvil que permite a los visitantes identificar más de 30 especies y 10 exhibiciones escaneándolas con la cámara de su celular, gracias a un modelo de Machine Learning entrenado con más de 106,000 imágenes. XalDigital, AWS Premier Tier Services Partner, diseñó e implementó la capa de seguridad que protege la aplicación, sus APIs y los datos personales de sus visitantes.

El reto: proteger una app abierta al público, sus datos y su endpoint de IA

SeaMapp está dirigida a familias y procesa perfiles, correos y credenciales de inicio de sesión con Google, Apple y Facebook, incluidos datos que pueden pertenecer a menores de edad, lo que eleva la exigencia bajo la Ley Federal de Protección de Datos Personales (LFPDPPP). La app se diseñó pensando en la experiencia del visitante, no en la seguridad, y presentaba tres riesgos:

  • Un endpoint de IA costoso y expuesto: cada escaneo invoca inferencia en Amazon SageMaker; un bot o actor malicioso podía disparar invocaciones masivas y generar un «DoS económico».
  • Datos personales sin cifrado en reposo: imágenes, base de usuarios, logs y respaldos no estaban cifrados ni tenían política de respaldo.
  • Una cuenta sin guardarraíles: nada impedía crear llaves de acceso estáticas, buckets públicos o recursos sin cifrar, y el equipo interno no cuenta con personal de seguridad dedicado.

La solución: seguridad en profundidad sin cambiar la experiencia

XalDigital incorporó una postura de seguridad completa (Defense in Depth) sobre la arquitectura serverless de SeaMapp en AWS —Amazon API Gateway, AWS Lambda, Amazon SageMaker, Amazon Aurora Serverless y Amazon S3— sin alterar la lógica de la app ni la experiencia del visitante.

¿Cómo lo hicimos?

Protección de la aplicación y sus APIs. Desplegamos AWS WAF sobre API Gateway con reglas administradas por AWS (Core Rule Set e inyección SQL) y reglas propias diseñadas para el acuario: un límite de solicitudes por IP calibrado contra el patrón real de un visitante que escanea las 30 especies y 10 exhibiciones durante su visita, geo-restricción a México y Estados Unidos, bloqueo de métodos HTTP no usados, límite de tamaño de solicitud y bloqueo de escáneres. Cada regla se validó en modo de observación con tráfico real antes de activarse.

Identidad y acceso. Amazon Cognito gestiona el inicio de sesión de los visitantes con Google, Apple, Facebook y cuenta propia, y limita la recuperación de contraseña a las cuentas nativas. Cada una de las ~20 funciones de AWS Lambda tiene su propio rol con privilegio mínimo, y los administradores acceden mediante AWS IAM Identity Center con MFA y credenciales temporales.

Cifrado y protección de datos. Creamos una llave de AWS KMS administrada por el cliente para cada dominio de datos —imágenes, datos de usuarios y logs/respaldos— con políticas de mínimo privilegio y rotación anual. Las credenciales de base de datos viven en AWS Secrets Manager, fuera del código.

Gobierno y remediación automática. Con AWS Control Tower y políticas de control de servicio (SCPs) bloqueamos las llaves de acceso estáticas y el almacenamiento sin cifrar. AWS Config y AWS Security Hub detectan cualquier recurso público o sin cifrar, y Amazon EventBridge dispara una función de remediación que lo corrige automáticamente. Amazon GuardDuty, IAM Access Analyzer, AWS CloudTrail y Amazon CloudWatch completan la detección, auditoría y monitoreo.

Personas y procesos. Formalizamos con Sealand un proceso de manejo de datos personales alineado a la LFPDPPP —qué dato vive en cada servicio, quién puede descifrarlo y cómo se atiende una solicitud de eliminación— y entregamos runbooks para que el equipo opere la app de forma independiente.

“Necesitábamos una app con IA y tecnología de punta. XalDigital no solo nos ayudó a desarrollarla, sino que nos recomendó usar AWS. Hoy tenemos un equipo sólido que sigue creciendo.” — Karel Cuevas, Director de TI, Ventura Entertainment

Resultados

  • 100% de los almacenes de datos (imágenes, usuarios, logs y respaldos) cifrados con llaves propias de AWS KMS, frente a 0% al inicio.
  • 0 llaves de acceso estáticas: todo acceso administrativo usa credenciales temporales con MFA.
  • 100% del tráfico de la app inspeccionado por AWS WAF antes de llegar al modelo de IA, protegiendo tanto los datos como el costo de inferencia.
  • Remediación automática de recursos públicos o sin cifrar, sin intervención manual.
  • Proceso formal de protección y eliminación de datos personales conforme a la LFPDPPP.

Lo que viene

SeaMapp sigue evolucionando hacia otras ubicaciones del grupo, como Sealand León y próximamente Sealand Monterrey. La capa de seguridad está definida como código y gobernada con AWS Control Tower, por lo que cada nueva ubicación nacerá con los mismos controles desde el primer día.

Contáctanos y recibe asesoría de nuestro equipo de expertos.

Contáctanos y recibe asesoría de nuestro equipo de expertos.