Panel de Discusión: Pruebas de Seguridad de Aplicaciones

Rate this content
Bookmark
30 min
15 Jun, 2021

Video Summary and Transcription

El panel de discusión sobre pruebas de seguridad de aplicaciones abordó diversas perspectivas sobre DevSecOps, enfatizando la importancia de desplazar la seguridad hacia la izquierda y el papel de la automatización. Se destacó la colaboración entre desarrolladores y equipos de seguridad, así como la necesidad de herramientas de seguridad amigables para los desarrolladores. Se discutieron los puntos problemáticos de la integración de pruebas de seguridad tempranas en el proceso, incluidos los desafíos técnicos y culturales. También se proporcionaron recomendaciones de proyectos de código abierto para construir un proceso seguro.

Available in English

1. Introducción a la Mesa Redonda

Short description:

Gracias por unirse a nosotros hoy en la mesa redonda sobre pruebas de seguridad de aplicaciones. Tenemos unos invitados increíbles como panelistas. Permítanme presentarme. Trabajo para una empresa multinacional y también contribuyo en trabajos pro bono e iniciativas de diversidad.

Así que, hola a todos. Gracias por unirse a nosotros hoy en la mesa redonda sobre seguridad de aplicaciones y como mencionamos, las pruebas de seguridad de aplicaciones son uno de los temas muy importantes y manténganse atentos. Tenemos unos invitados realmente increíbles con nosotros como panelistas. Y voy a pedirles a todos los panelistas que se presenten uno por uno. Y antes de eso, permítanme presentarme. Mi trabajo diario es en una de las empresas multinacionales. Aparte de eso, en mi tiempo libre me dedico a trabajos pro bono, donde soy uno de los miembros de la Junta Directiva global de OWASP, y también dirijo algunas iniciativas de diversidad en InfoSec

2. Introduction of Panelists

Short description:

Ahora presentaré a nuestros panelistas. Scott Gerlach, CSO y cofundador de StackHawk, compartirá brevemente. Sam, un consultor independiente de seguridad de aplicaciones, también hablará. Liren, un defensor de desarrolladores en Snyk, y Bar, el CTO y cofundador de Neuralegion, se unirán a la discusión sobre pruebas de seguridad de aplicaciones.

chicas, niños de InfoSec y otras iniciativas. Ahora pasaré a nuestros panelistas, donde les pediré que compartan algunas palabras sobre ellos mismos para que el público pueda conocerlos. Comenzaré con Scott. Scott, te toca a ti.

Genial. Gracias, Pedona. Soy Scott Gerlach, CSO y cofundador de StackHawk, que es una herramienta de seguridad de aplicaciones dinámica enfocada en desarrolladores. Seré breve porque sé que estamos un poco ajustados de tiempo y quiero llegar a este contenido realmente genial. Gracias. Sam, te toca a ti.

Hola, soy Sam y soy un consultor independiente de seguridad de aplicaciones durante el día, y en mi tiempo libre, al igual que ustedes, hago trabajo pro bono y voluntariado para OWASP. Soy líder del capítulo de OWASP en Londres y también lidero un par de proyectos de OWASP. Eso es todo por mi parte. Gracias. Te toca a ti, Liren.

Hola a todos. Mi nombre es Yaron. Soy un defensor de desarrolladores en Snyk, donde ayudamos a los desarrolladores a construir software de código abierto de manera segura. Eso es todo. Te toca a ti, Bar.

Hola a todos. Soy Bar. Soy investigador de seguridad, hacker, desarrollador y arquitecto de software. Soy el CTO y cofundador de Neuralegion. Realizamos pruebas de seguridad de aplicaciones sin falsos positivos para desarrolladores. Es genial estar aquí. Gracias.

3. Panelists' Perspectives on DevSecOps

Short description:

En esta mesa redonda, los participantes comparten sus perspectivas sobre DevSecOps. Discuten la importancia de conectar las comunidades de operaciones y desarrollo e introducir la seguridad en la conversación. DevSecOps se ve como una filosofía y cultura que trata la seguridad como una responsabilidad. Se trata de construir una infraestructura que integre de manera fluida la automatización y la seguridad. La visión de DevSecOps es hacer que la seguridad sea parte integral del ciclo de desarrollo y operación de aplicaciones.

Gracias. Y nos alegra tenerlos aquí. Tenemos a todos aquí con nosotros. Y ahora me dirigiré directamente a la mesa redonda y comenzaré la discusión sobre las pruebas de seguridad de aplicaciones. He estado escuchando que DevOps con seguridad, o lo que llamamos DevSecOps, cada uno tiene su propia forma de definirlo o su propia definición. Así que me gustaría saber de cada uno de ustedes qué significa para ustedes, qué significa DevSecOps.

Esta vez comenzaré con Bar, así que iremos en orden inverso. Muy bien, en primer lugar, creo que es un tema interesante para discutir. DevOps en general se trata de conectar dos comunidades. Se trata de conectar a las personas de operaciones y las personas de desarrollo. Solían ser rivales antes y creo que es muy importante y una muy buena idea tratar de crear algún tipo de puente entre esas dos secciones. DevSecOps más específicamente se trata de introducir la seguridad en la conversación. Se trata de ver cómo esos conceptos de seguridad, herramientas y otras técnicas pueden ayudar a habilitar y no interrumpir a los desarrolladores y al personal de operaciones con lo que hacen. Sí, eso es genial. Lyrin, te toca a ti.

Sí, creo que DevOps ha estado ahí para permitirnos, la forma en que lo veo es que está sentando las bases para permitirnos escalar lo que significa operaciones. Así es como veo que realmente ayuda y cobra vida con DevSecOps. Para mí, significa que no se trata solo de automatización, se trata de establecer la infraestructura, poner todo, la automatización que se necesita para que los desarrolladores luego automatizar la seguridad dentro de ella. No se trata de usar una herramienta específica, una u otra, o en una etapa específica, se trata de construir ese flujo de trabajo, esa infraestructura, todo lo que luego se une y fluye de manera muy fluida. Así es como veo DevSecOps. Sí, totalmente cierto. Sam, te toca a ti.

Sí, para mí, creo que DevSecOps en primer lugar es una filosofía, es una cultura. Es una cultura de introducir la seguridad como código en todo, asegurarse de que las personas traten la seguridad como su responsabilidad, como su trabajo. Así que no se trata solo de herramientas, no se trata solo de automatización, se trata de una mentalidad, seguridad primero, eso es lo que realmente debería ser DevSecOps. Es una mentalidad global para todos nosotros. Sí, es cierto. Scott, te toca a ti.

Sí, estoy a punto de meterme en problemas aquí. Siento que necesito un meme de 'cómo empezó y cómo va' para esto. Porque creo que lo que todos dijeron es la visión de DevSecOps, ¿verdad? La seguridad es parte del desarrollo y operación de aplicaciones. Y tenemos que seguir incorporando la seguridad para que las personas sigan hablando.

4. Importancia de Desplazar a la Izquierda en DevOps

Short description:

Inicialmente, los equipos de DevOps dejaron atrás la seguridad, pero ahora los equipos de seguridad se están dando cuenta de la necesidad de ser más ágiles y flexibles. Desplazarse a la izquierda es crucial, ya que DevOps y la seguridad no deben ser separados. Es una responsabilidad compartida que requiere un cambio cultural desde los desarrolladores hasta el liderazgo. Sin el apoyo del liderazgo y una cultura colaborativa, construir un pipeline de DevOps o DevSecOps es un desafío.

Hablemos de eso. Pero creo que la forma en que comenzó fue con DevOps, los equipos de Dev y Ops dejaron atrás la seguridad y los equipos de seguridad pensaron: 'Oye, queremos participar en esta increíble herramienta circular'. Simplemente vamos a insertar nuestra cosa justo en el medio. Y luego se quedaron atrás porque no están operando en el mismo ciclo que los equipos de Dev y Operaciones o DevOps. Creo que estamos llegando a un punto en el que los equipos de seguridad están empezando a darse cuenta de que necesitan ser más ágiles, flexibles y cíclicos, como el equipo de DevOps. Así que creo que estamos de nuevo en el meme de 'cómo empezó y cómo va'. Sí, absolutamente. Tenemos diferentes perspectivas, pero creo que todos estamos hablando el mismo idioma en el sentido de que necesitamos empezar a desplazarnos a la izquierda. Necesitamos entender que cuando hablamos de DevOps, no dejamos atrás la seguridad. Y es responsabilidad de todos, no solo mía, no solo de los desarrolladores, sino de todos nosotros. Incluso cuando hablamos de cultura, la cultura tiene que dar un giro de 180 grados e inculcarse desde los desarrolladores hasta el liderazgo. Así que es en ambos sentidos. Si el liderazgo no te da la aprobación para construir un pipeline de DevOps o DevSecOps, no puedes hacer nada. De manera similar, si no tenemos el tipo correcto de cultura y los equipos no se comunican entre sí, nunca podremos construir la mentalidad o el hábito que queremos para DevOps o DevSecOps.

5. El papel de la automatización en DevSecOps

Short description:

La automatización es crucial en el pipeline de DevOps, permitiendo una entrega rápida y segura. Proporciona salvaguardias a lo largo del ciclo de vida de la aplicación, incluyendo dependencias, contenedores y YAML de Kubernetes. La automatización es clave en el paradigma de DevSecOps, permitiendo a los desarrolladores centrarse en la construcción mientras abordan los errores de seguridad. Se trata de proporcionar a los desarrolladores las herramientas adecuadas para comprender los conceptos de seguridad e integrar la seguridad de manera transparente. La automatización es un aspecto fundamental para lograr la nirvana de DevSecOps.

Ahora, cuando hablamos de DevSecOps y hablamos de que las pruebas de seguridad se están convirtiendo en una parte integral del pipeline de DevOps. Entonces, desde tu perspectiva, ¿cuánta importancia tiene la automatización y cuánta relevancia tiene? Porque todos dicen que tenemos cultura, tenemos herramientas, tenemos de todo en torno a DevOps y ahora también estamos hablando de cultura. Así que ¿cuánto papel juega la automatización en eso? Y creo que podemos empezar con Liron.

Sí, claro. Cuando hablamos de la importancia de la automatización y la seguridad en el pipeline, necesitamos entender que cuando decimos pipeline de DevOps, básicamente estamos hablando de poder entregar algo, ¿verdad? Básicamente, si no puedes entregar algo, si el pipeline está bloqueado, básicamente no estás entregando, no estás lanzando algo que necesitas para los clientes. Por cierto, eso podría ser una corrección, una corrección de seguridad o una corrección para una regresión. Así que ese es un aspecto muy importante. Y automatizar la seguridad en eso significa que ahora estás dando a la organización, al negocio, a la empresa, una forma de poder enviar algo rápidamente de manera segura. Así que eso es algo obvio. Pero lo que creo que estamos pasando por alto aquí es que muchas veces, cuando hablamos de DevOps, ese pipeline es algo que, muchas veces, también desde mi experiencia como desarrollador anteriormente, ha sido mucha magia que ocurre detrás de escena, ¿verdad? La gente simplemente fusiona algo, hay una solicitud de extracción que se fusiona majestuosamente, va a producción, está ahí. Pasó por muchas automatizaciones y pruebas de regresión y pruebas visuales y pruebas de seguridad y pruebas de rendimiento, muchas cosas. Así que tener la seguridad automatizada en eso, eso básicamente te da más salvaguardias y la capacidad de entregar rápidamente de manera segura. Y tienes que hacerlo a lo largo del ciclo de vida de la aplicación, ¿verdad? Tienes que hacer algo cuando piensas en las aplicaciones de hoy en día, esto es más como un mundo de seguridad de aplicaciones nativas en la nube, porque no son solo tus dependencias, es tu contenedor y luego es tu YAML de Kubernetes. Muchas cosas que básicamente están presentes cuando realmente haces clic en ese botón de fusión y algo mágicamente va a producción. Y luego esa automatización de seguridad que está básicamente en todo el proceso, eso es lo que creo que va a cambiar la vida en términos de cómo integras la seguridad en el ciclo de vida de DevOps. Sí, estoy totalmente de acuerdo contigo en eso.

Ahora, también quiero conocer la perspectiva de Barr en este aspecto, porque él trabaja con herramientas, trabaja con seguridad del producto, así que quiero conocer la perspectiva de Barr sobre cómo la automatización está ayudando a sus equipos y al trabajo que está haciendo en torno a la seguridad del producto.

Creo que lo más obvio es que la automatización es clave, ¿verdad? No podemos esperar que nada funcione en este paradigma de DevOps, DevSecOps, sin tener automatización. Creo que eso es algo que muchas empresas pasan por alto, es que los desarrolladores, aunque realmente queremos, como nuestro sueño, es que cada desarrollador sea este tipo de superhéroe para la seguridad, que sepa todo sobre seguridad, pueda ejecutar sus herramientas, realizar pruebas manuales, verificar todo, y eso no es cómo va a funcionar. Y creo que incluso de la mejor manera ni siquiera deberíamos esperar eso. Los desarrolladores están aquí para crear cosas increíbles. Están aquí para construir. Y creo que utilizando la automatización y brindando a los desarrolladores las herramientas adecuadas a través de esta automatización, no para convertirlos en expertos en seguridad, sino para permitirles ver esos conceptos de seguridad, esos errores, porque la seguridad al final son solo errores. Entonces, darles lo que saben, que son errores, pero de una manera de seguridad, ahí es donde realmente apuntamos. Y ahí es donde la seguridad y GitHub y todas esas increíbles nuevas integraciones están sucediendo. Y realmente, creo que ese es el punto principal.

Sí, cierto, cierto. Y acabo de darme cuenta de que hay algo que quiero preguntar a todos los panelistas. Pero antes de eso, quiero preguntarle a Scott o a Sam si quieren agregar algo, basado en su experiencia con DevSecOps.

Sí, creo que algo importante sobre la automatización es, en primer lugar, que debe estar presente, ¿verdad? Porque obviamente, si no automatizas las herramientas de seguridad

6. Colaboración entre desarrolladores y equipos de seguridad

Short description:

Los desarrolladores necesitan familiarizarse con las herramientas de seguridad y comprenderlas. La colaboración entre los desarrolladores y los equipos de seguridad es crucial para construir automatización. Hacer que las herramientas de seguridad sean accesibles fuera de CICD es tan importante como la automatización. Los desarrolladores pueden ser campeones de seguridad. Comenzar con una herramienta e iterar es clave para los equipos de seguridad de aplicaciones. La eficiencia y efectividad del desarrollador son importantes, pero no necesitan ser expertos en seguridad.

en tus pipelines, realmente no obtienes esa nirvana de DevSecOps. Pero creo que lo importante, y creo que ya se mencionó, es que los desarrolladores necesitan jugar realmente con las herramientas de security que integran en público. Necesitan comprenderlas porque aquí es donde la automatización es importante, porque anteriormente, cuando teníamos un proceso manual, los desarrolladores escribían un fragmento de código y lo enviaban a un equipo de security. El equipo de security realizaría su escaneo y produciría un resultado con muchas vulnerabilidades, como una larga lista o tu código tiene errores, muchas fallas de security, y lo devolverían a los desarrolladores, y los desarrolladores dirían, bueno, ¿qué vamos a hacer con esto? Creo que esta es la parte importante, asegurarse de que los desarrolladores y los equipos de security estén colaborando juntos en la automatización, y estén construyendo esa automatización juntos.

Cierto, Scott. Sí, todos dijeron cosas increíbles, solo quiero agregar un poco. La automatización es obviamente muy importante, pero algo que dijo Lirian es realmente importante, y es no hacer que cosas en bloque sucedan en CICD. Si tu desarrollador no puede fuera de CICD, comprender o ejecutar el proceso o tener control sobre lo que está sucediendo con las herramientas de security o las herramientas de QA, o lo que sea, y no puede reproducir lo que está a punto de suceder en CICD, es cuando comienzas a introducir esa pregunta, ¿cómo puedo resolver esto porque sigue bloqueándome y no entiendo qué está haciendo? Así que asegurarse de que esas cosas estén disponibles fuera de CICD y sean accesibles y todas esas cosas buenas, y creo que es tan importante como la automatización. En las bibliotecas de Apache Strux, es una pequeña vulnerabilidad que probablemente pueda implementar. Una pequeña vulnerabilidad que probablemente pueda implementar sin ella. Sí, recuerdo eso. Y mencionaste la forma correcta en que los desarrolladores están tratando de encontrar formas de evadir la security porque ellos son los superhéroes del desarrollo y estamos tratando de convertirlos en superhéroes de security. Pero en lugar de eso, podríamos convertirlos en campeones de security y luego podemos pedirles ayuda. Ahora, Scott, una pregunta para ti sobre lo mismo, como los desarrolladores están trabajando rigurosamente para asegurarse de que las aplicaciones que se desarrollan sean como ellos las han imaginado o como los clientes las han imaginado. Entonces, cuando se trata de pruebas de security, a veces, todos sabemos que se convierte en una carga o algo que sobrecarga a los desarrolladores. Y todos hemos sido desarrolladores así que podemos entender esa presión. Entonces, ¿hay alguna herramienta enfocada en el desarrollador que esté disponible o hay algo en lo que el equipo de security pueda ayudar a los desarrolladores para que sea útil, para que el pipeline de CICD sea más rápido o más fácil para los desarrolladores para que no sientan que hay algo que les está presionando, sino que sientan que es parte de mi trabajo diario y está totalmente bien hacerlo? Esa es una gran pregunta. Creo que hay muchos logotipos en este panel aquí y allá y aquí que son excelentes, excelentes ideas sobre dónde puedes comenzar. Sabemos que hay algunas herramientas de código abierto que hacen cosas similares a todos los productos que representamos aquí, pero tener ese enfoque comercial en el usuario y asegurarse de que las cosas funcionen como se supone que deben funcionar es realmente bueno. Pero la parte más importante es simplemente comenzar, ¿verdad? Es elegir algunas cosas, ya sea SCA o análisis de código estático o DAST, o cualquier otra cosa, elegir una y iterar desde allí si estás comenzando. Si tu equipo de seguridad de aplicaciones tiene dificultades para obtener resultados para solucionar porque el valor está en solucionar errores de security, no en encontrar errores de security. Y estás tratando de reorganizar, comienza pequeño. Ese siempre es mi consejo para las personas que están luchando como equipo de seguridad de aplicaciones, simplemente comienza con una herramienta en un proyecto y itera a partir de ahí. Asegúrate de que las cosas funcionen correctamente y continúa impulsando la adopción por parte de los desarrolladores. Entonces, Liren, ¿quieres agregar algo más? Sí, me gustaría intentarlo. Es algo que me apasiona. Estoy de acuerdo con ambos. Creo que tanto Scott como Bar mencionaron esto de una manera en la que la eficiencia o efectividad del desarrollador para moverse rápido y de manera inteligente también es muy importante. No creo que nadie espere que los desarrolladores sean los próximos expertos en security increíbles de la empresa. Si lo son, eso es increíble, pero no es una exigencia.

7. Ayudando a los Desarrolladores a Solucionar Problemas

Short description:

No podemos hacer eso. Pero en cambio, lo que podemos hacer es ayudarles a solucionar los problemas. Si usas Container y tiene 500 vulnerabilidades, ¿qué haces con esa información? Una herramienta de seguridad centrada en el desarrollador te ayuda a tomar esa decisión y priorizar las vulnerabilidades en tu archivo POM.

No podemos hacer eso. Pero en cambio, lo que podemos hacer es ayudarles a solucionar los problemas. Así que tomaré dos ejemplos prácticos de lo que esto significa para que podamos relacionarlo con un ejemplo en lugar de una discusión abstracta aquí. Y eso es, por ejemplo, si usas Container, y tiene 500 vulnerabilidades, en ese punto, ¿qué haces con esa información? Tradicionalmente, security diría, lo solucionaremos. Pero, ¡hey!, ese tag de imagen de nodo tiene 500 stacks base diferentes que podrías usar, ¿verdad? Alia dice, ¿debería usar Slim o Buster o diferentes versiones de Linux o diferentes versiones de Node.js, a cuál debería moverme realmente? Así que creo que una herramienta de seguridad centrada en el desarrollador es aquella que te ayuda a tomar esa decisión, te dice qué imágenes base alternativas podrías probar para hacerlo. De manera similar, si hablamos de AppSec moviéndonos un poco más abajo desde el nativo de la nube aquí sobre los contenedores a tal vez, por ejemplo, desarrolladores de Java, una de las cosas que los desarrolladores... Veo frustración en los desarrolladores cuando necesitan escanear las dependencias y tienen este problema de, bueno, tal vez no use esa dependencia. Tal vez esa función vulnerable en la dependencia no sea llamable, ¿verdad? En el código, tal vez mi código aún no lo llama, está empaquetado, pero no se está llamando. Así que creo que si tenemos una herramienta que te ayuda y te dice que hay una vulnerabilidad alcanzable desde tu código a esa dependencia vulnerable, eso te ayuda a tomar una decisión. Ahora tienes cien dependencias que son vulnerables en tu archivo POM, pero sabes cuáles priorizar para solucionar primero. Esa es la forma en que ICS básicamente ayuda a los desarrolladores a solucionar los problemas.

8. Puntos Dolorosos de Integrar Pruebas de Seguridad

Short description:

Los desarrolladores enfrentan desafíos al integrar pruebas de seguridad temprano en el pipeline. No es solo una preocupación para los desarrolladores y probadores, sino también para los equipos de seguridad y el liderazgo. Sam compartirá sus ideas sobre los puntos dolorosos asociados con la integración de pruebas de seguridad.

Correcto. Sí. Ahora quiero preguntarle a Sam, todos hemos estado hablando de que los desarrolladores tienen problemas con eso. Ahora los desarrolladores están enfrentando un problema. Los desarrolladores deberían ser campeones. Hemos estado hablando de DevSecOps, pero hay un punto en el que todavía me estoy rascando la cabeza, y quiero saber cuáles son los puntos dolorosos de integrar pruebas de seguridad. Y todos sabemos que tenemos que integrar, pero sé que hay algunos puntos dolorosos por los que todos pasamos. Y no solo es para los desarrolladores o los probadores, también es para el equipo de security y también para el liderazgo. Entonces, Sam, me gustaría comenzar contigo y preguntarte, ¿qué crees que son los puntos dolorosos al integrar pruebas de seguridad temprano en

9. Puntos Dolorosos Técnicos y Culturales

Short description:

Un punto doloroso técnico es el requisito de que JavaScript no esté minificado o empaquetado para un escaneo eficiente. Otro punto doloroso es el desafío cultural de introducir herramientas de pruebas de seguridad en el pipeline. La pregunta de si romper o no la compilación es una preocupación común. Un enfoque es proporcionar hallazgos de seguridad como comentarios en las solicitudes de extracción. Las barreras de entrada en las herramientas de seguridad incluyen el sesgo de producción y las personas equivocadas trabajando en problemas de seguridad. El cambio cultural implica empoderar a aquellos que pueden solucionar los problemas para verificar y tomar decisiones mientras escriben el código.

¿en el pipeline? Sí, creo que principalmente hay probablemente dos categorías de puntos dolorosos. Uno es un punto doloroso técnico. Y creo que porque estamos en una cumbre de pruebas JS, vale la pena mencionar que en particular con JavaScript, hay algunos problemas con algunas de las herramientas, por ejemplo, una simple cosa técnica es que, por ejemplo, requeriría que JavaScript no esté minificado, por ejemplo, o empaquetado para poder escanearlo de manera eficiente, ¿verdad? Definir vulnerabilidad. Entonces, este es un tipo de punto doloroso técnico. Y tratar de resolver esto, la multitud de frameworks que los desarrolladores usan, y hoy escuchamos sobre muchos y muchos frameworks de pruebas y frameworks de desarrollo, y básicamente adaptar tus herramientas de seguridad para asegurarte de que las admita es todo un desafío. El segundo punto doloroso es el punto doloroso cultural. Porque de repente introducir todas las herramientas de pruebas de seguridad en el pipeline, bueno, no lo llamaría impactante. Pero culturalmente es bastante difícil. Y obviamente, hay una pregunta que siempre surge. Y no sé, es como la pregunta eterna de ser o no ser. Y la pregunta aquí es si romper la compilación o no romper la compilación. Entonces, ¿rompen la compilación? Y si sus herramientas de seguridad comienzan a romper las compilaciones, ¿qué pensarán los desarrolladores al respecto? Así que este es uno de los interesantes puntos dolorosos. Por ejemplo, con la ruptura de la compilación, una de las cosas que siempre encuentro útiles es en realidad no romper la compilación, sino asegurarse de que los hallazgos de seguridad se entreguen a los desarrolladores como comentarios en la solicitud de extracción, por ejemplo. Esto asegura que el impacto cultural cuando se introduce la seguridad en el pipeline por primera vez sea un poco más suave. Sí, estoy de acuerdo. Estoy totalmente de acuerdo en ese punto. A veces mencionas que no es un impacto, pero créeme, es un impacto. Ahora, Scott, ¿puedes compartir tu experiencia con esto? Sé que has estado trabajando mucho en esta área. Me gustaría escuchar tu opinión al respecto. Sí, claro. Trataré de ser breve, porque sé que estamos cerca del tiempo límite. Siempre hablamos de tres cosas que son barreras de entrada en las herramientas de seguridad con los desarrolladores, y una de ellas es el sesgo de producción. Muchas herramientas que son herramientas de seguridad tienen esta característica de que debes ejecutarlas en producción, lo que significa que debes enviar tus vulnerabilidades

10. Desafíos y Cambio Cultural en DevSecOps

Short description:

Muchas herramientas de seguridad requieren ejecutarse en producción, lo que significa enviar vulnerabilidades a producción. La versión anterior de DevSecOps involucraba a las personas equivocadas trabajando en las cosas equivocadas en el momento equivocado. Las personas encargadas de la seguridad de las aplicaciones a menudo luchan con la autenticación y carecen de conocimiento sobre cómo funcionan las aplicaciones. El cambio cultural implica empoderar a aquellos que pueden solucionar problemas para verificar y tomar decisiones mientras escriben el código.

tienen esta característica de que debes ejecutarlas en producción, lo que significa enviar tus vulnerabilidades a producción para encontrarlas, lo cual es extraño. Pero luego, la versión anterior de DevSecOps es que son las personas equivocadas trabajando en las cosas equivocadas en el momento equivocado. Entonces, son las personas encargadas de la seguridad de las aplicaciones que probablemente no puedan solucionar estos problemas. No saben cómo funciona la aplicación, por lo que luchan con cosas como la autenticación y lo hacen nuevamente en producción. Pero luego, el cambio cultural aquí son las personas que pueden solucionar este problema y pueden verificarlo mientras lo están escribiendo y asegurarse de que están tomando decisiones activas. Sé que Liran hizo una broma sobre la vulnerabilidad de Apache Struts, pero si supieran eso y dijeran, lo voy a hacer de todos modos y lo documentaron, ¿no sería genial saber como persona de seguridad que realmente hiciste eso en lugar de no tener idea de dónde tenemos Apache Struts en absoluto? Estoy de acuerdo contigo en eso. Y recuerdo pasar días solo buscando dónde exactamente está el error, cómo solucionarlo, cuán pronto puedo hacerlo y a quién debo contactar. Así que sí.

11. Recomendaciones de Proyectos de Código Abierto

Short description:

Cada panelista recomienda proyectos de código abierto para construir un pipeline seguro. Liren sugiere el proyecto OWASP Node Goat para entrenamiento de vulnerabilidades. Bar destaca el OASP Header Tester para la seguridad de encabezados. Sam menciona varios proyectos de OWASP, incluyendo ZAP para escaneo de vulnerabilidades e historias de seguridad de usuario para diseño y requisitos. También se sugieren herramientas de modelado de amenazas como OWASP ThreatDragon y el juego de mesa OASP Cornucopia. Scott menciona ZAP y anuncia la conferencia de usuarios de ZAP.

Absolutamente. Ahora, antes de concluir, porque tenemos muy poco tiempo, es una pregunta para cada uno de ustedes, y sé que cada uno de ustedes está contribuyendo a algún proyecto de código abierto o está utilizando algún proyecto de código abierto. Entonces, cualquier proyecto de código abierto que quieran recomendar a nuestra audiencia, donde puedan consultar, que les pueda ayudar a construir un pipeline seguro. Comenzaré con Liren, luego iremos a Bart, Sam y Scott. Bueno, sí. Estoy involucrado en el proyecto OWASP Node Goat. Es básicamente una aplicación vulnerable que te ayuda a entrenar y aprender sobre vulnerabilidades en tu código y en tus dependencias con el ecosistema de Node.js. Si quieres probarlo, es realmente genial uno. Puedes hacer una masterclass, tiene tutoriales, videos, explicaciones. Diría que es una forma realmente genial de hacer un campeonato de seguridad en tu empresa. También mantengo algunos otros proyectos de seguridad, tanto de OWASP como propios. Así que si quieres involucrarte en el código abierto o en alguno de estos, estaré encantado de trabajar contigo y guiarte en estos proyectos de código abierto. Ahora le toca a Bart. Gracias. Creo que solo quiero mencionar un punto, que al integrar cosas nuevas en tu pipeline, incluso herramientas de código abierto, es realmente importante entender que puedes sentirte abrumado con notificaciones, alertas y todo este ruido. Así que elige lo que quieres utilizar porque la mayoría de esas herramientas son muy ruidosas. Pero una herramienta que creo que es bastante buena para comenzar es el OASP Header Tester, que maneja muy bien la seguridad de encabezados y puede darte una línea base muy buena para la seguridad de encabezados, que es algo que generalmente se considera como un extra o algo bueno de tener. Pero eso podría ser la diferencia entre una XSS o un problema de seguridad de aplicación similar y no tener eso. ¡Te toca Sam! Sí, gracias por mencionar un proyecto de OASP, lo que voy a decir es que hay muchos proyectos de código abierto fantásticos de OASP que pueden ayudar a los desarrolladores a asegurar su trabajo y sus pipelines, y por supuesto OASP Zap es nuestro escáner DAST que puede escanear tus aplicaciones en busca de vulnerabilidades y está disponible como una acción de GitHub que puedes arrastrar y soltar y usar de inmediato. Por ejemplo, hay un rastreador de dependencias que puede escanear tu código en busca de dependencias. Así que hay varias herramientas disponibles también en cuanto a los estándares como ASVS. Otra cosa muy importante si estás interesado en ver cómo mover la seguridad hacia la izquierda es que debes comenzar desde tus epics e historias, y un proyecto que no muchas personas están hablando y que tenemos en OASP son las historias de seguridad de usuario. Esto es lo que puedes incorporar en tu diseño, en tus requisitos desde las primeras etapas, puedes tener todas tus historias de seguridad como usuario y como atacante. ¿Qué puede hacer un atacante con tu aplicación? Así que es bastante importante tener esto en cuenta. Otras herramientas geniales que no están específicamente en el pipeline son las herramientas de modelado de amenazas como OWASP ThreatDragon, que pueden ayudarte a construir y diagramar tus amenazas temprano en el ciclo de vida, y otro proyecto bastante interesante y realmente divertido que no está relacionado con el pipeline pero es importante para DevSecOps y para tu cultura es algo como el juego de mesa OASP Cornucopia, donde puedes jugar juegos de mesa con tus desarrolladores y aprender sobre amenazas. Genial, gracias. Gracias Sam. Scott, vamos a concluir antes de eso. Adelante y comparte tus herramientas. Sí, totalmente. Sam mencionó todas las buenas herramientas de código abierto que iba a mencionar, incluyendo ZAP. Nos encanta ZAP, y de hecho, hace media hora anunciamos una convocatoria de presentaciones para la primera conferencia de usuarios de ZAP. Así que revisen eso en el perfil de Twitter de ZAP y muchas otras cosas. Si tienes ideas sobre cómo usar ZAP en un método CICD o DevSecOps, envía una presentación. Nos encantaría compartirla con todos. Muchas gracias Scott. Esto fue realmente útil, y gracias a todos por unirse hoy y un gran agradecimiento a nuestros panelistas por compartir sus puntos de vista. Espero verlos pronto y sigan a todos nuestros panelistas para obtener más actualizaciones sobre la seguridad de aplicaciones. Muchas gracias.

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

TestJS Summit 2021TestJS Summit 2021
10 min
JS Do It.....Accurate Security Testing Automation for Developers
NeuraLegion's developer friendly security scanner enables development teams to run dead accurate security tests on every build as part of their pipeline. False alerts and periodic infrequent scanning results in technical and security debt, as well as insecure product. But what is developer first DAST, when and how should you be integrating it into your pipelines and what should you be looking for when enhancing your security testing automation? Join this talk to get up to date.
Node Congress 2022Node Congress 2022
9 min
Automated Application Security Testing with StackHawk
Traditional security testing for Node and JS apps has focused on the front-end, but actual security issues most often lie in the backing REST API. Join StackHawk co-founder Scott Gerlach for a quick overview of why you need to rethink how you test your JS apps and how StackHawk can help you find and fix security bugs fast.
You can check the slides for Scotts's talk here.

Workshops on related topic

TestJS Summit 2023TestJS Summit 2023
48 min
API Testing with Postman Workshop
Top Content
WorkshopFree
In the ever-evolving landscape of software development, ensuring the reliability and functionality of APIs has become paramount. "API Testing with Postman" is a comprehensive workshop designed to equip participants with the knowledge and skills needed to excel in API testing using Postman, a powerful tool widely adopted by professionals in the field. This workshop delves into the fundamentals of API testing, progresses to advanced testing techniques, and explores automation, performance testing, and multi-protocol support, providing attendees with a holistic understanding of API testing with Postman.
1. Welcome to Postman- Explaining the Postman User Interface (UI)2. Workspace and Collections Collaboration- Understanding Workspaces and their role in collaboration- Exploring the concept of Collections for organizing and executing API requests3. Introduction to API Testing- Covering the basics of API testing and its significance4. Variable Management- Managing environment, global, and collection variables- Utilizing scripting snippets for dynamic data5. Building Testing Workflows- Creating effective testing workflows for comprehensive testing- Utilizing the Collection Runner for test execution- Introduction to Postbot for automated testing6. Advanced Testing- Contract Testing for ensuring API contracts- Using Mock Servers for effective testing- Maximizing productivity with Collection/Workspace templates- Integration Testing and Regression Testing strategies7. Automation with Postman- Leveraging the Postman CLI for automation- Scheduled Runs for regular testing- Integrating Postman into CI/CD pipelines8. Performance Testing- Demonstrating performance testing capabilities (showing the desktop client)- Synchronizing tests with VS Code for streamlined development9. Exploring Advanced Features - Working with Multiple Protocols: GraphQL, gRPC, and more
Join us for this workshop to unlock the full potential of Postman for API testing, streamline your testing processes, and enhance the quality and reliability of your software. Whether you're a beginner or an experienced tester, this workshop will equip you with the skills needed to excel in API testing with Postman.
TestJS Summit 2023TestJS Summit 2023
89 min
Building out a meaningful test suite that's not all E2E
Workshop
We're all taught to follow the Testing Pyramid but the reality is that we build out the Testing Christmas Tree. In this workshop, David will talk you through how to break down projects and put the tests where they need to be. By the end of the workshop you will be able to update your projects so that anyone and everyone can start contributing and truly living up to "Quality is everyone job".
He will walk you through:- Component Testing- API Testing- Visual Regression Testing- A11Y testing
He will also talk you through how to get these all setup in your CI/CD pipeline so that you can get shorter and faster feedback loops.
Node Congress 2021Node Congress 2021
71 min
Securing Node Applications with Automated Security Testing in CI/CD
Workshop
We’ve all heard the buzz around pushing application security into the hands of developers, but if you’re like most companies, it has been hard to actually make this a reality. You aren’t alone - putting the culture, processes, and tooling in place to make this happen is tough - especially for sophisticated applications. Join Scott Gerlach (CSO, StackHawk) and Liran Tal (Developer Advocate, Snyk) as they dive into how you can add AppSec testing to your CI/CD pipeline to ship secure code faster.
Prerequisites:Docker is a nice to have
TestJS Summit 2021TestJS Summit 2021
111 min
JS Security Testing Automation for Developers on Every Build
WorkshopFree
As a developer, you need to deliver fast, and you simply don't have the time to constantly think about security. Still, if something goes wrong it's your job to fix it, but security testing blocks your automation, creates bottlenecks and just delays releases...but it doesn't have to...

NeuraLegion's developer-first Dynamic Application Security Testing (DAST) scanner enables developers to detect, prioritise and remediate security issues EARLY, on every commit, with NO false positives/alerts, without slowing you down.

Join this workshop to learn different ways developers can access Nexploit & start scanning without leaving the terminal!

We will be going through the set up end-to-end, whilst setting up a pipeline, running security tests and looking at the results.

Table of contents:
- What developer-first DAST (Dynamic Application Security Testing) actually is and how it works
- See where and how a modern, accurate dev-first DAST fits in the CI/CD
- Integrate NeuraLegion's Nexploit scanner with GitHub Actions
- Understand how modern applications, APIs and authentication mechanisms can be tested
- Fork a repo, set up a pipeline, run security tests and look at the results
GraphQL Galaxy 2021GraphQL Galaxy 2021
82 min
Security Testing Automation for Developers on Every Build
WorkshopFree
As a developer, you need to deliver fast, and you simply don't have the time to constantly think about security. Still, if something goes wrong it's your job to fix it, but security testing blocks your automation, creates bottlenecks and just delays releases, especially with graphQL...but it doesn't have to...

NeuraLegion's developer-first Dynamic Application Security Testing (DAST) scanner enables developers to detect, prioritise and remediate security issues EARLY, on every commit, with NO false positives / alerts, without slowing you down.

Join this workshop to learn different ways developers can access NeuraLegion's DAST scanner & start scanning without leaving the terminal!

We will be going through the set up end-to-end, whilst setting up a pipeline for a vulnerable GraphQL target, running security tests and looking at the results.

Table of contents:
- What developer-first DAST (Dynamic Application Security Testing) actually is and how it works
- See where and how a modern, accurate dev-first DAST fits in the CI/CD
- Integrate NeuraLegion's scanner with GitHub Actions
- Understand how modern applications, GraphQL and other APIs and authentication mechanisms can be tested
- Fork a repo, set up a pipeline, run security tests and look at the results
JSNation 2022JSNation 2022
101 min
JS Security Testing in GitHub Actions
WorkshopFree
This workshop will focus on automating software composition analysis, static application security testing and dynamic application security testing using GitHub Actions. After a brief introduction covering the different types of application security and the importance of finding security vulnerabilities before they hit production, we'll dive into a hands-on session where users will add three different security testing tool to their build pipelines.