Nueva forma de concebir la seguridad en las dependencias

Rate this content
Bookmark

Las vulnerabilidades en el ecosistema de código abierto están aumentando como un incendio descontrolado. Es importante abordarlas. Hablaré sobre los problemas y cómo solucionarlos con una demostración. También tomaré ejemplos del ecosistema de React.

21 min
21 Jun, 2022

Video Summary and Transcription

La charla de hoy explora la importancia de comprender los problemas de seguridad y las dependencias en el desarrollo de software. Se enfatiza el papel de los desarrolladores en los incidentes de ciberseguridad y la necesidad de detectar y responder a las vulnerabilidades de manera temprana. La charla también analiza los riesgos asociados con las dependencias de terceros y el impacto de las violaciones de seguridad en las organizaciones. Además, se destaca la importancia de abordar las preocupaciones de seguridad y las posibles consecuencias de explotar vulnerabilidades y exfiltrar datos.

Available in English

1. Introducción a los problemas de seguridad y dependencias

Short description:

Hoy voy a hablar sobre una nueva forma de concebir los problemas de seguridad y dependencias. Compartiré mi experiencia y comprensión sobre esos problemas. Actualmente soy líder de relaciones de seguridad en Snyk, contribuyendo a proyectos de código abierto en ciberseguridad. Queremos que todo sea automatizado, genial y útil. Pero, ¿qué sucede cuando los datos se están cargando en algún lugar? Estos dispositivos inteligentes se están entrenando para entregar contenido lo más rápido posible, pero también pueden estar rastreando todo lo que dices.

Hola a todos, buenos días, buenas tardes, buenas noches, dondequiera que estén. Hoy voy a hablar sobre una nueva forma de concebir los problemas de security|seguridad y dependencias. Estoy seguro de que algunos de ustedes lo conocen, otros no lo conocen. Así que hoy compartiré mi experiencia y comprensión sobre esos problemas.

Mi nombre es Vandana Verma Sahgal, y en cuanto a mí, en cuanto a mi experiencia, actualmente soy líder de relaciones de security|seguridad en Snyk, que es una empresa de security|seguridad de software. Cuando no estoy trabajando en Snyk, generalmente contribuyo a proyectos de código abierto en ciber security|seguridad y formo parte de ciertas conferencias como BlackHat. Actualmente soy la presidenta de OWASP, que es el Proyecto de Aplicaciones Web de Security|Seguridad Abierta, una comunidad impulsada para motivar a las personas a comprender la security|seguridad de las aplicaciones. También dirijo InfoSec Girls, InfoSec Diversity and Kids, para que todos puedan comprender la ciberseguridad. Eso es sobre mí.

Ahora, mientras hablo sobre qué son los problemas de security|seguridad, ¿qué ves exactamente en esta imagen? Esto es algo más bien una imagen futurista de lo que realmente queremos. Queremos que todo sea automatizado. Queremos que todo sea súper genial. Queremos que todo sea diferente y útil para nosotros. Yo lo quiero. Quiero que las smart TVs, los dispositivos inteligentes, los usuarios inteligentes, todo sea inteligente en casa. Así que solo necesito presionar un botón y todo está bien. Pero hay una cosa que está ahí. ¿Qué sucede cuando los data|datos se están cargando en algún lugar? Y eso es natural. Hemos escuchado e incluso hemos visto que los data|datos se están cargando en algún lugar. ¿Por qué decimos eso? Porque el punto es que todo lo que le hablas a estos dispositivos inteligentes realmente se entrena. Porque quieres que todo sea lo más rápido posible. Se están entrenando para entregar el contenido lo más rápido posible. Entonces, los data|datos se están almacenando en algún lugar. Ahora, estoy seguro de que estos dispositivos se están actualizando en algún lugar. Entonces, habrá un parche que se descargará. Ahora, cuando se descarga ese parche, a veces puedes sentir que algo sospechoso está sucediendo. O a veces ni siquiera te das cuenta de que hay cosas maliciosas que se descargan en tu sistema. Entonces, ¿qué haces y qué sucede entonces? Es posible que te estén rastreando. Todo lo que dices podría estar siendo rastreado. ¿Es genial? No, no lo es.

2. Problemas de seguridad y dependencias

Short description:

Es algo aterrador. Pero surge la pregunta de cómo debemos lidiar realmente con ellos. Los desarrolladores desempeñan un papel muy, muy crucial en los incidentes de ciberseguridad. Ahora, este incidente de flujo de eventos, que no parece ser nuevo, pero se remonta a muchos, muchos años. Todos mis sitios web están en contenido de código abierto. ¿Hay algún problema en esas dependencias? ¿Qué sucede cuando las personas comienzan a atacar las herramientas de desarrollo? En enero de 2021, alguien intentó atacar Visual Studio Code y logró acceder a GitHub. Cuando se informa de una cierta vulnerabilidad, lo que realmente necesitamos hacer es comprender de qué se trata la vulnerabilidad. ¿Qué sucedió con Equifax? El 14 de febrero, Apache notificó que había ciertos problemas.

Es algo aterrador. Pero surge la pregunta de cómo debemos lidiar realmente con ellos. Entonces, los desarrolladores desempeñan un papel muy, muy crucial en los incidentes de ciberseguridad. Y especialmente cuando hablamos de estos nuevos problemas de cadena de suministro que existen, todo el panorama que está cambiando, y la forma en que hemos comenzado a preocuparnos por la seguridad del software.

Ahora, este incidente de flujo de eventos, que no parece ser nuevo, pero se remonta a muchos, muchos años. Cuando alguien dijo que quería ayudarte y contratar a los mantenedores, pero en cambio agregaron un minero de criptomonedas y nadie siquiera lo sabía. Así que estás trabajando y algo se está ejecutando en segundo plano. Entonces, ¿cuánto sabes exactamente sobre lo que hay en tu sistema?

Ahora, te contaré sobre mí. Todos mis sitios web están en contenido de código abierto. Estoy usando lo que está disponible en Internet. Ahora bien, ¿existen problemas en esas dependencias? Tal vez, esta es la imagen que tengo en mente. Esto es toda mi aplicación. Pero, lo real es que este es el único código, el punto rojo en el medio, que es el código, que es desarrollado por mí o tal vez mis amigos, tal vez la propia empresa. Pero, ¿qué hay del resto? Todo el resto es código de código abierto, dependencias de terceros, bibliotecas de terceros y demás. ¿Cómo te vas a encargar de eso exactamente? ¿Qué sucede cuando las personas comienzan a atacar las herramientas de desarrollo?

Ahora bien, estando en seguridad, es posible que no use Visual Studio Code o cualquier IDE con frecuencia. Pero, ¿puede suceder? Si soy un desarrollador, no lo usaría todos los días. Lo usaría, y en ese sentido, estando en seguridad, quiero aprender muchas cosas nuevas, así que aprendo estas cosas. Eso es lo que sucedió. En enero de 2021, alguien intentó atacar Visual Studio Code y logró acceder a GitHub. De muchas cuentas, pero informaron diligentemente eso. Podría haber tomado un rumbo equivocado. Cuando alguien obtiene la llave de la casa, puede hacer cualquier cosa. Por ejemplo, tienes cuatro puertas en la casa, luego hay cuatro ventanas. Ahora, te vas de vacaciones, has cerrado todas las puertas, pero ¿qué sucedió con las ventanas? Tal vez haya una ventana abierta, que no te diste cuenta y alguien entra a tu casa y se lleva todas las cosas. Es una locura, y eso le puede suceder a cualquiera, y es entonces cuando necesitamos comprender qué hay dentro de nuestro código.

Ahora, hay ciertas lecciones que aprendimos de la violación de Equifax que ocurrió hace unos años. Ahora, ¿por qué seguimos hablando de eso, porque realmente vislumbra un aspecto muy importante, que cuando se informa de una cierta vulnerabilidad, después de eso, lo que realmente necesitamos hacer es comprender de qué se trata la vulnerabilidad. ¿Podemos solucionarlo o no? Y si es crítico, ¿cuánto tiempo tardaremos en abordarlo? ¿Qué sucedió con Equifax? El 14 de febrero, Apache notificó que había ciertos problemas. Hubo una versión de corrección, las personas comenzaron a explotar la vulnerabilidad. Y aunque algunas empresas ya lo actualizaron, hay algunas empresas que no pudieron hacerlo. Una de ellas fue Equifax.

3. Violación de datos y respuesta en toda la organización

Short description:

Ahora, fue una gran violación de datos y especialmente preocupante en las bibliotecas. Lo que nos dice es que necesitamos detectar estos problemas lo antes posible. Necesitamos responder a ellos. Y cuando respondemos, debemos hacerlo con toda la organización, dentro de toda la organización.

Ahora, fue una gran violación de datos y especialmente preocupante en las bibliotecas. Lo que nos dice es que necesitamos detectar estos problemas lo antes posible. Necesitamos responder a ellos. Y cuando respondemos, debemos hacerlo con toda la organización, dentro de toda la organización. Créeme, nos llevó buenos dos o tres días entender dónde estamos, en qué posición nos encontramos. Todos se volvieron locos. ¿Tenemos esta versión? ¿Usamos Apache en esta aplicación? Y muchas veces, ¿qué sucede? Ni siquiera sabes que estás usando Apache o tal vez esta versión de terceros, que es vulnerable en tu ecosistema. ¿Por qué? Porque a veces tendemos a olvidarnos de actualizar los CMDB.

4. Riesgos de la Cadena de Suministro y Dependencias de Terceros

Short description:

Necesitamos asegurarnos de entender estos problemas y los riesgos de la cadena de suministro. Hay una biblioteca, una dependencia, que puede llevar a grandes problemas. Las empresas están gastando cada vez más dinero en esto. Necesitamos rastrear y entender las dependencias de terceros. Ha habido casos en los que los mantenedores eliminan bibliotecas, causando interrupciones. En 2016, hubo un problema con las bibliotecas Collar y Faker. Estos problemas pueden presentarse en cualquier forma e impactar a las empresas. Lock for Shake es una plataforma de registro popular escrita en Java.

Ahora, cuando decimos eso, el aspecto más importante es que, ¿somos capaces de mantenerlo regularmente? Tal vez sí, tal vez no. Entonces, ¿qué debemos hacer al respecto? Necesitamos asegurarnos de entender estos problemas y, además, estos riesgos de la cadena de suministro. ¿Son nuevos? No creo que sean nuevos, porque han estado ahí durante mucho, mucho tiempo. Y comenzó a llamar la atención después del ataque de SolarWinds, donde había una biblioteca de terceros que se agregó como parte de nuestro DLL, que se agregó como parte del paquete, que se envió el paquete a todos y todos lo estaban usando.

Ahora, esto es una gran preocupación, lo que significa que hay una biblioteca, una dependencia, que está presente en tu código que puede llevar a grandes problemas. Y además, surge la pregunta, ¿cómo estamos tratando de abordar eso? Seguimos viendo estos problemas cada año. Las empresas, organizaciones están gastando cada vez más dinero en esto.

Ahora, déjame contarte algo muy interesante. Hay momentos en los que los mantenedores, ellos mismos eliminan las bibliotecas. Estos son algunos de los casos en los que alguien eliminó el paquete y todo el paquete comenzó a romperse y todos se volvieron locos. Ahora, esto también hace una cosa importante cuando estamos usando dependencias de terceros para contenido de código abierto, es importante que lo rastreemos y entendamos si algo les sucede, ¿cómo vamos a lidiar con eso? Y no vamos a retroceder mucho, hasta 2016. Hace apenas dos o tres meses, hubo un problema con Collar y Faker. Estas son dos bibliotecas importantes como parte del ecosistema de Node.js. El mantenedor era el mismo para ambas. Ahora, este mantenedor eliminó todo el paquete de una de las bibliotecas para uno de los ecosistemas y para la otra dependencia, la persona agregó una condición de bucle. Ahora, ¿qué haces en ese caso en el que tengo un paquete porque quiero una nueva actualización y ahora tiene una condición de bucle y está rompiendo todo mi código? ¿No da miedo? Y eso nos lleva a que incluso estos problemas pueden presentarse en cualquier forma, en cualquier parte como parte de los registros. Entonces, ¿qué contienen estos registros? Podrían ser problemas maliciosos, podrían ser vulnerabilidades, podrían ser cualquier cosa. Y estos problemas no solo afectan a los ecosistemas más pequeños, sino que también impactan a las empresas. Unidades de negocios medianas y a todos.

Esto nos lleva al punto en el que está este Lock for Shake. Te contaré mi propia historia. En diciembre, estaba de vacaciones en la primera semana. Pensé: `Oh, no he tomado vacaciones desde hace mucho tiempo. Hemos estado en casa, así que vamos a tomar unas vacaciones`. Así que fuimos a viajar. Ahora, durante ese mismo tiempo, ocurrió Lock for Shake. ¿Qué es eso? Ni siquiera lo sabía, pero luego empecé a ver mensajes y todos empezaron a hablar de eso. Así que quería entender qué era. Entonces, Lock for Shake es básicamente una plataforma de registro muy popular. Una plataforma de registro basada en Apache escrita en Java.

5. Impacto de la Seguridad y Vulnerabilidades

Short description:

Las personas utilizan estas plataformas muy fácilmente porque son fáciles de usar. Pero, ¿qué sucede cuando impacta a las organizaciones? ¿Cómo se maneja eso? Las organizaciones eran vulnerables debido al uso del marco JNDEI. El ataque resaltó la importancia de comprender los componentes de terceros y los riesgos que plantean. La lista de los 10 principales riesgos de OWASP revela fallas en el cumplimiento normativo y en el control de seguridad en la nube. La dependencia de aplicaciones SaaS de terceros puede llevar a violaciones de datos y otros problemas de seguridad. Se presenta una demostración que muestra una vulnerabilidad de explotación de Java.

Y las personas utilizan estas plataformas muy fácilmente porque son fáciles de usar. Pero, ¿qué sucede cuando impacta a una gran cantidad de organizaciones, desde Cesar hasta Amazon hasta IBM y cualquier empresa, incluso Sneak, de la que estaremos hablando.

Ahora, cuando eso sucede, ¿cómo se maneja eso? ¿Y cuál fue la parte, cuál fue el problema allí? Entonces, cualquiera que estuviera usando un servidor de laboratorio y estuviera usando JNDEI, era vulnerable porque era un marco muy útil o muy utilizado que muchas organizaciones estaban usando. Y estaban tratando de averiguar si eran vulnerables o no.

Ahora, las organizaciones, entonces las personas, todos estaban hablando de ello, compartiendo sus opiniones en las redes sociales, Twitter, LinkedIn en sus propios blogs. Y este ataque completo nos hizo darnos cuenta de que si este pequeño, pequeño problema, que está ahí en el código, puede ser una gran preocupación, incluso si es una biblioteca. Había personas, había organizaciones que en realidad no eran vulnerables, pero estaban usando componentes de terceros que los estaban volviendo vulnerables. ¿Te gustaría eso? A mí no me gustaría eso. Así que me gustaría saber qué tengo y qué no tengo. Lo que tengo, ¿cuál es la lista de eso? ¿Estoy usando proveedores de terceros o no? Lo cual es muy, muy importante.

Además, te contaré algo interesante sobre OWASP. OWASP publica la lista de los 10 principales riesgos cada tres años. Así que presentó la lista de los 10 principales riesgos y la inyección, que se supone que es un 10, bajó al tercer lugar, y de repente vi estos problemas de inyección y se están volviendo cada vez más frecuentes. Esto es Lock4Shell, luego vinieron muchas otras vulnerabilidades y simplemente no se detiene ahí. ¿Por qué? Porque en realidad fue la indicación de que hay fallas en el cumplimiento normativo. Estamos hablando de cloud. Entonces hay fallas en el control de seguridad de cloud. A veces intencionales. A veces ni siquiera nos enteramos. Y estas aplicaciones SaaS de terceros tienen fallas de seguridad porque dependemos demasiado de ellas, lo que también nos lleva a que si algo sucede, cualquiera puede implementar malware y ransomware, lo que puede llevar a la exfiltración de data, a problemas de integridad, a problemas de disponibilidad y mucho más. Yo no querría eso.

Ahora déjame mostrarte algo muy interesante. Así que aquí he creado una demostración. Ahora, lo que dice, lo tengo en mi sistema local. No he instalado esta versión vulnerable de Java en mi sistema, pero está en un sistema, ¿es una carpeta diferente? Ahora, lo que tengo es que he creado un grupo de Java donde tengo esta vulnerabilidad. En la vulnerabilidad, para que lo veas, necesito tener un servidor en ejecución. Si no hay un servidor vulnerable, ¿cómo te atacarían? ¿Cómo obtendrías una vulnerabilidad? Así que tengo un servidor Lock4Shell en ejecución. Ahora, este servidor se está ejecutando en localhost, que es el servidor HTTP 8000. Y hay un servidor LDAP, un servidor Jindi vulnerable, que se está ejecutando en el puerto 9999. Ahora todo esto está en ejecución.

6. Exploiting Vulnerabilities and Exfiltrating Data

Short description:

Ahora, necesito un cliente para poder hacerlo vulnerable. Intentaré conectarlo con el servidor. Descargó un archivo malicioso y lo hizo vulnerable. Veamos si este archivo existe o no. Voy a eliminar completamente este archivo. Ahora no existe. Ahora lo conectaré al servidor vulnerable. Se va a conectar al servidor. Ahora este archivo existe aquí. Si soy una persona malintencionada, sé que este servidor es vulnerable. Cuando hay un sitio web y es vulnerable, lo que haré es conectarme y subir ciertos archivos. ¿Qué sucede cuando un hacker intenta exfiltrar datos confidenciales? Eso puede ser aterrador para una organización.

Ahora, necesito un cliente para poder hacerlo vulnerable. Aquí está el cliente. Y simplemente lo que haré es, intentar conectarlo con el servidor. Así que ejecutaré esto en Java. Ahora, cuando me conecto desde el cliente al servidor, hay un archivo que no existe, temporary pawn. Pero cuando lo ejecuté y lo conecté al servidor, en realidad descargó un archivo malicioso y lo hizo vulnerable, veamos si este archivo existe o no. Así que veamos.

Si ves, este archivo existe, ahora debes estar pensando, ¿cómo puede ser eso? Así que haré esto. Eliminaré completamente este archivo. Así que veamos si este archivo existe o no ahora. Oh, lo siento, déjame continuar. Si ves, oh, primero necesito eliminar. Ahora voy a mostrarte si existe o no. Así que no existe. Ahora el archivo no existe. Ahora lo conectaré al servidor vulnerable. Aquí voy a ejecutar Java, y se conectará al servidor. Mientras se está ejecutando, intenta conectarse a ese servidor Djinni, y ahora este archivo existe aquí, que dice que es solo un archivo pequeño que he descargado en una carpeta temporal. Si soy una persona malintencionada, sé que este servidor es vulnerable. Por ejemplo, ahora estamos hablando de la Cumbre de React.js. Estoy seguro de que deben tener un sitio web. Ahora, cuando hay un sitio web y es vulnerable, sé que es vulnerable, lo que haré es conectarme y subir ciertos archivos. Así que cualquier persona que se conecte a ese servidor descargará estos archivos maliciosos. Podría ser un ransomware. Oh, no debería suceder nada porque las personas están más conscientes, especialmente los equipos de desarrollo que están cada vez más conscientes de los problemas de security, al menos más que nosotros. Lo que puedo ver, tengo muchos amigos que trabajan en equipos de desarrollo y son personas pro-security, porque entienden mejor la security que yo porque conocen bien el ecosystem, día tras día.

Ahora, los problemas simples. Me tomó unos segundos explotarlo. ¿Qué sucede cuando un hacker intenta exfiltrar los data, que es muy, muy confidencial y nadie debería saberlo? Eso puede ser aterrador para una organización.

7. Understanding Security Issues and Impact

Short description:

Aunque se utilicen frameworks populares, todavía existen problemas de seguridad importantes que deben entenderse y abordarse. Es crucial tener una lista exhaustiva de estos problemas y ser conscientes de los componentes utilizados en nuestras aplicaciones. Como analista de seguridad, solía encontrarme con estos problemas regularmente, pero ahora afecta a todos. Esto resalta la importancia de abordar las preocupaciones de seguridad y reconocer su impacto.

Ahora, lo que nos lleva es que, aunque estos frameworks populares están ahí, hay ciertos problemas que necesitan entenderse. Necesitamos tener una lista de todos estos problemas. Y además de eso, debemos saber qué tenemos en nuestra casa. Así que intentamos hackear la aplicación. Generalmente lo hago después de esto, pero lo hice temprano para establecer el contexto. Y además, lo que solíamos ver es que esta es la vida de un analista de seguridad. Los jueves por la noche, los viernes por la noche, tendrías estos problemas. Bueno, déjame decirte, eso ya no es así. Cuando la tasa de cero cae, afecta a todos, desde un analista de seguridad hasta cualquier persona. Y eso también nos dice que estos problemas de seguridad son reales. Hay muchos, muchos problemas que están ahí como parte del ecosistema de ReactJS, que las personas están tratando de solucionar. Así que lo que realmente pediría a todos es que, si ven algún problema en alguna de las dependencias, por favor informen. Si eres un mantenedor y necesitas ayuda de las personas, por favor pide ayuda. Hay muchas personas que quieren ayudar, pero no saben cómo hacerlo. Hay problemas que van a estar ahí para quedarse. Y cuando hablamos de código abierto, el código abierto está aquí para quedarse, pero usemoslo de manera responsable. Un aspecto importante, según una de las investigaciones, el 70 al 80% e incluso más del código en Internet es código abierto. El resto lo desarrollamos nosotros. Cuando tanto código es de código abierto, se convierte en nuestra responsabilidad asegurarnos de abordar cualquier problema. Cuando mi sitio web está construido completamente en código abierto, ¿puedo decir que todo está bien con él? Tal vez no si no lo he actualizado. Cuando comienzo a usarlo, no significa que todo sea perfecto. Tengo que asegurarme de trabajar para mejorarlo. Y además, al tratar con estas nuevas vulnerabilidades, debemos pensar de manera más amplia, mapeando todo. Y puedes comenzar cualquier día. Si hablamos de código abierto, OWASP Dependency Check es una herramienta gratuita, una herramienta de código abierto. Puedes aprovecharla, puedes escanear tu código y comprender lo que tienes en el código mismo. Hay muchas herramientas de código abierto maravillosas que están ahí para ayudarte. Y cuando te sientas cómodo con estas herramientas, puedes optar por una herramienta comercial según tus necesidades y lo que realmente deseas en una organización. Tengo amigos que compraron las herramientas, pero no las usan porque no les sirven de nada, simplemente las compraron porque todos las estaban usando. Ahora, un aspecto importante es comenzar a obtener esas cosas que realmente se necesitan. Además, tengamos campeones y equipos de seguridad para que entendamos bien la seguridad, aboguemos por la seguridad. Y no nos quedemos solo ahí, sino que capacitemos a las personas, capacitemos a las personas en diferentes áreas, lo que nos ayudará a evitar estos problemas. Estoy seguro de que todos trabajaremos en eso y será un lugar mejor y seguro para vivir. Muchas gracias por escucharme. Fue maravilloso ser parte de Reactors. 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

Node Congress 2022Node Congress 2022
26 min
It's a Jungle Out There: What's Really Going on Inside Your Node_Modules Folder
Top Content
Do you know what’s really going on in your node_modules folder? Software supply chain attacks have exploded over the past 12 months and they’re only accelerating in 2022 and beyond. We’ll dive into examples of recent supply chain attacks and what concrete steps you can take to protect your team from this emerging threat.
You can check the slides for Feross' talk here.
JSNation 2023JSNation 2023
30 min
The State of Passwordless Auth on the Web
Can we get rid of passwords yet? They make for a poor user experience and users are notoriously bad with them. The advent of WebAuthn has brought a passwordless world closer, but where do we really stand?
In this talk we'll explore the current user experience of WebAuthn and the requirements a user has to fulfill for them to authenticate without a password. We'll also explore the fallbacks and safeguards we can use to make the password experience better and more secure. By the end of the session you'll have a vision for how authentication could look in the future and a blueprint for how to build the best auth experience today.
React Advanced Conference 2021React Advanced Conference 2021
22 min
Let Me Show You How React Applications Get Hacked in the Real-World
Top Content
Modern frontend frameworks like React are well thought-of in their application security design and that’s great. However, there is still plenty of room for developers to make mistakes and use insecure APIs, vulnerable components, or generally do the wrong thing that turns user input into a Cross-site Scripting vulnerability (XSS). Let me show you how React applications get hacked in the real-world.
JSNation 2023JSNation 2023
22 min
5 Ways You Could Have Hacked Node.js
All languages are or were vulnerable to some kind of threat. I’m part of the Node.js Security team and during the year 2022, we've performed many Security Releases and some of them were really hard to think about.
Did you know you can make money by finding critical vulnerabilities in Node.js? In this talk, I’ll show you 5 ways you can have hacked Node.js and how the Node.js team deals with vulnerabilities.
JSNation Live 2021JSNation Live 2021
9 min
Securing Node.js APIs with Decentralised Identity Tokens
Authentication and Authorization are serious problems. We often dedicate a lot of time to craft powerful APIs but overlook proper security measures. Let's solve it with Magic using a key-based identity solution built on top of DID standard, where users’ identities are self-sovereign leveraging blockchain public-private key pairs. In this talk, we’ll look at proper ways to secure our Node.js APIs with Decentralised Identity Tokens. We’ll go from learning what Decentralised Identity standards are, how the users’ identities are self-sovereign leveraging blockchain public-private key pairs, why they’re the future of API security, and to put theory into practice we will build a real-world implementation using Node.js where I’ll show common best practices.

Workshops on related topic

React Summit 2023React Summit 2023
56 min
0 to Auth in an hour with ReactJS
WorkshopFree
Passwordless authentication may seem complex, but it is simple to add it to any app using the right tool. There are multiple alternatives that are much better than passwords to identify and authenticate your users - including SSO, SAML, OAuth, Magic Links, One-Time Passwords, and Authenticator Apps.
While addressing security aspects and avoiding common pitfalls, we will enhance a full-stack JS application (Node.js backend + React frontend) to authenticate users with OAuth (social login) and One Time Passwords (email), including:- User authentication - Managing user interactions, returning session / refresh JWTs- Session management and validation - Storing the session securely for subsequent client requests, validating / refreshing sessions- Basic Authorization - extracting and validating claims from the session token JWT and handling authorization in backend flows
At the end of the workshop, we will also touch other approaches of authentication implementation with Descope - using frontend or backend SDKs.
JSNation 2022JSNation 2022
99 min
Finding, Hacking and fixing your NodeJS Vulnerabilities with Snyk
WorkshopFree
npm and security, how much do you know about your dependencies?Hack-along, live hacking of a vulnerable Node app https://github.com/snyk-labs/nodejs-goof, Vulnerabilities from both Open source and written code. Encouraged to download the application and hack along with us.Fixing the issues and an introduction to Snyk with a demo.Open questions.
DevOps.js Conf 2022DevOps.js Conf 2022
76 min
Bring Code Quality and Security to your CI/CD pipeline
WorkshopFree
In this workshop we will go through all the aspects and stages when integrating your project into Code Quality and Security Ecosystem. We will take a simple web-application as a starting point and create a CI pipeline triggering code quality monitoring for it. We will do a full development cycle starting from coding in the IDE and opening a Pull Request and I will show you how you can control the quality at those stages. At the end of the workshop you will be ready to enable such integration for your own projects.
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
DevOps.js Conf 2022DevOps.js Conf 2022
32 min
Passwordless Auth to Servers: hands on with ASA
WorkshopFree
These days, you don't need a separate password for every website you log into. Yet thanks to tech debt and tradition, many DevOps professionals are still wrangling a host of SSH keys to access the servers where we sometimes need to be. With modern OAuth, a single login and second factor to prove your identity are enough to securely get you into every service that you're authorized to access. What if SSHing into servers was that easy? In this workshop, we'll use Okta's Advanced Server Access tool (formerly ScaleFT) to experience one way that the dream of sending SSH keys the way of the password has been realized.
- we'll discuss how ASA works and when it's the right tool for the job- we'll walk through setting up a free trial Okta account to use ASA from, and configuring the ASA gateway and server on Linux servers- we'll then SSH into our hosts with the ASA clients without needing to supply an SSH key from our laptops- we'll review the audit logs of our SSH sessions to examine what commands were run