Seguridad de aplicaciones
La seguridad de aplicaciones reduce el riesgo introducido por el software, sus dependencias y el entorno que lo ejecuta. Empieza antes de escribir código y continúa después del despliegue. Una prueba al final del proyecto no sustituye un ciclo de desarrollo seguro.
Ciclo de trabajo
Sección titulada «Ciclo de trabajo»- Preparar: asignar responsabilidades, formar al equipo y proteger entornos y artefactos.
- Definir requisitos: identificar activos, límites de confianza, abuso esperado y nivel de verificación.
- Diseñar: modelar amenazas y escoger controles que reduzcan el riesgo desde la arquitectura.
- Construir: aplicar prácticas de codificación segura, revisar cambios y controlar dependencias.
- Verificar: combinar revisión manual, pruebas automatizadas y validación de controles.
- Operar y responder: observar la aplicación, gestionar vulnerabilidades y publicar correcciones.
El Secure Software Development Framework de NIST (SSDF) agrupa estas prácticas en preparar la organización, proteger el software, producir software bien protegido y responder a vulnerabilidades.
OWASP mantiene dos recursos que cumplen funciones distintas. OWASP Top 10 es un documento de concienciación que resume categorías de riesgo relevantes para aplicaciones web. OWASP ASVS es un estándar de requisitos verificables que permite definir qué controles debe cumplir una aplicación y con qué profundidad se revisan. Top 10 ayuda a reconocer áreas importantes, mientras que ASVS permite preparar una verificación con cobertura explícita.
Superficie real de una aplicación
Sección titulada «Superficie real de una aplicación»La seguridad no termina en el código propio. También incluye:
- autenticación, sesiones y autorización
- validación de entradas y codificación de salidas
- lógica de negocio y flujos sensibles
- API, componentes cliente y servicios backend
- secretos, configuración, dependencias y pipeline de entrega
- bases de datos, servidores, cloud e identidades de servicio
- registros, errores y respuesta ante vulnerabilidades.
Verificación con contexto
Sección titulada «Verificación con contexto»El análisis estático (SAST) revisa código o artefactos sin ejecutar la aplicación. El análisis dinámico (DAST) prueba la aplicación en funcionamiento. Estas técnicas, el análisis de dependencias, el fuzzing y otros scanners cubren clases distintas de problemas. Ninguna demuestra por sí sola que una aplicación sea segura. La revisión manual sigue siendo necesaria para autorización, lógica de negocio, encadenamiento de fallos y condiciones que dependen del contexto.
Una prueba útil parte de requisitos y amenazas, documenta cobertura y distingue entre una señal automática y una vulnerabilidad reproducida con impacto.
Preguntas de repaso
Sección titulada «Preguntas de repaso»- ¿Por qué un pentest al final no sustituye un ciclo de desarrollo seguro?
- ¿Qué diferencia práctica existe entre OWASP Top 10 y OWASP ASVS?
- ¿Qué problemas importantes suelen requerir revisión manual?