Pruebas de seguridad automatizadas para aplicaciones JS y APIs subyacentes

Rate this content
Bookmark

Con StackHawk, los equipos de ingeniería pueden realizar pruebas de seguridad en aplicaciones JS y las APIs subyacentes para encontrar y solucionar vulnerabilidades más rápido. Con pruebas automatizadas en cada PR, puedes tener la confianza de que tu aplicación es segura. Únete a Scott Gerlach, cofundador de StackHawk, para obtener una breve descripción de las pruebas de seguridad de aplicaciones JS con StackHawk.

FAQ

StackHawk es una herramienta dinámica de prueba de seguridad de aplicaciones, diseñada para probar aplicaciones HTTP en ejecución, incluyendo aplicaciones y API, GraphQL, HTML en el lado del servidor y aplicaciones de una sola página.

StackHawk escanea la aplicación en cualquier entorno, desde desarrollo local hasta producción, identificando vulnerabilidades de seguridad. Una vez finalizado el escaneo, muestra los problemas encontrados y proporciona detalles sobre cómo solucionarlos, incluyendo comandos curl para recrear el hallazgo.

Sí, StackHawk está diseñado para integrarse perfectamente con sistemas de CI/CD. Funciona con los principales sistemas dado que se basa en Docker, por lo que cualquier sistema de CI/CD que pueda ejecutar Docker puede ejecutar StackHawk.

StackHawk está diseñado para escanear aplicaciones modernas, incluidas aquellas que utilizan HTML en el lado del servidor, aplicaciones de una sola página, APIs REST y GraphQL.

Sí, StackHawk ofrece integraciones con varias herramientas, incluyendo JIRA para la gestión de tickets y Slack para notificaciones de estado de escaneos, entre otros.

StackHawk facilita la depuración mediante la generación de comandos curl que replican el ataque probado por el escáner, lo que permite a los desarrolladores ejecutar estos comandos en un entorno de depuración y localizar rápidamente las vulnerabilidades.

Sí, es posible configurar el escáner de StackHawk para que termine con un código no cero en caso de detectar problemas de seguridad de una severidad configurada, haciendo posible interrumpir automáticamente la compilación en un proceso de CI/CD.

Después de un escaneo, StackHawk proporciona un resumen detallado que incluye la criticidad del problema, tipo de problema, la ruta afectada y el par solicitud-respuesta que generó el problema, además de recomendaciones sobre cómo solucionarlo.

Scott Gerlach
Scott Gerlach
8 min
10 Jun, 2021

Comments

Sign in or register to post your comment.

Video Summary and Transcription

StackHawk es una herramienta dinámica de pruebas de seguridad de aplicaciones que ayuda a encontrar y solucionar vulnerabilidades de seguridad. Se integra con tu stack de ingeniería y funciona con herramientas populares en CI/CD. El escáner DAST recorre tu aplicación, la prueba y proporciona un resumen de los hallazgos, incluyendo problemas de scripting entre sitios e inyección SQL. La salida en CI/CD incluye un enlace para clasificar los problemas.

1. Introducción a StackHawk

Short description:

StackHawk es una herramienta dinámica de prueba de seguridad de aplicaciones. Escanea tu aplicación, se ejecuta en cualquier lugar y te ayuda a encontrar y solucionar vulnerabilidades de seguridad. La plataforma de StackHawk presenta la criticidad de un problema, el tipo de problema, la ruta y el par de solicitud-respuesta que generó el problema. Se integra con tu pila de ingeniería y funciona con jugadores populares en CICD. Vamos a ver una demostración rápida para ver cómo funciona StackHawk.

¿Qué tal, JSNationLive? Scott Gerlach, cofundador y CSO de StackHawk aquí. Gracias por tomarte el tiempo para ver lo que StackHawk tiene para ofrecer.

En pocas palabras, StackHawk es una herramienta dinámica de prueba de seguridad de aplicaciones. Puedes usarla para probar tus aplicaciones HTTP en ejecución. Eso incluye pruebas de seguridad de aplicaciones y API, GraphQL, HTML en el lado del servidor y aplicaciones de una sola página.

StackHawk fue creado para la automatización en CICD. Hace que encontrar y solucionar vulnerabilidades de seguridad sea muy, muy sencillo.

Un poco de cómo funciona. En primer lugar, escanea tu aplicación, y cuando decimos que escanea tu aplicación, nos referimos a que se ejecuta en cualquier lugar. Puedes ejecutarlo en tu localhost mientras escribes código, probar tu aplicación, respaldarlo en CICD, probar tu aplicación allí antes de enviarla a producción, y luego, si quieres, puedes ejecutarlo en producción.

Está diseñado para escanear esas aplicaciones modernas, como mencioné, HTML en el lado del servidor, aplicaciones de una sola página, API REST, donde tienes una especificación de API abierta, y GraphQL, donde tienes consultas de introspección de GraphQL activadas. Todas estas cosas ayudan a informar al escáner sobre cómo hacer un buen trabajo al probar tu aplicación en busca de vulnerabilidades de seguridad.

Una vez que la prueba ha finalizado, hace un buen trabajo al mostrarte dónde se encontraron esos problemas y cómo solucionarlos potencialmente. Encontrar y solucionar esos problemas de seguridad es muy sencillo con la plataforma de StackHawk.

La plataforma de StackHawk te muestra la criticidad de un problema, el tipo de problema, la ruta y el par de solicitud-respuesta que generó el problema. Lo genial de la plataforma de StackHawk es que hay una recreación de ese hallazgo en forma de comando curl. Así que hay un comando curl que puedes copiar y pegar y ejecutar el mismo ataque que el escáner hizo contra tu aplicación para poder poner tu aplicación en modo de depuración, recorrer ese código y encontrar rápidamente dónde puedes haber cometido un error.

Todo eso está configurado para CICD y puedes interrumpir tu compilación. Puedes configurar el escáner de StackHawk para salir con un código no cero si encuentra un problema de tipo severidad medio o superior, alto o alto o superior, bajo o superior, todas estas cosas son totalmente configurables en la plataforma de StackHawk. No lo hace de forma nativa. Puedes configurarlo para tu propio trabajo.

StackHawk se integra con tu pila de ingeniería. Como puedes ver, tengo iconos de algunos de los jugadores populares más importantes en CICD. StackHawk funciona con todos ellos. Como se basa en Docker, si tu sistema de CICD puede ejecutar Docker, puede ejecutar StackHawk.

Vamos a ver una demostración rápida para ver cómo funciona StackHawk. Aquí puedes ver que tengo mi aplicación Django vulnerable. Esta es solo una aplicación básica de Django, por lo que es HTML en el lado del servidor, y la estoy probando con mi escáner de StackHawk. Así es como se ve: tengo un comando Docker simple, docker run stackhawk hawkscan.

2. Configuración y Escaneo de StackHawk

Short description:

El escáner DAST rastrea tu aplicación, la prueba y proporciona un resumen de los hallazgos. Identifica problemas de scripting entre sitios e inyección SQL. La salida en CICD incluye un enlace para clasificar los problemas.

Tengo el archivo de configuración, que vamos a ver a continuación. Y lo que sucede es que el escáner DAST rastrea tu aplicación, buscando cosas interesantes para probar, y luego la prueba. Una vez hecho esto, obtienes un resumen simple de lo que está sucediendo, lo que Stackhawk encontró. Aquí puedes ver que tengo un problema de scripting entre sitios, un problema de inyección SQL y algunos problemas menores. Hoy nos centraremos en los de mayor importancia. En la parte inferior de esto, tengo un enlace de regreso a la plataforma de Stackhawk. Esta es exactamente la misma salida que obtendrías en CICD, por lo que si eliges interrumpir la compilación en CICD, tendrás un enlace para poder clasificar estos problemas. El archivo de configuración de Stackhawk del que acabamos de hablar es tan simple como esto. Creemos en la configuración como código, por lo que los principios de DevOps, por lo que este archivo de configuración en particular vive con el código que está probando. Se verifica en Git, tienes el historial de Git sobre quién cambia qué y cuándo. Ahora, lo importante aquí es que las cosas que necesitas para que Stackhawk funcione son estos campos aquí mismo. Debes indicarle el ID de la aplicación, que es algo que obtenemos de la plataforma. Debes indicarle dónde encontrar ese host en ejecución, por lo que en este caso mi aplicación Django se está ejecutando en localhost puerto 8020, y en qué entorno encontrarlo. Eso es todo lo que necesitas para que funcione un escaneo. Obviamente, hay más cosas que puedes hacer para configurar este archivo y hacer que el escáner funcione mejor con tus aplicaciones, cosas como autenticación, rutas para ignorar donde no quieres que pruebe, dónde encontrar la especificación de la API REST o la introspección de GraphQL, etcétera, pero en este caso estamos trabajando con una aplicación del lado del servidor. Pasemos a la plataforma. Aquí puedes ver la salida del escaneo que acabamos de ejecutar, por lo que puedes ver el problema de scripting entre sitios que encontramos, el problema de inyección SQL que encontramos. Hay mucha otra información interesante en este panel, pero también puedes ver qué complementos se ejecutaron en Stackhawk así como las rutas que descubrió el escáner. Esto te ayuda a tener una buena idea de lo que se está probando y qué tan buena es esa cobertura para describir tu aplicación. Veamos ese problema de inyección SQL. Aquí puedes ver que tenemos un problema de inyección SQL en esta ruta SQL de encuestas tanto en los métodos POST como GET, pero en el lado derecho de nuestro panel aquí tenemos una solicitud y una respuesta para ambas cosas, por lo que seleccionarlas cambia la solicitud y la respuesta, y puedes alternar entre ellas. Por lo tanto, puedes ver en este problema POST aquí, exactamente qué tipo de POST se hizo a nuestra aplicación, y puedes ver cómo respondió la aplicación. Aquí está ese botón de Validar del que estaba hablando. Por lo tanto, aquí está exactamente el comando cURL que el escáner ejecutó contra tu aplicación. Ahora puedo copiar y pegar eso, poner mi aplicación en modo depuración, y tratar de encontrar dónde cometí el error de SQL. Ahora notarás que ya he clasificado estos dos problemas en particular y los he convertido en tickets de JIRA. Tenemos una integración nativa de JIRA Cloud para poder enviar información a JIRA Cloud, y puedes ver que esto es exactamente cómo se ve. Entonces, cuando envío esto, si no puedo trabajar en ello hoy como desarrollador o necesito que nuestro equipo de productos lo priorice, puedo enviar esto como un ticket, hacer que lo prioricen, pero lo realmente importante es que una vez que este ticket vuelva y descubramos que necesitamos trabajar en él, tiene un enlace que te lleva directamente a esta pantalla de clasificación para que puedas entender el contexto de lo que necesito ver y cómo solucionarlo muy, muy rápidamente. Otras cosas interesantes que suceden aquí, StackHawk tiene la capacidad de desglosar todas tus aplicaciones en sus microservicios y probarlos individualmente. Eso hace que los escaneos sean más rápidos, más precisos y con menos falsos positivos. Aquí tengo todas las aplicaciones que recuerdo probando, y puedo revisar esto y tener una buena visión general de la postura de seguridad de esas aplicaciones. Las integraciones que tenemos, como mencionamos antes, muchas integraciones de CI CD. Todos los jugadores principales están aquí, y si no están aquí, casi con seguridad funcionan, simplemente no lo hemos documentado todavía. También tengo esa notificación de Slack activada en mi cuenta para recibir notificaciones cuando los escaneos comienzan, cuando los escaneos terminan, y el resumen de esos hallazgos escaneados. Y luego, nuevamente, esa integración de Jira Cloud. Si quieres probar StackHawk y ver cómo puede ayudar a mejorar la calidad del software que estás publicando, reducir la cantidad de errores de seguridad que estás publicando en Internet, siempre puedes configurar una cuenta gratuita de StackHawk y probarlo con una aplicación. Espero que tengas un buen tiempo en GS Nation. Gracias por ver StackHawk. ♪

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Es una jungla ahí fuera: ¿Qué está pasando realmente dentro de tu carpeta Node_Modules?
Node Congress 2022Node Congress 2022
26 min
Es una jungla ahí fuera: ¿Qué está pasando realmente dentro de tu carpeta Node_Modules?
Top Content
¿Sabes qué está pasando realmente en tu carpeta node_modules? Los ataques a la cadena de suministro de software han explotado en los últimos 12 meses y solo están acelerándose en 2022 y más allá. Profundizaremos en ejemplos de recientes ataques a la cadena de suministro y qué pasos concretos puedes tomar para proteger a tu equipo de esta amenaza emergente.
Puedes consultar las diapositivas de la charla de Feross aquí.
El estado de la autenticación sin contraseña en la web
JSNation 2023JSNation 2023
30 min
El estado de la autenticación sin contraseña en la web
¿Podemos deshacernos de las contraseñas ya? Son una mala experiencia de usuario y los usuarios son notoriamente malos con ellas. El advenimiento de WebAuthn ha acercado al mundo sin contraseñas, pero ¿dónde nos encontramos realmente?
En esta charla exploraremos la experiencia actual del usuario de WebAuthn y los requisitos que un usuario debe cumplir para autenticarse sin contraseña. También exploraremos las alternativas y salvaguardias que podemos utilizar para mejorar la experiencia de las contraseñas y hacerla más segura. Al final de la sesión, tendrás una visión de cómo podría ser la autenticación en el futuro y un plan para construir la mejor experiencia de autenticación hoy en día.
5 Formas en las que Podrías Haber Hackeado Node.js
JSNation 2023JSNation 2023
22 min
5 Formas en las que Podrías Haber Hackeado Node.js
Top Content
Todos los lenguajes son o han sido vulnerables a algún tipo de amenaza. Soy parte del equipo de Seguridad de Node.js y durante el año 2022, hemos realizado muchas Liberaciones de Seguridad y algunas de ellas fueron realmente difíciles de pensar.
¿Sabías que puedes ganar dinero encontrando vulnerabilidades críticas en Node.js? En esta charla, te mostraré 5 formas en las que podrías haber hackeado Node.js y cómo el equipo de Node.js maneja las vulnerabilidades.
Permíteme mostrarte cómo las aplicaciones de React son hackeadas en el mundo real
React Advanced Conference 2021React Advanced Conference 2021
22 min
Permíteme mostrarte cómo las aplicaciones de React son hackeadas en el mundo real
Top Content
Los marcos de trabajo frontend modernos como React están bien considerados en su diseño de seguridad de aplicaciones y eso es genial. Sin embargo, todavía hay mucho espacio para que los desarrolladores cometan errores y utilicen APIs inseguras, componentes vulnerables, o en general hagan lo incorrecto que convierte la entrada del usuario en una vulnerabilidad de Cross-site Scripting (XSS). Permíteme mostrarte cómo las aplicaciones de React son hackeadas en el mundo real.
Cómo los Aplicaciones de React son Hackeadas en el Mundo Real
React Summit 2022React Summit 2022
7 min
Cómo los Aplicaciones de React son Hackeadas en el Mundo Real
React tiene un gran estándar de seguridad por defecto, pero si no prestas atención a los detalles, podrías ser víctima de algunas de las APIs de escape, o incluso de pasar props de forma insegura a los componentes. Te enseñaré cómo evitar estos problemas.
Política de Seguridad de Contenido con Next.js: Mejorando la Seguridad de tu Sitio Web
React Summit US 2023React Summit US 2023
9 min
Política de Seguridad de Contenido con Next.js: Mejorando la Seguridad de tu Sitio Web
En esta charla, exploraremos la poderosa característica de seguridad de la Política de Seguridad de Contenido (CSP) y cómo se puede implementar en Next.js para reforzar las defensas de tu sitio web contra ataques web comunes como Cross-Site Scripting (XSS) e inyección de datos. Cubriremos los conceptos básicos de CSP, sus beneficios y las mejores prácticas para implementarlo en Next.js.
Además, compartiremos algunas herramientas para evaluar y probar tu política. Al final de esta charla, tendrás una sólida comprensión de cómo mejorar la seguridad de tu sitio web con CSP y proteger a tus usuarios de las siempre presentes amenazas de la web moderna.

Workshops on related topic

Masterclass de Pruebas de API con Postman
TestJS Summit 2023TestJS Summit 2023
48 min
Masterclass de Pruebas de API con Postman
Top Content
WorkshopFree
Pooja Mistry
Pooja Mistry
En el panorama siempre en evolución del desarrollo de software, garantizar la fiabilidad y funcionalidad de las API se ha vuelto primordial. "Pruebas de API con Postman" es una masterclass completa diseñada para equipar a los participantes con los conocimientos y habilidades necesarios para sobresalir en las pruebas de API utilizando Postman, una herramienta poderosa ampliamente adoptada por profesionales en el campo. Esta masterclass profundiza en los fundamentos de las pruebas de API, avanza a técnicas de prueba avanzadas y explora la automatización, las pruebas de rendimiento y el soporte multiprotocolo, proporcionando a los asistentes una comprensión holística de las pruebas de API con Postman.
Únete a nosotros para esta masterclass para desbloquear todo el potencial de Postman para las pruebas de API, agilizar tus procesos de prueba y mejorar la calidad y fiabilidad de tu software. Ya seas un principiante o un probador experimentado, esta masterclass te equipará con las habilidades necesarias para sobresalir en las pruebas de API con Postman.
De 0 a Autenticación en una hora con ReactJS
React Summit 2023React Summit 2023
56 min
De 0 a Autenticación en una hora con ReactJS
WorkshopFree
Kevin Gao
Kevin Gao
La autenticación sin contraseña puede parecer compleja, pero es simple de agregar a cualquier aplicación utilizando la herramienta adecuada. Hay múltiples alternativas que son mucho mejores que las contraseñas para identificar y autenticar a tus usuarios, incluyendo SSO, SAML, OAuth, Magic Links, One-Time Passwords y Authenticator Apps.
Mientras abordamos los aspectos de seguridad y evitamos errores comunes, mejoraremos una aplicación JS de pila completa (backend Node.js + frontend React) para autenticar a los usuarios con OAuth (inicio de sesión social) y One Time Passwords (correo electrónico), incluyendo:- Autenticación de usuarios - Gestión de interacciones de usuarios, devolviendo JWTs de sesión / actualización- Gestión y validación de sesiones - Almacenamiento seguro de la sesión para solicitudes de cliente posteriores, validación / actualización de sesiones- Autorización básica - extracción y validación de reclamaciones del token JWT de sesión y manejo de autorización en flujos del backend
Al final del masterclass, también exploraremos otros enfoques de implementación de autenticación con Descope, utilizando SDKs de frontend o backend.
Construyendo una suite de pruebas significativa que no sea todo E2E
TestJS Summit 2023TestJS Summit 2023
89 min
Construyendo una suite de pruebas significativa que no sea todo E2E
Workshop
David Burns
David Burns
Todos somos enseñados a seguir la Pirámide de Pruebas pero la realidad es que construimos el Árbol de Pruebas de Navidad. En esta masterclass, David te explicará cómo desglosar proyectos y poner las pruebas donde necesitan estar. Al final de la masterclass, podrás actualizar tus proyectos para que cualquiera y todos puedan empezar a contribuir y realmente vivir según "La calidad es el trabajo de todos".
Te guiará a través de:- Pruebas de Componentes- Pruebas de API- Pruebas de Regresión Visual- Pruebas A11Y
También te explicará cómo configurar todo esto en tu pipeline de CI/CD para que puedas obtener ciclos de feedback más cortos y rápidos.
Principales Diez Vulnerabilidades de Seguridad OWASP en Node.js
JSNation 2024JSNation 2024
97 min
Principales Diez Vulnerabilidades de Seguridad OWASP en Node.js
Workshop
Marco Ippolito
Marco Ippolito
En este masterclass, cubriremos las diez vulnerabilidades más comunes y riesgos de seguridad críticos identificados por OWASP, que es una autoridad confiable en Seguridad de Aplicaciones Web.Durante el masterclass, aprenderás cómo prevenir estas vulnerabilidades y desarrollar la capacidad de reconocerlas en aplicaciones web.El masterclass incluye 10 desafíos de código que representan cada una de las vulnerabilidades más comunes de OWASP. Se proporcionarán pistas para ayudar a resolver las vulnerabilidades y pasar las pruebas.El instructor también proporcionará explicaciones detalladas, diapositivas y ejemplos de la vida real en Node.js para ayudar a comprender mejor los problemas. Además, obtendrás información de un Mantenedor de Node.js que compartirá cómo gestionan la seguridad en un proyecto grande.Es adecuado para desarrolladores de Node.js de todos los niveles de habilidad, desde principiantes hasta expertos, se requiere un conocimiento general de aplicaciones web y JavaScript.
Tabla de contenidos:- Control de Acceso Roto- Fallas Criptográficas- Inyección- Diseño Inseguro- Configuración de Seguridad Incorrecta- Componentes Vulnerables y Obsoletos- Fallas de Identificación y Autenticación- Fallas de Integridad de Software y Datos- Fallas de Registro y Monitoreo de Seguridad- Falsificación de Solicitudes del Lado del Servidor
Encontrar, Hackear y solucionar las vulnerabilidades de NodeJS con Snyk
JSNation 2022JSNation 2022
99 min
Encontrar, Hackear y solucionar las vulnerabilidades de NodeJS con Snyk
WorkshopFree
Matthew Salmon
Matthew Salmon
npm y seguridad, ¿cuánto sabes sobre tus dependencias?Hack-along, hacking en vivo de una aplicación Node vulnerable https://github.com/snyk-labs/nodejs-goof, Vulnerabilidades tanto de código abierto como de código escrito. Se anima a descargar la aplicación y hackear junto con nosotros.Corrigiendo los problemas y una introducción a Snyk con una demostración.Preguntas abiertas.
Aporta Calidad y Seguridad al pipeline de CI/CD
DevOps.js Conf 2022DevOps.js Conf 2022
76 min
Aporta Calidad y Seguridad al pipeline de CI/CD
WorkshopFree
Elena Vilchik
Elena Vilchik
En esta masterclass repasaremos todos los aspectos y etapas al integrar tu proyecto en el ecosistema de Calidad y Seguridad del Código. Tomaremos una aplicación web simple como punto de partida y crearemos un pipeline de CI que active el monitoreo de calidad del código. Realizaremos un ciclo completo de desarrollo, comenzando desde la codificación en el IDE y abriendo una Pull Request, y te mostraré cómo puedes controlar la calidad en esas etapas. Al final de la masterclass, estarás listo para habilitar esta integración en tus propios proyectos.