Pruebas automatizadas de seguridad de aplicaciones

Rate this content
Bookmark

Las pruebas de seguridad tradicionales para aplicaciones JS se han centrado en el front-end, pero los problemas de seguridad reales suelen estar en la API REST de respaldo. Únase al cofundador de StackHawk, Scott Gerlach, para obtener una breve descripción de por qué necesita repensar cómo prueba sus aplicaciones JS y cómo StackHawk puede ayudarlo a encontrar y solucionar rápidamente problemas de seguridad.

This talk has been presented at DevOps.js Conf 2022, check out the latest edition of this JavaScript Conference.

FAQ

StackHawk es una herramienta dinámica de pruebas de seguridad de aplicaciones diseñada para probar aplicaciones HTTP y puntos finales de API en ejecución, identificando errores de seguridad para prevenir vulnerabilidades.

StackHawk realiza pruebas de seguridad activas en aplicaciones en ejecución para garantizar la seguridad en la entrada y salida de datos del usuario y la implementación de las mejores prácticas de seguridad de aplicaciones siguiendo los estándares OWASP top 10.

StackHawk se puede utilizar en diversas APIs, incluyendo API REST, API GraphQL, API SOAP, además de aplicaciones del lado del servidor y aplicaciones de una sola página.

Sí, StackHawk está diseñado para integrarse perfectamente con procesos de CI/CD, permitiendo realizar pruebas de seguridad de forma automatizada y proporcionando retroalimentación sobre los hallazgos de seguridad directamente en el proceso de CI.

El escáner de StackHawk se configura a través de un archivo YAML que se coloca junto con el código de la aplicación que se está probando, permitiendo una configuración personalizada según las necesidades de la aplicación.

La mayoría de las aplicaciones de los clientes de StackHawk se escanean en un promedio de 10 minutos o menos, gracias a la optimización en la colocación del escáner y el uso de estándares abiertos para la configuración.

StackHawk facilita la comprensión y resolución de problemas de seguridad con descripciones simples, ejemplos de patrones y herramientas como comandos curl para reproducir y depurar problemas, permitiendo a los desarrolladores solucionar rápidamente.

Sí, StackHawk puede integrarse con herramientas de flujo de trabajo e información como Slack, DataDog y sistemas de webhook, permitiendo una notificación eficiente sobre los resultados del escaneo.

Scott Gerlach
Scott Gerlach
9 min
24 Mar, 2022

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 lo ayuda a encontrar y solucionar problemas de seguridad en sus aplicaciones en ejecución. Realiza pruebas de seguridad activas en su API REST, API GraphQL, API SOAP, aplicación del lado del servidor y aplicaciones de una sola página. StackHawk garantiza que su aplicación maneje de manera segura la entrada y salida del usuario y siga las mejores prácticas de seguridad de aplicaciones OWASP top 10. Hacemos que las pruebas dinámicas sean rápidas colocando el escáner cerca de la aplicación y utilizando estándares abiertos para informar al escáner. El escáner se configura mediante YAML y los hallazgos se clasifican para proporcionar descripciones simples y ejemplos para la identificación y resolución de problemas. Puede enviar los problemas identificados a un ticket de JIRA para su priorización y resolución. Una vez clasificados, el escáner recordará los problemas y dejará de notificarle. Comience una prueba gratuita en stackhawk.com para experimentar sus beneficios.

1. Introducción a StackHawk

Short description:

StackHawk es una herramienta dinámica de pruebas de seguridad de aplicaciones que te ayuda a encontrar y solucionar errores de seguridad en tus aplicaciones en ejecución. Realiza pruebas de seguridad activas en tu API REST, API GraphQL, API SOAP, aplicación del lado del servidor y aplicaciones de una sola página. StackHawk garantiza que tu aplicación maneje de manera segura la entrada y salida del usuario y siga las mejores prácticas de seguridad de aplicaciones OWASP top 10.

¿Qué tal, gente de DevOpsJS? Scott Kerlock, CSO y cofundador aquí en StackHawk. Espero que estén teniendo un gran tiempo aprendiendo mucho aquí en DevOpsJS.

Hablemos de StackHawk. En pocas palabras, StackHawk es una herramienta dinámica de pruebas de seguridad de aplicaciones. Puedes usarla para probar tus aplicaciones HTTP en ejecución y los puntos finales de la API en busca de security errores y evitar que se vuelvan vulnerables. Puedes utilizar StackHawk para realizar pruebas de seguridad activas en tu API REST en ejecución, API GraphQL, API SOAP, aplicación del lado del servidor y aplicaciones de una sola página. StackHawk fue diseñado para la automatización y CI/CD como parte de tu sólida estrategia de pruebas para el ciclo de vida del desarrollo de aplicaciones. También facilita encontrar, comprender y solucionar errores de seguridad. ¿Cómo funciona StackHawk, preguntas? ¡Gran pregunta! StackHawk realiza pruebas de seguridad activas en tus aplicaciones en ejecución para garantizar que tu aplicación maneje de manera segura la entrada y salida del usuario, así como implementar las mejores prácticas de seguridad de aplicaciones OWASP top 10. Podemos hacer esto en tu aplicación en ejecución en tu localhost, en flujos de trabajo de CI/CD, y en aplicaciones que aún no se han publicado en Internet.

2. StackHawk Scanner and Integration

Short description:

Hacemos que las pruebas dinámicas sean rápidas al colocar el escáner cerca de la aplicación y utilizar estándares abiertos para informar al escáner. StackHawk se enfoca en ayudar a los desarrolladores a encontrar y solucionar problemas de seguridad con un escáner y plataforma simples e integrados. El escáner se configura mediante YAML y los hallazgos se clasifican para proporcionar descripciones simples y ejemplos para la identificación y resolución de problemas. StackHawk es compatible con CI/CD e se integra con las principales plataformas de CI. También se integra con herramientas de flujo de trabajo e información, proporcionando notificaciones y opciones de procesamiento de datos. La ejecución del escáner de StackHawk implica ejecutar un comando Docker, realizar un rastreo y ataque, y generar un resumen de los hallazgos.

También hacemos que las pruebas dinámicas sean rápidas. Al colocar el escáner lo más cerca posible de la aplicación y utilizar estándares abiertos para informar al escáner, como especificaciones OpenAPI, GraphQL y consultas de introspección, SOAP y WSDL, además de la configuración del escáner que hemos realizado, la mayoría de las aplicaciones de los clientes de StackHawk se escanean en un promedio de 10 minutos o menos.

Encontrar y solucionar problemas de seguridad es simple con StackHawk. Nuestro enfoque como empresa es ayudar a los desarrolladores a encontrar y, lo que es más importante, solucionar problemas de seguridad. El escáner y la plataforma de StackHawk están construidos en torno a este modelo de simplicidad. El escáner se configura mediante YAML que se encuentra junto con el código de la aplicación que estás probando.

Cuando se clasifican los hallazgos de StackHawk, la plataforma intenta brindarte la versión más simple de la información necesaria para ayudarte a comprender rápidamente cuál es el problema, con descripciones simples y ejemplos de patrones para ayudarte a identificar el anti-patrón, poder recrear el problema con herramientas como el comando curl para repetir el ataque y ponerte en modo de depuración, avanzando rápidamente a través del código para ayudarte a solucionar problemas y volver a tu trabajo habitual de crear valor para tus clientes.

Todo esto es compatible con CI/CD. Nuevamente, puedes integrarlo en tu proceso de CI y, lo que es más importante, obtener comentarios sobre los hallazgos del escaneo en el proceso de CI. Esta información se puede utilizar para interrumpir una compilación si así lo deseas, según la gravedad de los hallazgos no clasificados. Aquí se muestran los logotipos de la mayoría de los principales jugadores de CI, y aunque tu plataforma en particular no esté aquí, es muy probable que StackHawk funcione en ella siempre que pueda ejecutar un contenedor Docker. Si puedes ejecutar Docker, puedes ejecutar StackHawk.

También puedes ver aquí que StackHawk se integra con tus herramientas de flujo de trabajo e información. Podemos notificarte los resultados del escaneo en un canal de Slack, publicar esa información en DataDog o enviarte un mensaje de webhook simple que luego puedes utilizar para procesar y hacer lo que desees con los datos.

Echemos un vistazo a cómo se ve la ejecución del escáner de StackHawk. Como puedes ver aquí, tengo una aplicación del lado del servidor estándar. Esta es una aplicación de encuestas que quiero probar en busca de problemas de seguridad. Aquí en mi línea de comandos, tengo un simple comando Docker que ejecuté. Así que ejecuté 'docker run stackhawk'. Le proporcioné el archivo YAML de StackHawk, lo veremos en un momento. Como puedes ver, hizo un rastreo estándar buscando todas las cosas interesantes en la página web que pudo encontrar, y luego realizó un ataque. Así que atacó activamente esta aplicación en busca de posibles problemas de seguridad. Cuando todo terminó, obtuvimos un resumen de estos hallazgos. En realidad, tengo un problema de inyección SQL que debo solucionar. Puedes ver que es nuevo. También tengo un problema de cross-site scripting con el que ya hice algo antes. De hecho, hice un ticket con esto. Ahora está en estado asignado. Tenemos muchas otras cosas que también podemos ver, pero echemos un vistazo a eso también. Aquí en la parte inferior, en realidad tenemos un enlace a este escaneo.

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

Elevando Monorepos con los Espacios de Trabajo de npm
DevOps.js Conf 2022DevOps.js Conf 2022
33 min
Elevando Monorepos con los Espacios de Trabajo de npm
Top Content
NPM workspaces help manage multiple nested packages within a single top-level package, improving since the release of NPM CLI 7.0. You can easily add dependencies to workspaces and handle duplications. Running scripts and orchestration in a monorepo is made easier with NPM workspaces. The npm pkg command is useful for setting and retrieving keys and values from package.json files. NPM workspaces offer benefits compared to Lerna and future plans include better workspace linking and adding missing features.
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
The talk discusses the importance of supply chain security in the open source ecosystem, highlighting the risks of relying on open source code without proper code review. It explores the trend of supply chain attacks and the need for a new approach to detect and block malicious dependencies. The talk also introduces Socket, a tool that assesses the security of packages and provides automation and analysis to protect against malware and supply chain attacks. It emphasizes the need to prioritize security in software development and offers insights into potential solutions such as realms and Deno's command line flags.
Automatizando Todo el Código y las Pruebas con GitHub Actions
React Advanced Conference 2021React Advanced Conference 2021
19 min
Automatizando Todo el Código y las Pruebas con GitHub Actions
Top Content
We will learn how to automate code and testing with GitHub Actions, including linting, formatting, testing, and deployments. Automating deployments with scripts and Git hooks can help avoid mistakes. Popular CI-CD frameworks like Jenkins offer powerful orchestration but can be challenging to work with. GitHub Actions are flexible and approachable, allowing for environment setup, testing, deployment, and custom actions. A custom AppleTools Eyes GitHub action simplifies visual testing. Other examples include automating content reminders for sharing old content and tutorials.
Ajustando DevOps para las Personas sobre la Perfección
DevOps.js Conf 2022DevOps.js Conf 2022
33 min
Ajustando DevOps para las Personas sobre la Perfección
Top Content
DevOps is a journey that varies for each company, and remote work makes transformation challenging. Pull requests can be frustrating and slow, but success stories like Mateo Colia's company show the benefits of deploying every day. Challenges with tools and vulnerabilities require careful consideration and prioritization. Investing in documentation and people is important for efficient workflows and team growth. Trust is more important than excessive control when deploying to production.
¿Por qué es tan lento el CI?
DevOps.js Conf 2022DevOps.js Conf 2022
27 min
¿Por qué es tan lento el CI?
Slow CI has a negative impact on productivity and finances. Debugging CI workflows and tool slowness is even worse. Dependencies impact CI and waiting for NPM or YARN is frustrating. The ideal CI job involves native programs for static jobs and lightweight environments for dynamic jobs. Improving formatter performance and linting is a priority. Performance optimization and fast tools are essential for CI and developers using slower hardware.
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
Passwords are terrible and easily hacked, with most people not using password managers. The credential management API and autocomplete attribute can improve user experience and security. Two-factor authentication enhances security but regresses user experience. Passkeys offer a seamless and secure login experience, but browser support may be limited. Recommendations include detecting Passkey support and offering fallbacks to passwords and two-factor authentication.

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.
Despliegue de aplicaciones React Native en la nube
React Summit 2023React Summit 2023
88 min
Despliegue de aplicaciones React Native en la nube
WorkshopFree
Cecelia Martinez
Cecelia Martinez
Desplegar aplicaciones React Native manualmente en una máquina local puede ser complejo. Las diferencias entre Android e iOS requieren que los desarrolladores utilicen herramientas y procesos específicos para cada plataforma, incluidos los requisitos de hardware para iOS. Los despliegues manuales también dificultan la gestión de las credenciales de firma, las configuraciones de entorno, el seguimiento de las versiones y la colaboración en equipo.
Appflow es la plataforma de DevOps móvil en la nube creada por Ionic. Utilizar un servicio como Appflow para construir aplicaciones React Native no solo proporciona acceso a potentes recursos informáticos, sino que también simplifica el proceso de despliegue al proporcionar un entorno centralizado para gestionar y distribuir tu aplicación en múltiples plataformas. Esto puede ahorrar tiempo y recursos, permitir la colaboración, así como mejorar la confiabilidad y escalabilidad general de una aplicación.
En este masterclass, desplegarás una aplicación React Native para su entrega en dispositivos de prueba Android e iOS utilizando Appflow. También aprenderás los pasos para publicar en Google Play y Apple App Stores. No se requiere experiencia previa en el despliegue de aplicaciones nativas, y obtendrás una comprensión más profunda del proceso de despliegue móvil y las mejores prácticas para utilizar una plataforma de DevOps móvil en la nube para enviar rápidamente a gran escala.
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.
Despliegue de Aplicación MERN Stack en Kubernetes
DevOps.js Conf 2022DevOps.js Conf 2022
152 min
Despliegue de Aplicación MERN Stack en Kubernetes
Workshop
Joel Lord
Joel Lord
Desplegar y gestionar aplicaciones JavaScript en Kubernetes puede volverse complicado. Especialmente cuando una base de datos también debe formar parte del despliegue. MongoDB Atlas ha facilitado mucho la vida de los desarrolladores, sin embargo, ¿cómo se integra un producto SaaS con su clúster de Kubernetes existente? Aquí es donde entra en juego el Operador de MongoDB Atlas. En este masterclass, los asistentes aprenderán cómo crear una aplicación MERN (MongoDB, Express, React, Node.js) localmente y cómo desplegar todo en un clúster de Kubernetes con el Operador de Atlas.