Técnicas SAST, DAST y pen testing para seguridad en software
Clase 26 de 29 • Curso de Arquitectura de Software Aplicada
Resumen
La seguridad en el desarrollo de software toma relevancia especial en contextos como las licitaciones del Banco Interamericano de Desarrollo. Aquí, la seguridad no solo figura como un requisito no funcional crítico, sino también como un conjunto de tareas funcionales obligatorias para cualquier prototipo o producto entregable.
¿Por qué la seguridad es requisito clave en licitaciones de software?
Identificar la seguridad como requisito no funcional significa que debe estar presente en todo el ciclo de desarrollo. Además, incluye una serie de actividades funcionales específicas que aseguran la protección del sistema. Cumplir con estas demandas requiere integrar metodologías y herramientas que permitan una revisión y mitigación de riesgos, respetando así los estándares del sector.
¿Qué técnicas pueden mejorar la seguridad en proyectos de software?
Las siguientes prácticas ayudan a detectar y reducir los riesgos asociados:
- SAST (Static Application Security Testing): permite analizar el código fuente de manera preventiva para identificar posibles errores o vulnerabilidades antes de pasar a producción.
- DAST (Dynamic Application Security Testing): facilita la evaluación dinámica de los entornos de prueba, verificando diferentes escenarios con el entorno aislado, lo que permite observar cómo responde el sistema ante potenciales ataques en tiempo real.
- Pen testing (penetration testing): agentes autorizados buscan activamente vulnerabilidades en la arquitectura del sistema, emulando acciones de atacantes reales.