Hola, Test.js Summit. ¿Cómo están? Soy Scott Gerlach, CSO y cofundador aquí en StackHawk. Gracias por tomarte el tiempo para conocer StackHawk. Espero que estén aprendiendo muchas cosas nuevas en Test.js Summit, y espero poder enseñarles una más.
En StackHawk, realizamos pruebas de seguridad de aplicaciones, específicamente pruebas de seguridad de aplicaciones dinámicas. Hablemos sobre los beneficios de DAST. DAST puede ayudarte a identificar y priorizar en qué enfocar tu tiempo para solucionar problemas, ya que ayuda a identificar lo que es descubrible y probablemente explotable en tu aplicación en ejecución. Si estás abrumado con una avalancha de tareas de auditoría de NPM, es una buena idea abordarlas. Pero a menudo la lista es larga y no todo es una simple actualización de versión. Pero además, ¿cómo sabes si el código que escribiste es seguro? ¿Y en qué deberías invertir tu tiempo si la ruta de actualización en la auditoría de NPM no es sencilla? Esta es la superpotencia de DAST.
DAST puede ayudarte a encontrar errores en tu aplicación que sean descubribles, y probablemente explotables en tu código en ejecución. Puede que estés pensando, pero los frameworks básicamente han evitado que ocurran problemas en las aplicaciones. Y sí, muchos frameworks han hecho un buen trabajo al prevenir problemas como inyecciones de SQL y scripting entre sitios. Pero la mayoría de ellos tienen la versión insegura de eso para ayudarte a hacer cosas complicadas y, desafortunadamente, cometer errores. Pero algunas personas no conocen DAST y aquellos que sí lo conocen pueden haber tenido problemas con DAST.
Veamos un ejemplo. En los viejos tiempos, cuando construíamos aplicaciones en el lado del servidor que ejecutaban la capa de datos y la capa de presentación, todo estaba bien. El escáner DAST heredado podía escanear y probar la aplicación heredada sin muchos problemas. Obtenías buenos resultados, identificabas algunos errores graves de seguridad de la aplicación y todo estaba bien. Pero luego algo cambió. Luego comenzamos a construir interfaces de JavaScript y la interfaz de JavaScript troleaba al escáner DAST heredado y cuando digo troleaba, lo digo en serio. Por ejemplo, ¿cuándo termina el desplazamiento de la página? No termina. ¿Dónde están todos los forms? Depende. El escáner DAST heredado seguía funcionando, estaba feliz, asumiendo completamente que estaba obteniendo toda la información que necesitaba para probar estas nuevas aplicaciones. Los resultados eran terribles. Los escaneos tardaban una eternidad, falsos positivos por días, etc. Y la peor parte, había alguien más en ese asiento trasero también. Nuestras APIs de respaldo están ahí controlando todos los data, hablando con los backends de almacenamiento de datos, ayudando a renderizar elementos en la página y el escáner DAST heredado cree que la interfaz está enviando todas estas solicitudes al backend. ¿Terminamos probando la API aquí? No. ¿Estamos cubriendo la API, toda la API? Probablemente no.
Comments