top of page
Buscar

Impulsando la seguridad en las aplicaciones: DAST vs. SAST vs. IAST vs. RASP

Actualizado: 29 ago 2023

En el mundo tecnológico actual, la seguridad ha ocupado un lugar central y ha causado un impacto significativo en la forma en que las empresas desarrollan software, debido al aumento y la evolución de los ataques cibernéticos. Ahora es más importante que nunca identificar y mitigar las vulnerabilidades durante el ciclo de vida de desarrollo de software (SDLC). Afortunadamente, han surgido estrategias de pruebas de seguridad que ayudan a mitigar el impacto que una vulnerabilidad no identificada o corregida puede tener en los usuarios finales y en la empresa, técnicas como Dynamic Application Security Testing (DAST), Static Application Security Testing (SAST), Interactive Application Security Testing (IAST), and Runtime Application Self-Protection (RASP) se encuentran en el foco central en metodologías seguras a seguir en el desarrollo de software y en este artículo profundizaremos en cómo estas técnicas brindan herramientas para fortalecer la seguridad de la aplicación durante y después del desarrollo.



Conociendo DAST, SAST, IAST y RASP

Para comprender cómo estas herramientas pueden mejorar la seguridad de una aplicación, primero veamos cómo cada una contribuye a que el desarrollo de software sea más sólido y seguro.


DAST (Dynamic Application Security Testing): También se conoce como prueba de caja negra, evalúa la seguridad de una aplicación mientras esta se está ejecutando. Simula un ataque real con el objetivo de identificar cualquier vulnerabilidad, logrando esto al interactuar con la interfaz de usuario de la aplicación. Proporciona un escaneo externo, centrándose en los puntos de entrada expuestos y las API. Se usa más comúnmente en aplicaciones web y es muy efectivo para identificar fallas de seguridad como injection attacks, cross-site scripting asi como otros problemas de seguridad como los que se pueden ver en el OWASP Top 10, este método puede integrarse muy temprano en el ciclo de vida del desarrollo de software y su objetivo es ayudar a las organizaciones a reducir y proteger contra el riesgo que las vulnerabilidades ocasionan [1] .


SAST (Prueba de seguridad de aplicaciones estáticas): Las pruebas de seguridad no se tratan de velocidad o rendimiento, sino de encontrar vulnerabilidades [2] y SAST ayuda a encontrar estas vulnerabilidades analizando el código fuente de la aplicación sin ejecutarlo. Busca vulnerabilidades de seguridad, errores de codificación y fallas en el diseño del código. Al usar SAST, el equipo de desarrollo puede identificar problemas como prácticas de codificación inseguras y problemas en el input de la aplicación. Y es muy eficaz en identificar problemas dentro del código en etapas tempranas del desarrollo, también fomenta prácticas de codificación seguras, lo que se traduce en una mejorar en la calidad general del software. Este metodo también se conoce como técnica de prueba de caja blanca.


IAST (pruebas de seguridad de aplicaciones interactivas): IAST combina elementos de DAST y SAST y utiliza un enfoque "agent-like", lo que significa que los agentes y sensores se ejecutan para analizar continuamente el funcionamiento de la aplicación durante las pruebas automatizadas, las pruebas manuales o una combinación de las dos [ 3] Esto proporciona detección y análisis de vulnerabilidades en tiempo real. Debido a que evalúa la aplicación mientras esta se ejecuta, puede observar cómo se procesan los diferentes inputs y de esta manera verificar si existen vulnerabilidades. También comprueba la aplicación durante el tiempo de ejecución, supervisando la ejecución del código, el flujo de datos y las interacciones con componentes externos. Esto proporciona información en tiempo real desde el interior de la aplicación, lo que permite una evaluación más precisa y permite a los desarrolladores solucionar cualquier problema en un breve período de tiempo. Debido a que este método requiere la integración de un agente de prueba o sensores, puede afectar el rendimiento y requerir trabajo adicional en el desarrollo.


RASP (autoprotección de aplicaciones en tiempo de ejecución): este método protege la aplicación desde adentro; lo que significa que está integrado en la aplicación por medio de bibliotecas o agente durante el tiempo de ejecución del programa, RASP supervisa el comportamiento de este y puede detectar y prevenir ataques en tiempo real. En comparación con los otros métodos discutidos anteriormente, está más enfocado en asegurar la aplicación de algún ataque que por encontrar vulnerabilidades o problemas en el código. Este método es utilizado después de que se haya lanzado la aplicación y una vez que identifica cualquier ataque, genera una alarma e intenta mitigar el ataque a la vez que alerta al equipo para que este pueda tomar las medidas necesarias. RASP tiene como objetivo llenar el vacío que dejan las pruebas de seguridad de las aplicaciones y los controles perimetrales de la red. [4]



Pros & Contras




Cuando se trata de qué método implementar en el proceso de desarrollo, todas estas son buenas opciones y, en algunos casos, cuando el dinero no es un problema, todas pueden implementarse, pero debido a que no siempre esta una opción viable , depende de las partes interesadas decidir qué método o combinación de métodos se adapta mejor a las necesidades del proyecto teniendo en cuenta el alcance, el presupuesto y la meta.


Conclusión:


Hay un viejo proverbio dice:


Por falta de un clavo se perdió la herradura

Por falta de una herradura se perdió el caballo.

A falta de un caballo se perdió el jinete.

Por falta de un jinete se perdió el mensaje.

Por falta de un mensaje se perdió la batalla.

Por qué se perdió la batalla el reino se perdió.

Y todo por falta de un clavo de herradura.

-Autor Desconocido



Cuando se trata de desarrollo de software, tomar medidas de seguridad tan pronto como comience el desarrollo puede marcar la diferencia entre una aplicación que sufrió una “data breach” masivo debido a una vulnerabilidad que nunca se remedió y una aplicación que logra mantener seguros todos los datos de sus usuarios. debido a la planificación adecuada y a la adopción de un enfoque en seguridad en el desarrollo de software. Así como un simple clavo puede tener un gran impacto en un reino, una vulnerabilidad puede tener un gran impacto en la imagen de una empresa.


Autor

Jacobo Arzaga Martinez

Ingeniero Junior en Seguridad


References


19 visualizaciones0 comentarios

Entradas Recientes

Ver todo

Zero Trust Cybersecurity

Introducción En el mundo digital actual, donde las amenazas en línea son una gran preocupación, los métodos de seguridad tradicionales no siempre son suficientes. Ahí es donde entra en juego la cibers

Comments


bottom of page