DevSecOps: SAST vs DAST
Hoy traigo un poco de teoría, en ese empeño de aprender sobre el mundo DevOps…
Vamos a hablar de metodologías de análisis de seguridad de código para vuestras aplicaciones. En este artículo hablaremos sobre Static Application Security Testing (SAST) y Dynamic Application Security Testing (DAST), qué diferencias hay entre las dos.
Las aplicaciones, cada vez trabajan con más datos sensibles, y es fundamental dedicar esfuerzos en testearlas a nivel de seguridad en todo el tiempo de vida de la misma.
Así que vamos al grano, vamos a intentar explicar qué es cada metodología:
Static Application Security Testing (SAST)
- Las tecnologías SAST, de análisis de código fuente, buscan identificar vulnerabilidades de seguridad desde dentro. Estas pruebas son estáticas, porque se realizan antes de que la aplicación esté en ejecución y activa para los usuarios.
- Estas metodologías de análisis son muy interesantes, porque nos pueden ayudar a detectar vulnerabilidades antes de que se encuentren con la aplicación expuesta.
- También se conocen, como pruebas de caja blanca o White Box Testing, si se encuentra una vulnerabilidad, se verifica el código fuente, parcheando el problema.
- Son muy útiles, porque se valida también la integración con los sistemas externos.
- En estas pruebas se tiene acceso al código fuente, algo que no pasa en DAST
- Para realizar las pruebas, el escáner que usemos, debe ser capaz de interpretar el código de la aplicación (Python, .NET, Java…), sino no servirá de nada
- Encajaría en entornos de desarrollo, repositorios como GitLab o GitHub, issue trackers y herramientas de flujos de trabajo para CI/CD
- Una solución SAST se integra con el pipeline CI/CD para ofrecer resultados rápidos y consistentes con bajas tasas de falsos positivos
- Os dejo herramientas destacadas según Gartner:
Dynamic Application Security Testing (DAST)
- Por el contrario de SAST, la prueba de seguridad de aplicaciones dinámicas (DAST) es una metodología de prueba de seguridad donde se analiza la aplicación desde el exterior.
- Se conocen como pruebas de caja negra
- No son dependientes, normalmente, como las pruebas SAST, de la tecnología con la que esté implementada la aplicación. Ya que normalmente, los ataques, se realizan sobre una aplicación web y HTTP
- Permiten buscar cientos de vulnerabilidades, con lo que ayudan al desarrollo de la aplicación. De hecho, deberían integrarse en el proceso de desarrollo lo más temprano posible
- Normalmente, se utilizan para revisar aplicaciones que ya están en Producción
- Os dejo las herramientas que lideran el mercado según Gartner:
No hemos hablado sobre otras metodologías como IAST o RAST, pero intentaremos aumentar la temática si resulta interesante…
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?
Gracias, es muy útil para mí.
Las pruebas DAST, no se utilizan sobre aplicaciones en producción se utilizan en la fase de entrega continua. Sobre produccion se utilizan las pruebas RASP.