Risques et contrôles de la chaîne logistique logicielle - 2025 | Taimur Ijlal | Skillshare
Buscar

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Riesgos y controles de la cadena de suministro de software, 2025

teacher avatar Taimur Ijlal, Cloud Security expert, teacher, blogger

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      INTRODUCCIÓN

      10:28

    • 2.

      Comprender la cadena de suministro

      7:17

    • 3.

      Riesgos de la cadena de suministro - 1

      9:30

    • 4.

      Riesgos de la cadena de suministro - 2

      7:02

    • 5.

      Riesgos de la cadena de suministro - 3

      7:04

    • 6.

      Riesgos de la cadena de suministro - 4

      7:03

    • 7.

      SolarWinds

      12:04

    • 8.

      Codecov

      8:03

    • 9.

      Crowdstrike

      8:25

    • 10.

      Cómo proteger la cadena de suministro - 1

      4:23

    • 11.

      Cómo proteger la cadena de suministro - 2

      10:35

    • 12.

      Cómo proteger la cadena de suministro - 3

      11:37

    • 13.

      SBOM

      7:31

    • 14.

      Conclusión

      1:52

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

2

Estudiantes

--

Proyecto

Acerca de esta clase

Las cadenas de suministro de software se han convertido en infraestructuras críticas en el mundo tecnológico de hoy y representan una fuente importante de riesgos operacionales, financieros y de reputación. A medida que las dependencias se vuelven más complejas e interconectadas, también lo hacen los desafíos de identificar, gestionar y mitigar riesgos en todo el ecosistema de entrega de software.

La "clase magistral sobre el riesgo de la cadena de suministro del software" está diseñada para proporcionar a los estudiantes conocimientos profundos y estrategias prácticas para reconocer y reducir los riesgos que afectan las cadenas de suministro del software, desde componentes comprometidos y la fiabilidad de los proveedores hasta el cumplimiento normativo y los problemas de continuidad.

Qué aprenderás

  • Comprender a profundidad el riesgo de la cadena de suministro del software
    Obtén información profunda sobre cómo funcionan las cadenas de suministro del software y dónde aparecen los riesgos en las diferentes etapas.

  • Identificación y gestión de riesgos de la cadena de suministro
    Aprende a identificar, evaluar y responder sistemáticamente a los riesgos dentro del ciclo de vida del software, incluidos los riesgos relacionados con terceros, procesos e infraestructura.

  • Mejores prácticas para la reducción de riesgos
    Descubre los marcos, herramientas y técnicas utilizados por los líderes de la industria para reducir la exposición y mejorar la resiliencia.

  • Estudios de caso y aplicaciones reales
    Analiza incidentes reales y ejemplos prácticos que resaltan el impacto de una mala gestión de riesgos en las cadenas de suministro de software.

Conoce a tu profesor(a)

Teacher Profile Image

Taimur Ijlal

Cloud Security expert, teacher, blogger

Profesor(a)
Level: Intermediate

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. INTRODUCCIÓN: Hola. Hola a todos. Bienvenido a mi nuevo curso, que es la seguridad de la cadena de suministro y Master Class. Mi nombre es Purg Law, y voy a ser instructor durante la duración de este curso, que es, por supuesto , sobre seguridad de la cadena de suministro de software Ahora bien, el propósito de este curso es muy, muy sencillo. Quiero explicarte los fundamentos de la seguridad de la cadena de suministro de software, afirmar los fundamentos al nivel avanzado, y vas a obtener una comprensión muy completa de la cadena de suministro de software Cuáles son sus componentes, cuáles son los grupos de interés y los diversos tipos de riesgos y problemas de seguridad que pueden comprometer la integridad y seguridad de su software. Entonces vas a entender todos los riesgos que hay ahí, y te daré los conocimientos que requieres para implementar un programa adecuado de seguridad de la cadena de suministro. Y muy, muy importante. Dije un programa de seguridad. No quise decir que no dijera un producto de seguridad porque desafortunadamente es muchas veces donde la gente se confunde. Piensan que la seguridad de la cadena de suministro de software se trata de implementar un software u obtener la certificación, y eso no puede estar más lejos de la verdad. Una seguridad de la cadena de suministro de software es un completo como se puede decir, un nicho dentro de la ciberseguridad, que necesita para comprender diferentes riesgos y cómo mitigarlos. Vamos a ver algunos estudios de caso también dentro de la industria, cómo sucedieron y cómo puedes usar entenderlos para protegerte aún más de convertirte en presa los mismos problemas que hay ahí. Ahora, ¿quién soy? Mi nombre es Kamchal y soy un líder profesional de ciberseguridad multipremiado , he escrito, Bien, me llamaré líder He estado en una industria por alrededor de 21 años más dentro de la ciberseguridad He sido conferencista, instructora. También soy coach de carrera. Ayudo a la gente a entrar en la ciberseguridad Tengo un canal de YouTube llamado el chico de Seguridad en la Nube en el que hablo de seguridad en la nube e IA. También soy autor de bestsellers y creador de cursos, como he mencionado Entonces solo para darte esa seguridad de que sí sé un poco de lo que estoy hablando, estos son algunos de mis libros que están escritos sobre gobernanza de IA y ciberseguridad Tengo muchos cursos en esta plataforma. Sobre ese tema. También he escrito libros sobre Zero Trust y Comtea, certificaciones de ciberseguridad, muchos otros temas, Estoy ahí en Substack. un boletín gratuito ahí. También estoy ahí en LinkedIn. Cloud como mi canal de YouTube se llama el tipo de Cloud Security, y estoy ahí en Twitter, así que siéntete libre de contactarme ahí. Siempre feliz de saber de las personas que han tomado mis cursos. Ahora, demos un paso adelante, atrás, perdón. Hablemos de la cadena de suministro cuando hablamos de la cadena de suministro. Ahora puede que no esté consciente, pero la cadena de suministro es fundamental para nuestras vidas. ¿Y qué es una cadena de suministro? Es una red de individuos y empresas que están involucrados en la creación un producto y entregarlo al cliente, ¿verdad? Y cuando compras algo, ya sabes, como de Internet o de un producto, y la mayoría de la gente no está al tanto. Por lo general, es un viaje muy largo desde la idea original hasta el momento de la entrega. Y hay mucha, como, gente involucrada desde el almacén hasta la empresa, el transporte hasta que lo consigues, ¿verdad? Y hay muchos muchos que ustedes llaman actores involucrados ahí. Y de lo que no te das cuenta es que hay muchas, muchas oportunidades, también para que algo suceda a medida que el producto se mueve por este camino, las mercancías que van avanzando, ¿verdad? Todos estos son temas. Los problemas de seguridad están presentes en cualquier punto de la cadena de suministro. Y la mayoría de la gente no está al tanto, pero la seguridad de la cadena de suministro ha sido parte de nuestra existencia. Durante miles y miles de años, como cuando las especias se transportaban de este a oeste o cuando los barcos transportaban mercancías entre continentes, ¿verdad? O cuando las tropas militares transportan alimentos y armas durante las guerras, todas las situaciones, las personas están preparadas para los ataques y defienden sus suministros. Por lo que el artículo podría llegar al destino previsto. Y lo mismo es lo mismo se aplica también para el software. Así que imagina construir un auto. ¿Correcto? No fabricarías las piezas desde cero, ¿verdad? En cambio, obtendrías los diversos componentes, las llantas, el motor, la electrónica de varios proveedores diferentes en una fábrica, y luego lo montarías. Y así es de la misma manera. El mismo principio se aplica también al software. Y aquí es donde entra en juego la cadena de suministro de software. Se refiere a la secuencia de procesos involucrados en el desarrollo despliegue y mantenimiento de aplicaciones de software, básicamente todo lo que se necesita para crear un software desde despliegue del código fuente hasta la producción, ¿verdad? En los entornos actuales, es muy, muy raro que las empresas creen software completamente desde cero. En cambio, lo que hacen es confiar en la gama de bloques de construcción, como bibliotecas de código abierto, herramientas para desarrolladores, implementaciones basadas en la nube, ya sabes Y cada uno de estos componentes forma parte de una larga cadena de suministro desde la infraestructura de TI, el código fuente, ¿verdad? Y la cadena de suministro de software, se refiere a la secuencia de procesos que están involucrados en conseguir este software. Entonces esto puede ser el código fuente, las bibliotecas de terceros que están involucradas, los sistemas de construcción y empaque, los canales de distribución, las infraestructuras de despliegue , todas ellas, vienen aquí. Y así es como se ve desde los distintos niveles, ¿verdad? Al igual que, los desarrolladores confiarán cuando escriban el confiarán en numerosos componentes externos al desarrollar software. Esto puede ser una biblioteca de código abierto, un tercero, API o un servicio en la nube. Lo usan dentro de su entorno, y luego lo envían a un sistema de bits, que crea como un artefacto de software y va a un repositorio, y luego se implementa No te preocupes si no estás familiarizado con estos términos. Vamos a profundizar en cada uno de estos, software, solo estoy tratando de hacerte entender que el software generalmente es desarrollado por múltiples individuos que podrían ser parte de múltiples organizaciones diferentes. Y con el tiempo, miles de personas pueden haber contribuido a un software en particular. Entonces hay que asegurarse de que entiende. Donde podrían entrar los temas de seguridad, ¿verdad? Y aquí es donde entra en juego la seguridad de la cadena de suministro de software . Esto asegura la integridad, seguridad y confiabilidad de los componentes y procesos involucrados en el desarrollo, distribución y mantenimiento del software. Desea asegurarse de que su software no esté siendo manipulado con compromiso en ningún momento del ciclo de vida Y la cadena de suministro, no solo no estamos hablando solo del código, sino también de las bibliotecas, herramientas y servicios de terceros. Depende de la infraestructura. Así que la seguridad de la cadena de suministro de software lo abarca todo. seguridad de la cadena de suministro de software no es una certificación que obtenga. No es un producto que compres. Abarca todos estos procesos. ¿Bien? ¿Y por qué es tan importante? Bueno, en pocas palabras, esto puede ser un punto ciego masivo. ¿Correcto? La mayoría de las empresas, lo que hacen es enfocarse en asegurar sus propios entornos, su propio código, hacen capacitaciones y se aseguran de que todo sea seguro Y se olvidaron por completo de las bibliotecas de terceros, los componentes de terceros que están ahí. Y los atacantes no son estúpidos. También son conscientes de ello. ¿Por qué querrían atacar de frente cuando saben que la compañía se está asegurando a sí misma, cuando solo pueden colarse a través de un componente de terceros, a través de una biblioteca de terceros, a través de algún otro tipo de puerta trasera que la compañía no conoce Y desafortunadamente, como yo hay una falta de conciencia y controles en torno a esto. La mayoría de las empresas piensan que comprarán un producto y su cadena de suministro es segura, o harán una lista de verificación, verificarán a su proveedor y ahora estamos seguros o facturarán a MFA Todas estas cosas son importantes. Por cierto, no estoy diciendo que esas cosas no sean importantes, pero la seguridad de la cadena de suministro de software es mucho, mucho más que eso. Y hay una falta general de conciencia, razón por la cual hice este curso aquí. ¿Y por qué debería importarle? Quiero decir, no puedo enfatizar esto lo suficiente cuando como hace unos años, victorias solares se vieron comprometidas, ¿verdad? Creó conciencia sobre la seguridad de la cadena de suministro de software. Y voy a hablar a detalle sobre las victorias solares pero en resumen, comenzó en octubre de 2019 y permanecen desapercibidas hasta diciembre de 2020 Y para entonces, 18,000 clientes habían sido puestos en riesgo, ¿de acuerdo? Microsoft confirmando que se habían librado tantas empresas, incluyendo incluso gobiernos de Estados Unidos, ¿verdad? Y el solar gana, tuvieron que conformarse con, creo, una demanda de 26 mil millones de dólares con sus inversionistas debido a todas las pérdidas financieras que se produjeron Y esto no incluyó los millones gastados por los vientos solares y sus clientes o la respuesta a incidentes, las investigaciones de amenazas, las investigaciones de amenazas, inactividad, las remediaciones, la pérdida de ingresos. que puedas entender cuán poderoso fue este ataque y de manera similar, Log for J, si estás familiarizado, si estuviste en algún lugar en diciembre de 2021 en ciberseguridad, estoy seguro de que sabes cuántas vacaciones de personas se vieron comprometidas debido a este labrario popular, se comprometió, y estuvo presente en millones y millones de entornos, y todos ellos tuvieron que hacer un riesgo para asegurarse de que no fueran vulnerables. Entonces la seguridad de la cadena de suministro de software no es una broma. Puede llevar a ataques cibernéticos devastadores si no lo está asegurando adecuadamente. Entonces, ¿para quién es este curso? Esto es para, por supuesto, las profesiones de ciberseguridad que quieren obtener una comprensión adecuada He utilizado todos mis conocimientos que tengo sobre seguridad de la cadena de suministro de software y lo puse en este curso También es para desarrolladores que quieran entender el contexto más amplio del código, la seguridad del mismo. Este profesionistas, si quieres refinar tus conocimientos sobre riesgos e incluir también los riesgos de la cadena de suministro de Suffa Y por supuesto, líderes de seguridad como CIOs, CTO, directores de seguridad de la información, cualquiera que esté interesado en entender sobre la seguridad de la cadena de suministro de software, felices de tenerte en este curso Y como usar este curso, por favor, hay que entender e implementar las estrategias que voy a estar delineando y distanciar su cadena de suministro de software con estas prácticas No solo tomes este curso y luego olvídate de ello. Por favor aplique los conocimientos de los que estoy hablando. Conociendo que no estás aplicado, vas a olvidarlo, y luego crear un programa de seguridad de cadena de suministro de software adecuado . Ese va a ser tu proyecto para este curso. Quiero que lideres, uses los conceptos que te enseño y los apliques dentro de tu empresa y hagas un hueco. Eso es de lo que estamos cubriendo. Ahora, software, ya estamos a punto de comenzar. Recuerda, el software está en todas partes. Trillones de líneas de código fuente están presentes en todas partes, y una sola vulnerabilidad de software puede impedir empresas enteras hagan negocios y causar miles de millones de dólares en daños No más que nunca, necesita comprender la cadena de suministro de software, la seguridad. Entonces espero que esto te dé una buena comprensión y te motivó a aprender realmente sobre este tema. Empecemos. Espero que estés tan emocionada como yo, y te veré en la siguiente lección. Muchas gracias. 2. Comprender la cadena de suministro: Hola a todos. Bienvenido a esta lección en la que vamos a entender la cadena de suministro de software. Antes de comenzar a asegurarlo, debe comprender cómo funciona la cadena de suministro de software en el mundo actual, y luego vamos a saltar a la parte de riesgos. ¿Bien? Entonces de esto es de lo que estás hablando en esta lección, que es la cadena de suministro de software, los conceptos clave que debes tener en cuenta y los diferentes tipos de entornos que hay ahí. Y esto es como un curso fundacional que va a establecer la línea de base para todo el curso Entonces, si no estás al tanto de lo que es la cadena de suministro de software, por favor asegúrate de tomar esta lección, y no vas a creer la cantidad de profesionales de seguridad que he visto que cometen este error. Lo que hacen es saltar inmediatamente al riesgo sin antes obtener una comprensión o una apreciación lo que es la cadena de suministro de software, cuáles son los diferentes entornos y cómo funcionan. Entonces ya hemos hablado de esta definición antes, revisión muy rápida. Cadena de suministro de software, como hablamos, la secuencia de procesos involucrados en el despliegue, desarrollo, mantenimiento de aplicaciones de software. Básicamente, todo lo que necesita para construir un artefacto de software desde desarrollo del código fuente hasta la implementación de producción, que viene dentro de la cadena de suministro de software Hablamos antes de cómo las empresas, es muy raro que creen ein desde cero de ancho. Dependen de bloques de construcción como bibliotecas de código abierto, herramientas para desarrolladores, servicios SAS. Todos ellos se unen para hacer este paquete de software, ¿verdad? Y en todos ellos, hay un potencial de que ocurran riesgos de seguridad. Entonces, ¿cómo se ve un entorno típico de desarrollo de software hoy en día? Un entorno de software, lo siento. Entonces así es como se ve. Vamos a ir paso a paso como se necesita. Y antes de que saltes sobre mí y empieces a gritar que no es así como es mi entorno, sé que cada ambiente es diferente, pero este es el más común como, estos son los atributos que estarán presentes en prácticamente todos los ambientes que hay ahí Entonces, antes que nada, comencemos con el entorno de desarrollo. Aquí es donde ocurre la magia, ¿verdad? Los desarrolladores utilizan este entorno para escribir y probar código. Crean nuevas características y experimentan con ideas. Es como su espacio de trabajo, ¿verdad? Permitirles escribir código y dar vida a sus visiones. Y el entorno de desarrollo suele estar equipado con diversas herramientas y marcos, que no están presentes en otras máquinas de negocio. Entonces esto es como un ambiente especial. Suelen tener más privilegios. Entonces, ¿qué hacen? Utilizan su entorno de desarrollo integrado, sus estaciones de trabajo, que tiene su software de codificación Para escribir código, que se empuja a un repositorio de código. Un repositorio de código puede ser como un servidor compartido que contiene el código A partir de ahí, la plataforma de compilación, toma su código y se convierte en un artefacto Ahora, los desarrolladores podrían estar usando dependencias en su código, o cuando se está construyendo, podría extraer dependencias Las dependencias son, como dije, estos bloques de construcción, ¿verdad? No vas a escribir todo desde cero, ¿verdad? Si estás escribiendo código Python, estarás usando varias bibliotecas. Entonces, todas estas dependencias, la plataforma de compilación utilizará para construir su software, y así es como funciona el entorno de desarrollo . Entonces escribo código. Entra en un repositorio de código, donde el entorno de compilación, genera compila este Extrae todas las dependencias que se requieran. Podría ser dentro del entorno, podría ser un informe público, que se almacena en Internet. Pero así es como se ve típicamente el entorno de desarrollo. Entonces después de eso, lo que viene, viene el entorno de pruebas. Entonces, una vez que se escribe el código, hora de evaluar su robustez y funcionalidad, El entorno de pruebas, es como un lugar controlado donde realiza varios tipos de pruebas como pruebas unitarias, pruebas de integración, pruebas de sistemas , aseguramiento de calidad. Estás evaluando meticulosamente este código, ¿verdad? Contra casos de prueba predefinidos para averiguar si hay algún problema. Ahora, esto se puede automatizar completamente con muchos entornos. Tienen DevOps y DFSycoVs. Entonces podrías tener pruebas completamente automatizadas. O podrías tener a una persona sentada ahí que esté haciendo las pruebas, y no vas a creer que todavía sucedemos. Tienes muchos equipos de control de calidad y pruebas que están ejecutando, están ejecutando esas pruebas automatizadas, pero hay una persona mirándolo. Entonces hay varias formas de hacerlo. Pero normalmente tienes un entorno de pruebas y un entorno UAT donde se prueba el código para asegurarte de que está libre de bots ¿Bien? ¿Qué pasa después de esto? Entonces después de esto, tienes algo llamado pre prod o ambiente de puesta en escena. Entonces esto es como una brecha entre las fases de prueba y producción. Esto suele ser una réplica del entorno de producción. Permite a los equipos validar si el software es comportamiento. Está funcionando correctamente en condiciones del mundo real, ¿verdad? Como dije, está muy cerca del ambiente de producción. Por lo tanto, les permite probarlo de estrés y les permite ver varios cómo funcionará realmente el software, ¿sabes? Debido a que el entorno de pruebas UAT, es como un entorno de prueba No representa el mundo real. Entonces el preprod y el ambiente de puesta en escena, esto es esto es muy, muy cerca de como va a funcionar el ambiente de producción como Y mucha gente usa preprod y puesta en escena indistintamente Hay diferencias sutiles. Pero por lo general, en todos los ámbitos, usan bastante indistintamente, honestamente hablando dentro de lo que he visto ¿Y cuáles son los beneficios de usar estos entornos? Como dije, pruebas de carga, pruebas de rendimiento, pruebas esfuerzo, lo que no se puede hacer en entornos UAT, ¿verdad Y te dan varias ventajas porque te dirán cómo verá el cliente real el software, y él errores errores con el rendimiento, y tú disminuyes la velocidad antes el software llegue al cliente final. Te permite afinar el rendimiento identificando cualquier cuellos de botella que pueda estar ahí, y te da una buena manera de juzgar si el rendimiento del usuario, la satisfacción del usuario, cómo va a estar ahí porque ahora te estás dando una muy buena idea de cómo va a ver el cliente este software, y ese es el beneficio de agregar el pre prod y la puesta en escena. Y como dije, esto está muy, muy cerca del entorno de producción, por lo que podría tener datos reales aquí, los datos producción reales que se almacenan aquí. Y por último, es el ambiente de producción. Por lo que este es el destino final para su software, es un entorno en vivo donde los usuarios finales interactuarán con su aplicación o sistema. El software se implementa aquí, y debe probarse y refinarse meticulosamente en los entornos anteriores para asegurarse de que los clientes tengan una experiencia perfecta Ahora, nunca he oído hablar de ningún software que no tenga errores en ese entorno de producción sin importar la cantidad de pruebas que hagas. Pero siguiendo los pasos, te da una muy buena idea, y te da la oportunidad de eliminar cualquier error que pueda haber ahí. Entonces así es como se verá un entorno de software típico . Como dije, antes de que te vuelvas todo loco y me acuses de perderme áreas críticas Como dije, sé que cada ambiente es diferente, pero este es el más cercano que los entornos. Por lo general, estas son las formas más comunes se estructuran los entornos de desarrollo de software. Entonces espero que tengas una buena idea. Ahora vamos a ir lo que vamos hacer es echar un vistazo a algunos conceptos que están ahí, que son Dev SecOps, pipelines CICD, artefactos, repositorios de artefactos, repositorios de paquetes e infraestructura a hacer es echar un vistazo a algunos conceptos que están ahí, que son Dev SecOps, pipelines CICD, artefactos, repositorios de artefactos, repositorios de paquetes e infraestructura como COD. Puede que estés familiarizado con esto, pero deliberadamente lo he puesto aquí solo para ponerlo como actualización, porque todas estas áreas entrarán en juego cuando hablemos de entrarán en juego cuando hablemos los riesgos de seguridad de la cadena de suministro de software que hay ahí Entonces lo he puesto esto como una revisión quid. Si sientes que eres muy bueno en todos estos conceptos, no dudes en saltarte esta lección. Pero yo recomendaría tomarlo como una revisión rápida, así que los veré en la siguiente lección. Gracias. 3. Riesgos de la cadena de suministro - 1: Hola a todos. Bienvenida. Bienvenidos a la siguiente lección. Y aquí es donde realmente empezamos a entrar en la carne del curso, que es ahora vamos a hablar del riesgo de seguridad, ¿verdad? La cadena de suministro de software, riesgo de seguridad. Entonces, en la lección anterior, te hablo sobre cómo suelen configurarse los entornos de desarrollo de software , ¿verdad? A muy trato de cubrir el entorno de desarrollo de software más común y cómo funciona, y cuáles son los diferentes conceptos y cómo el software se mueve a través de ellos. Ahora bien, lo que vamos a hacer en esta lección, vamos a hablar de los riesgos de seguridad, que son los riesgos de seguridad en la cadena de suministro de sofás, cómo ocurren, y vamos a hacer un análisis de incidentes reales. Algunos de los más populares como eventos solares, Cord Cov cuando terminé este curso, probablemente algún otro ataque a la cadena de suministro podría haber ocurrido. Pero voy a cubrir los que cubren diferentes escenarios. Y que puede mostrarte el impacto real. Entonces no es solo teórico donde solo te estoy diciendo que estas cosas pueden pasar. Te voy a mostrar realmente cómo sucedió y cuál fue el impacto y qué puedes hacer para protegerte realmente, bien, evitar que estas cosas sucedan. Entonces, si recuerdas, este es el diagrama que vimos antes, ¿verdad? Teníamos el entorno de desarrollador con el ID, empujando código al repositorio, la plataforma bull entrará en acción, extraerá cualquier dependencia y blanco, y lo va a empujar al entorno de prueba, y luego la preparación para la producción Esto puede ser completamente manual o esto puede ser un pipeline CICD, blanco, empujando tu código Desde los diferentes ambientes hasta que se empuja al ambiente de producción, y de esto es de lo que hablamos. Entonces pensemos ahora en los riesgos a un alto nivel. Ahora, empecemos por el desarrollador. Ahora, los desarrolladores en la mayoría de los entornos y como se llama desarrolladores, suelen tener privilegios bastante poderosos. Tienen la capacidad de mantener sus propios entornos de desarrolladores porque necesitan esa flexibilidad para crear nuevas aplicaciones y productos desde mi experiencia, a veces pueden poner en marcha máquinas virtuales como, ya sabes, sistemas operativos de doble barco, Linux y Windows. Y estos entornos, a menudo a veces invisibles para las organizaciones de TI. Por eso los llaman shadow IT, ¿verdad? Y los desarrolladores creen que requieren de esta flexibilidad, ¿verdad? Necesitan la capacidad de poner en marcha una máquina virtual, instalar aplicaciones, administrar sus entornos. No quieren que sus laptops o sus escritorios estén bloqueados, y quieren acceso administrativo o avanzado de usuarios a sus sistemas porque si detienes esta capacidad, no tendrán la capacidad de solucionar problemas para crear entornos, o tendrán que pasar por docenas de aprobaciones para Si alguna vez has trabajado en ciberseguridad, seguro que debes haber visto esto, ¿verdad Entonces empezamos eso es lo primero que hay que pensar los privilegios muy poderosos que tienen los desarrolladores y a qué nos llevará eso ya veremos. Entonces claro, viene en código seguro. Y vamos a ver ¿ si el código que están escribiendo es inseguro Lo empujarán a un repositorio de código y luego se va a propagar por todos los entornos, y ese código tiene graves fallas de seguridad Y si eres proveedor de servicios, como los vientos solares, ese código inseguro propagará por todas partes, ¿ Miles y miles de personas porque no lo revisaste tú mismo, ¿verdad? Y el código se empuja para que me guste, ¿cómo se llama un repo de código, verdad Ahora, el repositorio de código, puedes tener múltiples compromisos aquí también, El repositorio fuente, el repositorio de código, tal vez la interfaz de administración no sea segura. Y el atacante puede usar la interfaz de administración o comprometer el servidor subyacente para atacar directamente el código fuente y obtener acceso a él, y empiezan a modificar el código. O podrían poner algo de malware ahí, que se propaga por todas partes Entonces piensa en el repo de código que está ahí. Por supuesto, tienes la plataforma construida y están estrechamente integradas con tus repositorios de artefactos y tus repositorios de paquetes Y muchas veces lo que hacen es que empiezan a construir cosas y propagarlas por todos tus entornos, ¿verdad Así que el atacante puede atacar a esa plataforma de compilación entradas, como qué versión usar y pueden redirigirla a algún código malicioso, que la plataforma de compilación con la propaga Y veremos esto en el ataque de los vientos solares. Entonces pueden atacar cualquier parte de la plataforma construida, incluidos sus servicios o la infraestructura subyacente, y pueden alterar la forma en que se factura, ¿verdad Y esto puede conducir. comprometer el repositorio de artefactos como el paquete del que hablamos, y pueden subir o publicar artefactos alterados porque no protegiste la interfaz de administración Y por último, las dependencias, si nos fijamos en la parte superior y esta es una de las cosas más comunes Y desafortunadamente, la gente piensa que esto es solo lo único de la cadena de suministro de software, pero sus dependencias, porque está utilizando una variedad de bibliotecas comerciales y de código abierto de terceros está ahí, y así es como se configuran la mayoría de los entornos, ¿verdad Y entonces lo que va a pasar es que tendrás múltiples ¿Qué pasa si un atacante compromete esta biblioteca Intentan introducir comportamientos maliciosos comprometiendo esta biblioteca, y esta dependencia se va a propagar a lo largo de tu código Tu código, tenemos un componente inseguro, como hablamos de Log for J, ¿verdad? Se propagará a su entorno, y más tarde, cuando se descubra una vulnerabilidad, atacante puede usar esto para incorporarlo a su entorno Entonces este es solo el entorno del desarrollador, ¿verdad? Y luego pasar a los otros entornos como el entorno de pruebas UAT, cuando estás haciendo las pruebas, a veces las empresas ni siquiera se molestan en hacer pruebas de seguridad No tienen idea de si el código es seguro. Ya sea que el COO esté introduciendo alguna vulnerabilidad o no, algo independiente Simplemente confían en el desarrollador. No vas a creer lo común que sigue siendo esto, desafortunadamente. Para que las pruebas de seguridad no estén ahí. Muchas empresas que he visto, hacen pruebas de seguridad, pero después de eso no pasa nada. Entonces hacen una prueba de seguridad, y están bien, acaban de publicar un informe. Estas son las vulnerabilidades de seguridad. Nadie está mirando esas vulnerabilidades, ¿verdad? Entonces la prueba de seguridad no haces pruebas de seguridad solo por el bien de las pruebas de seguridad, ¿verdad? Haces pruebas de seguridad para que se corrijan las vulnerabilidades. Entonces este es otro tema. Las pruebas de seguridad no están ahí. Entonces, por supuesto, pasas a los entornos pre orgullosos y de puesta en escena. Y hablamos de que esto es una réplica de producción. Esto no es tan seguro como la producción. Es una réplica. Entonces alguien podría comprometerlo y obtener acceso a los datos porque tienes datos de clientes. no lo has enmascarado ni lo anonimizas, por lo que la gente podrá acceder a estos datos Y por último, por supuesto, el ambiente de producción. El entorno de producción, lo he mantenido fuera del alcance de este curso porque, claro, eso es la ciberseguridad tradicional Tendrás parcheo y todas esas otras cosas. Pero eso también puede quedar comprometido, ¿verdad? Porque quiero que lo pienses desde la perspectiva del panorama general. Estos son todos los ataques que pueden ocurrir, ¿verdad? Y por último, claro, si miras las flechas que están conectando esos entornos, éste, el pipeline CICD si estás usando, si estás usando un pipeline CSED, hablamos de cómo la integración continua lo probará rápidamente empujará el código y hará las pruebas, y luego el despliegue continuo o empujará el código través del otro ambientes, ¿verdad? ¿Y si alguien es capaz de comprometer el pipeline de la CICD? Este ducto tiene acceso a todos los entornos, ¿verdad? Así que en realidad pueden controlar qué código se está empujando, qué tipo de pruebas están sucediendo Esto es otra cosa que hay que tener en cuenta. Es otra cosa muy, muy peligrosa que puede pasar. Entonces este es el panorama general. Este es el tipo de ataques que quiero que pienses cuando piensas en la seguridad de la cadena de suministro, ¿verdad? ¿Y esta es mi opinión? Entonces podrías estar pensando, y esta es solo tu opinión subjetiva. Entonces no, lo he basado en un referente de la industria. Entonces esto es Salsa. Se dice que la pronuncian salsa, que me gusta, pero los niveles de la cadena de suministro para artefactos de software. Este es un referente de la industria. Pondré el enlace en este curso. Entonces es un marco de seguridad. Es como una lista de verificación de las mejores prácticas para evitar que la seguridad de su cadena de suministro de software se vea comprometida, ¿verdad? Y se suele utilizar en toda la industria. Es un muy, muy buen independiente, es agnóstico de tecnología, es agnóstico de proveedores Y es como un conjunto de lineamientos. Lentamente se pueden adoptar lentamente y se establecen por consenso de la industria. Y están establecidos. Entonces, cualquiera que esté construyendo software, los usa, ¿verdad? Cualquiera que esté produciendo, consumiendo o proporcionando software como plataformas de construcción o cualquier cosa, esto puede usarse para, como, obtener más confianza dentro seguridad de su cadena de suministro de software. Es como la colaboración cruzada de la industria. Vamos a hablar de esto más adelante. Pero es como un proveedor completamente neutral, ¿cómo llamas framework para asegurar tu software un plan Te da un vocabulario común para hablar sobre la seguridad de la cadena de suministro de software. Y entonces esto es sobre lo que construí este diagrama. Entonces esto es lo que queremos mostrar. Y esto es un referente de la industria. Entonces voy a poner el enlace ahí. Ya ves, así que no soy solo yo, estás pensando que solo estoy hablando por mi propia opinión. Esto se basa en un referente de la industria del que hablé, y definitivamente recomendaría más adelante cuando construyamos un programa de seguridad de cadena de suministro de software para echarle un vistazo, ¿de acuerdo? Entonces ahora vamos a hablar del riesgo clave para la seguridad. No voy a hablar de ello en esta lección, porque ya te he dado algunas cosas de las que hablar. Continuaremos en la siguiente lección. Pero vamos a hablar del riesgo clave para la seguridad. Todo el riesgo del que hablamos en el diagrama, realidad vamos a profundizar en cada uno de ellos y pensar cómo funciona esto y cuáles son las implicaciones de que ocurran estos ataques. Entender estos, es bastante crítico porque lo contrario no puedes asegurar algo si no entiendes cómo sucede, ¿verdad? Entonces ahora vamos a profundizar en cada uno de estos riesgos, y voy a mostrarles el impacto de estas cosas que suceden. Bien, muchas gracias. Te veré en la siguiente lección. 4. Riesgos de la cadena de suministro - 2: Hola a todos. Bienvenidos a esta lección. Y ahora vamos a hablar de los riesgos clave de seguridad de los que hablamos en el diagrama. Y vamos a caminar uno por uno, que te hagas una mejor idea de estos riesgos de seguridad. Y más adelante, cuando empecemos a asegurarlos, vas a tener una idea mucho mejor. Y vamos a ver algunos estudios de caso también sobre los vientos solares y Kokov cómo estos riesgos pueden suceder realmente y realmente comprometerse Voy a ir paso a paso para darle una mejor apreciación de estos ataques. Entonces comencemos con el número uno que es código inseguro Ahora bien, el código inseguro no es quiero decir, honestamente hablando, esto es algo que ha estado en la industria desde hace décadas, y ahora hay mucha buena conciencia Es decir, comparado con los otros ataques, yo diría que el código inseguro no es tan grave La mayoría de las empresas, sé que han empezado a poner medidas, pero este es el punto de partida. De todos los riesgos de seguridad de la cadena de suministro de software Honestamente, como dije, la raíz de todo mal, ya sea de primera parte o de terceros, hay que asegurarse de que su código sea seguro. Y el error que veo que cometen muchas empresas, aseguran su código de primera parte, que es su propio código, pero no miran a terceros, y hay que tratar a todos los códigos por igual. Tienes que asegurarte de tener esa seguridad de que ese código ha sido asegurado. Y podría preguntarse, ¿cómo puedo asegurar el código de terceros? ¿ No tengo acceso a ella? Bueno, hay formas de hacerlo. Puedes preguntar al vendedor. Se pueden evaluar los procesos de gestión de riesgos del proveedor, ¿ verdad? Entonces hay formas de verificarlo, y lo vamos a ver con más detalle. Donde hablamos de crear el programa de gestión de riesgos de seguridad de proveedores. Pero el código inseguro es más o menos si no estás asegurando tu código, todos los demás controles no importarán porque aquí es donde estarán la mayoría de tus riesgos de seguridad. Entonces estos son solo ejemplos. Solía mirarlos, y si conoces un poco de codificación, es algo así como un ataque de inyección que no estás desinfectando el código, solo estás aceptando código en tu entorno, y casi cualquiera puede simplemente pasar por alto este código para acceder a tus bases de datos subyacentes, tu sistema operativo subyacente Se llama ataque de inyección. Y no vas a creer ni en 2024, veo gente que sigue cometiendo este error. Entonces es increíble. Estaba viendo la programación en 2002. Entonces ya son casi 22 años, y aún así este tema sigue ahí, lo cual me pareció muy gracioso que todavía este error esté ahí a pesar de todos los avances que hemos hecho. Esto es otra cosa. Esto es como un ataque con bomba ZIP en caso de que no estés familiarizado con esto, esto es como un archivo que no estás validando un archivo ZIP o un archivo de archivo, solo lo estás extrayendo sin hacer ninguna Por lo que en realidad puede causar una denegación de servicio al atacante. Se puede agotar el dispace o la memoria del sistema objetivo cuando intentas extraerlo, ¿verdad Y honestamente, el formato ZIP es el que más se usa, pero prácticamente puedes usarlo. Es como comprimir un archivo grande que consiste en un solo carácter, ¿verdad? Y puedes crear un archivo de un MB que se descomprimirá a un GV Y en realidad va a estropear el sistema operativo porque no estás haciendo ninguna validación. Entonces estos son otro ataque, que es por tu código inseguro Y esto es, quiero decir, cualquiera lo sabe. Esto es lo más antiguo y lo más común, que son los secretos codificados duro. Como la gente es perezosa. No quieren hacer validación segura y nadie está mirando el código. Así que en realidad ponen en los secretos codificados duro, y esto se empuja a un repositorio de código público. Como asumiendo que estás usando un segador de código público, alguien accede a él y boom, tiene acceso a tu entorno porque pones ID de usuario y la contraseña dentro de un segador de código Tantas empresas que conozco, son que tienen políticas de contraseña muy estrictas, pero no miran el código. Que está ahí, y así ni siquiera están escaneando su código. Por lo tanto, esto puede llevar a los ID de usuario codificados, las contraseñas, las claves de acceso codificadas con disco duro se pongan en un código y se envíen al informe de código. Cualquiera que tenga acceso a ese código ahora puede pasar por alto y comprometer su entorno. Entonces esto es solo para mostrarte lo peligrosos que son estos ataques. Entonces esto era como un código inseguro. Pasemos al siguiente, que es componentes inseguros de terceros Y aquí es donde más se enfoca cuando la gente habla de seguridad de la cadena de suministro, básicamente dependencias de terceros vulnerables o maliciosas dependencias de terceros Ya sabes, hablamos de esto antes que el software moderno se basan en bibliotecas de terceros o adios. Y si estas dependencias están conteniendo vulnerabilidades o tal vez código malicioso, pueden introducir riesgos en todo tu entorno, ¿verdad? Y el software de terceros, piense en software de terceros es solo software de primera parte que está escrito por otra persona. Así que al igual que la Nube es solo servidor que está dirigido por alguien más. Dependencias de software de terceros, puedes pensarlo. Estas son tus dependencias, pero escritas por alguien más. Todos los riesgos de los que hablamos de codificación, se llevan aquí también. Y estas vulnerabilidades pueden entrar en tu entorno. Si el atacante es capaz de comprometerlo. Esa dependencia, esta dependencia ahora se utilizará para comprometer tu entorno, ¿verdad? Y estas pueden ser vulnerabilidades conocidas. Entonces no es como si estuviera oculto porque esta vulnerabilidad se conoce desde hace bastante tiempo, pero no puedes arreglarla porque romperá tu aplicación o porque el proveedor no ha lanzado una solución. Entonces hay que pensarlo. Bien, ¿qué hago ahora? O, esto puede ser cero días, como el Lock inicial para J. ¿Recuerdas Log for J, verdad? Esto puede ser cero días. Nadie lo sabía. De pronto, entra, y no hay solución para ello. Y rápidamente, los atacantes pueden empezar a manipularlo, empezar a tratar de comprometer los entornos con él. Y esto es como las vulnerabilidades inmediatas pueden estar ahí que permanecen inactivas en una base de código durante meses, años, incluso décadas Y cuando finalmente se descubren y anuncian a la gente de todo el mundo, están peleando. Me gusta saber si están usando este software o no, bien, para averiguar si usan esta dependencia y cómo protegerse de ser explotados. Los atacantes también están peleando. Por cierto, están tratando de determinar quién está usando este software vulnerable, y están tratando de crear hazañas para aprovechar y comprometer el entorno Entonces es como que es como una carrera loca para que la gente se entere, ¿verdad? Y así es como suele verse. Entonces tienes un atacante, comprometen este entorno. Comprometen un labrario de terceros y este tercero labrarys consiguiendo Se está propagando a miles y miles de empresas, cierto, como Lock for y tomemos el ejemplo de las victorias solares Alguien comprometió el ambiente de los vientos solares, y ese código que luego usamos para empujar a través del medio ambiente. Entonces este es otro ejemplo de cómo sucedió eso. Y así suele ser como funcionan los componentes de terceros inseguros , ¿verdad Hay que pensarlo desde esta perspectiva. Entonces estas fueron la codificación de primer nivel y las dependencias de terceros Voy a desglosar esta lección en múltiples partes porque quiero que absorbas lo que hemos hablado antes de saltar a la siguiente. En la siguiente, voy a hablar comprometer el reposo del código donde estás almacenando el código Recuerda cuando el desarrollador solía empujar código, iría a un repositorio de código Entonces hablemos del repositorio de código y lo que puede pasar. Gracias, y nos vemos en la siguiente lección. 5. Riesgos de la cadena de suministro - 3: Hola a todos. Bienvenida. Bienvenidos a esta lección. Y ahora vamos a hablar del compromiso del repositorio de código Entonces, como puede ver, si recuerda el diagrama, nos estamos moviendo lentamente a través de la cadena de suministro del software. Y ya hemos hablado de repos de código antes. Básico, piénsalo como una biblioteca centralizada o un repositorio centralizado donde tus desarrolladores puedan colaborar en el código, ¿verdad? Entonces escribo algún código y lo empujo a un reporte de código. Otro desarrollador también está escribiendo código. Están empujando al mismo informe. Y el código, has oído hablar de Github ampliamente. Por lo que se asegura de que todo el código esté sincronizado. Y qué puede pasar, los atacantes pueden acceder a este repositorio, ¿verdad mejor el software no está asegurado, o tal vez comprometen al usuario le enviaron un enlace malicioso, al usuario le enviaron un enlace malicioso, y él era como si pusiera su ID de usuario y contraseña, y pudieron obtenerla. Ahora pueden manipular el código fuente en la fundación. O incluso mucha gente no está al tanto. El repositorio en sí se puede utilizar para servir ataques a los clientes Y a veces la gente no es consciente de ello. Entonces está la seguridad del repositorio en sí, asegurándose de que el repositorio no se vea comprometido, y el repositorio en sí pueda usarse como vector de ataque Y tomemos un ejemplo. Entonces por si acaso no eres consciente de esto, creo que esto sucedió en 2020, el malware del escáner pulpo Así que en realidad atacan. Lo que hicieron fue que tenían como un conjunto de repositorios alojados en Github, y fueron involuntariamente, la palabra clave aquí Sin querer, estaban siendo utilizados para servir malware. Y en realidad, el equipo de seguridad de Github , lo investigaron, y se enteraron de que lo que había pasado era que estos repositorios no habían sido asegurados y estaban siendo utilizados para servir malware en todos los ámbitos, Y los dueños de los repositores, desconocían completamente Estaban cometiendo como código malicioso en los repositorios Cuando están haciendo eso tirando del código, en realidad estaban tirando malware, y proporcionan un alto nivel, ¿cómo se llama? Lo que hace bien, básicamente, comprometió el propio repositorio Y te puedes imaginar lo peligroso que es esto, ¿verdad? Porque ¿por qué? Porque el malware está siendo arrastrado a la estación de trabajo del desarrollador. Y a partir de ahí, se está incorporando a la compilación, y ahora le estás dando a ese malware la capacidad de moverse por tu entorno. Y dado que las personas primarias que se están comprometiendo son los desarrolladores, y si recuerdas de lo que hablamos, los desarrolladores, tradicionalmente tienen más acceso que la gente normal, ¿verdad? Tienen privilegios elevados, usuario potente. Por lo que esto les permitirá potencialmente acceder a entornos de producción. Potencialmente podrías obtener acceso a bases de datos, contraseñas, otros activos críticos, ¿verdad? Existe un enorme potencial de escalada de acceso para el atacante que realiza una escalada de privilegios, que es un objetivo central de la mayoría de los compromisos de datos Cuando el atacante se mete en un entorno, lo primero que quiere hacer es convertirse en el administrador, ¿verdad? Y esto es sólo para mostrarte lo que puede pasar. La gente piensa que, Oh, el depósito de códigos podría hacerse público. Eso es lo peor que puede pasar. No, si no ha asegurado su repositorio de código, el informe de código en sí puede verse comprometido y ser utilizado para servir malware Y vamos a hablar de todos los controles de seguridad más adelante. Primero, quiero que entiendas los riesgos. Y esto está muy ligado al entorno del desarrollador. Hablamos de esto antes, ¿verdad? Que un desarrollador necesitan acceso porque quieren la capacidad de poder quieren sandboxes Quieren la capacidad de hacer girar máquinas virtuales, instalar aplicaciones, al menos acceso elevado. No quieren ese PC corporativo en el que no pueden hacer nada porque necesitan la capacidad de ejecutar código. Entonces tienen herramientas eléctricas, tienen ID con complementos. Esos plugins pueden verse comprometidos, ¿verdad? Entonces todas esas cosas en las que tienes que pensar. Y, por supuesto, PreprodeEntornos. El entorno pre prod , tendrá datos de clientes. Entonces, si hay un malware, compromete la máquina desarrolladora, y poco a poco se empuja hacia el entorno, el atacante podrá llegar hasta llegar a un entorno al que el malware es capaz de decirle, Mira, ahora tengo acceso a los datos del cliente Podrás exfiltrar esos datos. Entonces así es como se puede ver cómo se unen múltiples cosas, el PC desarrollador no es seguro, el barrido de origen se está comprometiendo, su entorno de preproducto que contiene datos de producción completamente abiertos Todos estos se unen para comprometer realmente su entorno. Entonces esto fue más desde la perspectiva del desarrollador. Ahora hablemos de ataques durante la fase de compilación. Hablamos de un servidor de compilación antes, ¿verdad? Es una parte crítica de CICD porque básicamente automatizan el proceso de compilación de código, ejecución de pruebas, preparación de aplicaciones para su implementación Es como si el servidor de compilación estuviera haciendo todo, ¿verdad? Y los ataques durante la fase de compilación son bastante peligrosos porque si atacante puede obtener acceso no autorizado o control sobre el servidor de compilación, y realmente pueden causar estragos en su entorno ¿Por qué? Porque las plataformas construidas suelen estar integradas con sus repositorios de artefactos, dónde está su código o sus repositorios de paquetes, ¿por qué? Y pueden modificar tu construcción. Por lo que en realidad pueden atacar estas plataformas de proyectos de ley. Tienen muchos parámetros, ¿verdad? Así que en realidad pueden cambiarlo. Pueden usarlo para dirigir a algún lugar que esté comprometido. O en realidad pueden usar la propia plataforma de proyectos de ley para empujar su propio código malicioso, como el que ocurrió con los vientos solares, que hablamos en breve. O en realidad pueden usarlo para comprometer los artefactos, ¿verdad? Por lo que la plataforma construida es una parte muy, muy crítica de su entorno. Y uno de los mejores ejemplos de lo que sucede son las victorias solares. Después de esta lección, vamos a ver algunas lecciones más adelante, vamos a hacer el estudio de caso de lo que sucede cuando una plataforma construida se ve comprometida. El gran impacto del mejor ejemplo de eso es que la energía solar gana. El otro muy vinculado a esto es el compromiso del gasoducto de la CICD Hablamos del gasoducto de la CICD. ¿Por qué? Eso automáticamente empuja código, despliega, lo prueba. Y estos ductos son objetivos muy, muy atractivos para los atacantes. ¿Por qué? Porque ofrecen un camino directo al entorno de producción de software sistema de usuario y a los datos. Entonces quiero decir, ¿cómo se puede comprometer? Hay múltiples formas. Es posible que tengas credenciales inseguras. A lo mejor no has configurado correctamente los controles de acceso. Es posible que tengas herramientas vulnerables que se vean comprometidas, ¿verdad? Y recuerde, CSCDPipeline los procesos automatizados que están utilizando para integrar, probar e Y estos pueden llevar a graves brechas de seguridad. Y esto puede llevar a que en realidad otros clientes también se comprometan, que vamos a hablar en un estudio de caso llamado Cod COV Te voy a mostrar lo que pasa. En realidad, si el ducto de la CICD se ve comprometido, el impacto de eso Entonces estos son los dos. Entonces uno es el servidor de compilación, vamos a hacer un estudio de caso y este. Vamos a hacer un estudio de Kas. En breve les voy a mostrar lo que sucede cuando ya sea el servidor de compilación o el pipeline CICD se vea comprometido Pero ahora mismo, quiero que piensen en el impacto de lo que puede suceder. Por lo que esto abarca esta sección en particular. Ahora vamos a hablar del depósito de paquetes, pero como dije, no quiero o, como, abrumarte con demasiada información En la siguiente lección, vamos a hablar del paquete llorado y ataques específicos que pueden apuntar a él y algunos ataques únicos como dependencia, ataques de confusión Cómo suceden y cuál es el impacto de esos ataques. Así que muchas gracias, y nos vemos en la próxima. 6. Riesgos de la cadena de suministro - 4: Hola a todos. Bienvenida. Bienvenidos a esta lección. Y ahora vamos a estar centrándonos en el reposo del paquete. Si recuerdas tu software que está incluido en un paquete, ¿verdad Todo el código y todo lo que obtiene dependencias, se empaqueta en un paquete, que puede implementar en los entornos del cliente, en sus entornos de producción Ahora, el repositorio de paquetes es donde se guardan estos paquetes, y el informe de paquetes en sí puede verse comprometido Entonces tal vez no has asegurado el repositorio del paquete, ¿verdad? Le hemos dado acceso abierto. Entonces lo has configurado mal. A lo mejor te has conectado a Internet, lo mejor has permitido el acceso anónimo. Estás usando contraseñas predeterminadas y otorgando privilegios de carga a usuarios que pueden ser abusados. Y lo que puede pasar es que un atacante puede obtener acceso a este repositorio de paquetes y envenenarlo. Por lo que el repositorio de paquetes es violado o manipulado por actores maliciosos Entonces esto puede afectar la integridad y seguridad de toda la cadena de suministro, ¿verdad, la cadena de suministro de software, porque pueden empujar paquetes maliciosos, verdad? Recuerde, este es un lugar centralizado donde se almacenan los paquetes de software. Entonces, ¿qué puede pasar? La gente puede empujar malware. Por lo tanto, la inyección de malware, el código malicioso se puede agregar a los paquetes en el repositorio. Entonces, cuando la gente lo está descargando e integrando estos paquetes comprometidos, el malware se convierte en parte de la aplicación o uh el robo de credenciales, ¿verdad Tal vez los atacantes puedan robar credenciales de los paquetes y luego usarlas para insertar otro código no autorizado dentro de la canalización. Incluso puedes tener reemplazar paquetes legítimos. Entonces tienes un nombre de paquete. Puedes reemplazar eso con tu propio paquete malicioso, y aguas abajo, será empujado a miles y miles de personas. Y por último, ataques de confusión de dependencia. Este es un tipo especial de ataque donde lo que hacen los atacantes es publicar paquetes, cuyos nombres son similares a paquetes privados internos utilizados por la compañía. Y si el paquete público, tiene un número de versión más alto, los gestores de paquetes podrían obtener esto en lugar del interno, y te voy a mostrar cómo sucede eso Es un ataque muy singular, pero extremadamente peligroso. Pero esto es justo lo que quería mostrarte. Y esto no es una broma. Es decir, el repo de paquetes, sólo para darte un ejemplo. Este fue un repositorio de paquetes que quedó comprometido el año pasado. El atacante pudo acceder, creo que a cuatro cuentas inactivas, y secuestraron más de una docena de paquetes con más de 500 millones de instalaciones, Y básicamente reemplazaron creo que la descripción del paquete con su propio mensaje, y eso se permitió comprometer, básicamente, modificar los paquetes, y se empujó cada vez más. Entonces los desarrolladores descargando los paquetes, obtendrían el paquete malicioso. Y solo para mostrarte lo peligroso que es esto, gente si no estás usando algo como la autenticación multifactor, si solo estás abriendo tu usando contraseñas compartidas, y así es como sucedió eso Y, ya sabes, esto solo te va a mostrar lo peligroso que es que los pers, que están completamente abiertos, que no tienen control de acceso, en realidad podrías obtener malware. La gente piensa en Malware. Piensan en algo que entra en Internet o a través del correo electrónico, ¿verdad? No se dan cuenta de que su cadena de suministro de software, que es su paquete pers, sus plataformas construidas que también pueden usarse para insertar código malicioso en su entorno y en el entorno de su cliente, lo que puede causar un problema masivo de reputación a su empresa Así que recuerda todas estas cosas, por favor. Y ahora, entonces de lo que quería hablar antes, confusión de dependencia, si recuerdas. Entonces estos son como un tipo especial de ataque. Estos explotan cómo los administradores de paquetes están descargando e instalando paquetes. Entonces, lo que hace un atacante es publicar un paquete malicioso un repositorio de paquetes públicos con el mismo nombre que un paquete popular, que se está utilizando internamente Y lo que sucede es cuando solicitas este paquete, si no estás configurado tu repositorio de paquetes, lo que va a hacer es ir primero a Internet y verificar si hay un número de versión más alto Entonces, suponiendo que estés usando Versión uno en tu repositorio privado, el atacante va a poner el mismo nombre y va a poner la versión dos Entonces el repositorio de paquetes, si no lo has configurado correctamente, va a descargar este paquete malicioso Entonces por eso se llama la confusión de dependencia, ¿verdad? Estamos explotando la forma en que funcionan estas cosas. Recuerda, tenemos repositorios públicos y repositorios privados, ¿verdad? Lo siento. Entonces, los repositorios privados son uno que están alojados internamente, pero es posible que tenga público como administrador de paquetes de nodos y todo eso, ¿verdad Entonces los públicos, los atacantes pueden empujar rápidamente pueden averiguar cuáles son los paquetes comunes y más populares, y pueden empujar rápidamente muchos y muchos paquetes, paquetes maliciosos con el mismo nombre. Y esto es muy, muy peligroso porque si no lo has configurado correctamente, atacantes pueden crear un paquete malicioso con el mismo nombre que un paquete legítimo y subirlo a estos populares repositorios de paquetes Entonces, cuando un desarrollador está pidiendo una dependencia legítima, el administrador de paquetes que va a ir va a buscar este paquete malicioso Y esta es una gran manera de impulsar Malware. Entonces así es como va a quedar, ¿verdad? Tienes un repositorio de paquetes públicos. Ahí va el atacante. Dice, Bien, estos son los paquetes más comunes. Voy a empujar el mío con el mismo nombre, pero voy a poner un número de versión mayor que el actual. Versión tres, versión cuatro, versión cinco, ¿verdad? ¿Y qué pasa? Entonces el desarrollador va ahí. Dice, quiero paquete XYZ al registro privado. No han configurado este registro privado para usar únicamente los privados. Entonces, por defecto, el comportamiento va a ir primero al repositorio público Se va a decir y va a buscar el paquete equivocado No va a ir a buscar la interna. Va a decir, Oye, tengo la versión uno en Internet, hay la versión dos. Entonces va a dar lo que se llama el último. Pero esta fue maliciosa. Este fue uno empujado por el atacante. Entonces, si tiene éxito, una confusión de dependencia y un ataque pueden tener consecuencias seriamente estropeadas Puede infectar a todos los clientes que instalan el paquete malicioso, y luego pueden ser atacados porque han sido comprometidos por malware o ransomware, y pueden mitigarse asegurándose de que los desarrolladores revisen y verifiquen sus paquetes y mantengan sus dependencias actualizadas pero con las privadas, Entonces es un tipo de ataque muy singular con el que mucha gente no está familiarizada. Y esto es bastante peligroso en la forma en que funciona. Así que eso envuelve este particular lo que se llama área de riesgo de seguridad de la cadena de suministro. En la siguiente lección, voy a hablar de un estudio de caso. Recuerden que hablamos de que la plataforma de construcción se ve comprometida y el pipeline de CICD Vamos a hablar de las venas solares y las de código CV. Entonces, pero en esta lección, que fue bastante larga, hablamos sobre los tipos de software, los riesgos de la cadena de suministro, los diferentes puntos de entrada de los ataques, y el impacto que puede ocurrir. Entonces con el impacto, voy a darle más contexto al mirar realmente los ataques reales que han ocurrido y similares las consecuencias muy peligrosas que ocurrieron por estos ataques. Así que muchas gracias. Tómese el tiempo para , como, volver a pasar por esta lección si es necesario. Para que tengas una buena base, y te veré en la siguiente lección. Gracias. 7. SolarWinds: Hola a todos. Bienvenida. Bienvenido a esta lección, que trata sobre entender el ataque de los vientos solistas. Seguro que debió haber escuchado sobre el ataque de la cadena de suministro de los vientos solares. Es uno de los ataques más devastadores que jamás hayan ocurrido, al menos dentro de los 21 años de trabajado en la ciberseguridad, el impacto y la cantidad de empresas que se vieron comprometidas Solar gana es fácilmente uno de los ataques cibernéticos más grandes que jamás haya ocurrido. Es muy posible que estés tomando este curso mío, principalmente por el ciberataque del viento solar, voy a ser honesto, sí. Entonces esa es la razón por la que quería hablar de los vientos solares. No se puede hablar de seguridad de la cadena de suministro sin hablar del ciberataque eólico solar y estudios de casos, y, ya sabes, realmente dar un paso atrás y mirar algunos de estos temas realmente ayudará a contextualizar los riesgos de seguridad de la cadena de suministro de los que estaba hablando, porque entonces puedes echarle un vistazo desde la perspectiva de un incidente real que la perspectiva de un incidente real y sólo para tener una mejor idea de lo peligrosas que son estas cosas, ¿verdad? Entonces, sigamos adelante. Entonces, cuando hablamos de victorias solares, es, como dije, uno de los ataques de cadena de suministro más devastadores de todos los tiempos. Es como reconocido, ya sabes, todos los grandes incidentes de ciberseguridad, y realmente muestra las vulnerabilidades que hay dentro la cadena de suministro del sofá y las consecuencias como el impacto Los triunfos solares tuvieron un impacto global. Se extiende entre gobiernos, organizaciones de todo el mundo, simplemente por lo común que es el software de viento solar, ¿verdad? Y realmente tantas OSC, miles y miles de empresas, reevaluaron la seguridad de su cadena de suministro y su confianza en proveedores externos en todas las industrias Y la energía solar gana, si no estás familiarizado, es una compañía de software de gestión de redes ampliamente utilizada, y que fue el objetivo ataque de la cadena de suministro altamente sofisticado. Básicamente, los atacantes pudieron infiltrarse el desarrollo de software de viento solar y en el proceso de distribución, y pudieron insertar código malicioso en sus actualizaciones de software Entonces no fue solo un ataque directo a las victorias solares, sino un ataque indirecto a las miles y miles de empresas. En la que confían. Entonces la actualización maliciosa, se disfrazó como una actualización de software legítima para ganar energía solar, y se distribuyó a miles de clientes de solar gana, y se abrió paso furtivamente en las redes de tantos clientes de solar win Y es realmente un recordatorio de lo importante que es asegurar la cadena de suministro de software y cómo realmente necesita seguir evaluando, seguir haciendo estas evaluaciones de riesgos. Entonces esto es lo que se veía bien. Como te dije, solar gana ofertas como gestión y monitoreo de rendimiento de ID sistema de gestión y monitoreo de rendimiento de ID llamado Orion, y es utilizado por clientes de todo el mundo. Y Orion suele tener acceso a los registros y datos de rendimiento del sistema de los clientes. Y por eso probablemente la razón por la que los atacantes la atacaron porque por eso se convirtió en víctima del ataque a la cadena de suministro. Entonces, lo que hicieron fue que usaron malware personalizado diseñado para el ciclo de construcción de los vientos solares. Y fueron capaces de reemplazar los archivos. Algunas personas dicen como milisegundos, y básicamente fueron capaces de reemplazar los archivos con sus propias actualizaciones maliciosas Y hubo un ataque muy, muy sofisticado , como lo hicieron, ¿verdad? Se llamaba la malway se llamaba Sunspot, y permitía que los hackers básicamente monitorearan El entorno de desarrollo de los vientos solares. Y cada vez que estarían empujando sus facturas, las reemplazarían con su propia actualización maliciosa. Entonces básicamente, era una puerta trasera. Y esta puerta trasera, cuando las actualizaciones fueron empujadas la actualización maliciosa, ahora tenían acceso a miles y miles de clientes porque pudieron colarse en otros clientes porque habían puesto su propia actualización maliciosa dentro de la actualización de victorias solares Así que las victorias solares les ayudaron a distribuir este malware, ¿verdad? Y puedes entender por qué Slewns fue un objetivo tan prometedor para este tipo de ataque a la cadena de suministro, ¿verdad ¿Por qué posiblemente serían así? Bueno, porque honestamente, como dije, muchas empresas multinacionales y agencias gubernamentales utilizan el software Oon. Todo lo que los hackers necesitaban era instalar esta actualización maliciosa, y Solewns la estaría distribuyendo, ¿verdad? Y debido a que las empresas están confiando ellos, los estarían instalando. Entonces fue, como, realmente hermoso en el camino no hermoso por el daño que sucedió, sino realmente hermoso en la forma en que fue diseñado. Se podía ver lo inteligentes eran estos tipos, ¿verdad? ¿Y qué pasó después de eso? Una empresa de seguridad, creo que fue Frey. Detectaron este malware que se estaba propagando a los clientes, y pudieron identificar el paquete de actualización sunburst Identificaron en K este paquete de solvins ha sido comprometido, Y una vez detectados, inmediatamente emitieron esta actualización, y varios clientes pudieron detectar el mismo comportamiento sucediendo en su enami Y así se dieron cuenta de lo malo que era el spread, ¿verdad? Había infectado a miles y miles de clientes por ellos. Y Solns sí lanzó hot fixes rápidos para eliminar esta puerta trasera Pero, ya sabes, quiero decir, alrededor creo que 18,000 clientes de vides solares y aplicaron la actualización Sunburst, que luego permitió a los atacantes acceder de forma remota a los datos de sus clientes Y, ya sabes, teníamos, creo que el Departamento de Salud de Estados Unidos, Tesorería y Estado, todos ellos estaban infectados, grandes nombres, ya sabes, como las grandes empresas tecnológicas, todas ellas se vieron afectadas por el malware. Y el objetivo de esto es porque la forma en que pudieron difundirlo, mostró el punto ciego de confiar en las actualizaciones de software, y realmente llevó a que no solo vides solares sino a otras empresas echaran un vistazo al proceso de reconstrucción Si eres una empresa que está distribuyendo software a otras empresas, ¿verdad? Y estás emitiendo actualizaciones automáticamente. Realmente necesitas pensar en ¿qué pasa si hay un malware dentro de esto? ¿Cómo me aseguro de que no me pase a mí? Y ese es el punto de mirar este estudio de caso. Y eso es lo que pasó después de esto. Así que teníamos tantas empresas echando un vistazo a sus facturas de software, como, ¿cómo me aseguro de que no tengo a alguien colándose Y aquí es donde empezó a salir a la luz el concepto de construcciones reproducibles, que discutiremos en breve Pero solo quería mostrarte el impacto. Teníamos, como, un gobierno de Biden, emitieron una orden ejecutiva y mejoraron la ciberseguridad de la nación Se puede ver la fecha 12 de mayo de 2021, y tenían un requisito específico sobre seguridad de la cadena de suministro de software. Dijeron que mencionaron el hecho de que este tipo de software, no tienen transparencia. No sabemos qué pasa si viene Malware, y realmente necesitamos poner controles para asegurarnos de que la seguridad de la cadena de suministro del software está asegurada, ¿verdad? Y lo más, como, lo impactante fue en la jugada Landmark, la Securities and Exchange Commission, SEC, en realidad cobró a la CSO de victorias solares con fraude y fallas de control interno relacionadas con las prácticas de ciberseguridad de la compañía Dijeron que compraron cargos que usted había equivocado lo seguro que era el solar gana Entonces ellos en realidad compraron estos. Dijeron que había engañado a los inversionistas sobre las prácticas de ciberseguridad de la compañía No había dado a conocer los riesgos y el control inadecuado. Entonces, básicamente, había exagerado lo asegurados que estaban, y no había revelado todos los riesgos Y eso es que fue bastante como un cambio significativo en la forma en que la gente ve la ciberseguridad Ahora las OSC se dan cuenta de que en realidad son responsables, ya sabes, no solo con multas sino en realidad tiempo en la cárcel Y va a evaluar las OSC realmente tuvieron que dar un paso atrás. Y es por eso que la seguridad de la cadena de suministro de software se ha vuelto tan, tan prominente hoy en día. Y espero ser capaz de hacerte entender lo grande que fue la victoria solar. Ahora, ¿cómo proteger? Esa es una pregunta de 1.000.000, ¿verdad? ¿Cómo te aseguras de que tu empresa no se convierta en la siguiente, digamos, la solar gana? Ahora, desafortunadamente, muchas buenas prácticas convencionales de buenas prácticas convencionales de seguridad no pueden contrarrestar este tipo de ataques. Al igual que, ¿qué dice la gente que solo instaló versiones firmadas, ya sabes, actualizaciones de software firmadas digitalmente que vienen de la energía solar gana No va a ayudar porque el software es signo. Viene de la empresa legítima. No es como si un atacante la estuviera metiendo a escondidas. Viene de la compañía de confianza, ¿verdad? Actualiza tu software a la última versión, como dirá la gente, ¿verdad? Porque el software actualizado era el que era malicioso. Y fue parte del proceso de construcción válido. Entonces ahí es donde comenzó a entrar el problema. Ni siquiera se puede decir, revisar el código fuente porque estaban comprometiendo el proceso de compilación, ¿verdad? Y así, algunas de las cosas clave que puedes hacer es, junto con tus buenas prácticas de seguridad como monitoreo y endurecimiento, cierto, asegurándote de que tienes controles que monitoreen el comportamiento, las organizaciones realmente necesitan endurecer su proceso de construcción contra este tipo de ataques, ¿verdad Y necesitan asegurarse de que el entorno de construcción no pueda verse comprometido. Se han asegurado de que hablaremos más de esto cuando hablemos de asegurar la cadena de suministro de software. Pero el entorno de construcción necesita ser asegurado. Debe asegurarse de que la gente no pueda simplemente comprometer el medio ambiente e insertar sus propias actualizaciones maliciosas, y hay que estar monitoreando. Y las dos cosas más importantes que puede hacer son construcciones reproducibles verificadas y las listas de materiales de software Voy a entrar en detalles sobre sus listas de materiales de software, pero la contramedida más fuerte que puede tener se llama compilación reproducible, que es una compilación que siempre produce las mismas salidas para que se puedan verificar los resultados de compilación Entonces, básicamente, compilación reproducible verificada es donde alguien independiente puede producir una compilación a partir del código fuente y verificar que los resultados de compilación provienen del mismo código fuente que está reclamando Casi, yo diría que el 99% del software hoy en día no es así. Pero en el caso de los vientos solares, ¿qué habría pasado? Al igual que, ¿cómo sería la compilación reproducible verificada? Apenas por el nombre que puedes ver, puedes verificarlo y podrás reproducirlo. Entonces, si tienes acceso tanto al código fuente como a la compilación. ¿Qué hacen las facturas reproducibles verificadas? Básicamente te dan una contramedida muy, muy fuerte contra ataques como ins solares donde los binarios no coinciden con el código fuente ¿Por qué? Porque un atacante ha insertado código malicioso en un binario, ¿verdad? Porque en el caso de las venas solares, atacan al binario, no al código fuente. Entonces, una de las ventajas de las construcciones reproducibles es que cuando esas dos construcciones ocurren, puedes construirlas de forma independiente, y ambas producirán el mismo artefacto poco a poco Y te dará esa confianza de que no se inyectó malware en esto. Y esta es toda la motivación detrás de este concepto. Y lo que hubiera pasado en los ins solares si victorias solares hubieran implementado facturas reproducibles, habría requerido que generaran un buen binario a partir de la fuente y lo compararan con el binario distribuido Y no coincidiría, ¿verdad? Entonces esta discrepancia habría sido introducida por la inserción del código malicioso, y se habría detectado porque cuando están distribuyendo el binario, no habría coincidido con la compilación reproducible verificada Y esto podría haber alertado a los desarrolladores la presencia de cambios no autorizados que, oye, el proceso de compilación se ha visto comprometido Hay algo extra agregado al binario, que antes no estaba ahí. ¿Es como infalible, al 100%? Absolutamente no. Porque recuerden, los atacantes ya estaban dentro del ambiente, ¿verdad? Entonces necesitas otros controles de seguridad también. Pero este tipo de construcción verificada y reproducible, esto te da un tipo de control muy, muy fuerte contra ella Voy a poner el enlace también a todo el sitio web que pretende este tipo de control Pero recuerda que si estás distribuyendo actualizaciones a miles de clientes y necesitas este tipo de verificación, el cinturón reproducible verificado es un control muy, muy fuerte contra esto Entonces espero que esto te haya sido útil. Dimos un paso atrás y echamos un fuerte vistazo al ataque de los vientos solares. Ahora, vamos a echar un vistazo otro ataque y ver cómo sucedió eso y fue un tipo diferente de ataque de los vientos solares. Pero solo para darle más contexto sobre cómo ocurren estos ataques, gracias, y los veré en la siguiente lección. 8. Codecov: Es más Hola a todos. Bienvenidos a esta lección. Y ahora continuando desde la anterior donde echamos un vistazo a los vientos solares. Ahora vamos a otro reciente, que es dov attack Ahora bien, los vientos solares, si recuerdas, comprometen el proceso de construcción, ¿verdad? Los atacantes pudieron comprometer el proceso de compilación e inyectar malware. Con este, se trata más del pipeline de la CICD. Si no estás familiarizado con Codkov y espero que esté pronunciando el nombre si no se enojan conmigo Pero sí, es una herramienta de cobertura de código. ¿Qué significa eso? Básicamente, la comprobación de cuánto de tu aplicación se está probando, ¿sabes? Al igual que cuando estás construyendo aplicaciones modernas cuando usamos CICE, usamos pruebas automatizadas, ¿verdad? Hablamos de esto antes. Y queremos asegurarnos de que cada línea de código ha sido probada, bien, y cada FOG y esto requiere bastante marco de prueba maduro. Aquí es donde entra en juego Cod Cov, y puede ayudarte a saber qué líneas de código no están siendo cubiertas en tu entorno de CI Y así es como comprometen comprometen éste lo que les permitió comprometer otros entornos también. Ahora bien, si recuerdas el viento solar, victorias solares fueron más apuntadas y hacia el espionaje contra agencias gubernamentales y grandes corporaciones, ¿verdad Tenía un claro motivo geopolítico, como un ataque estado-nación Esta es más como una amplia brecha de seguridad que afectó indiscriminadamente a una amplia gama de empresas No les importaba quién estaba siendo comprometido. Y estaban enfocados en robar información de los entornos de desarrollo de Soffe Oh, de esto es de lo que estamos hablando ahora. El ataque de Code Cv, fue descubierto en abril de 2021, si recuerdo. Sí, era como una playa de seguridad masiva. Y como dije, esta es una herramienta de cobertura de código muy popular utilizada por los desarrolladores de software para evaluar qué tan efectivas son sus pruebas. Y se integra con diversos sistemas de control virgen. Genera reportes para que sepas lo bien las pruebas de software están cubriendo tu base de código, ¿verdad? Entonces, básicamente, los atacantes, obtuvieron acceso no autorizado a los sistemas Code CoF Cómo explotaron nuestra vulnerabilidad. Creo que en su creación de imagen Docker, no necesitamos conocer los detalles de Docker Pero básicamente, modificaron el guión del cargador de Bash. Voy a ver detalles de eso. Lo que les permitió hacer les permitió exportar secretamente información sensible de los clientes de Cod C, ¿verdad? A partir de ahí, específicamente desde los entornos CI, entornos de integración continua. Y lo que esta información, credenciales, ID de usuario, contraseñas, claves simbólicas y otros datos que podrían usar para otorgar mayor acceso y no autorizado. Pasó desapercibido durante varios meses, creo, desde el 31 de enero de 2021 hasta abril de 2021. Y cualquiera que descargara el guión del cargador de Bash comprometido, básicamente, expuso sin saberlo su Creo que afectó a unos 29,000 clientes, grandes nombres de la industria, ¿sabes? Y nuevamente, como siempre, todos se despertaron ante los ataques de la cadena de suministro. Lo siento, y todos se despertaron ante los ataques de la cadena de suministro, y de repente se dieron cuenta lo críticas que son estas cosas. Y Kotov sí lo notificó a los usuarios afectados y ellos revocaron y emitieron las llaves y todo, y acordaron que se auditara su entorno Pero si le echas un vistazo, así es como básicamente se veía, ¿verdad? Entonces, centrémonos en si recuerdas el entorno CI, un entorno de integración continua. Podemos hacer mucha automatización poderosa aquí para probar nuestra aplicación, ¿verdad? Y también confías en muchas cosas externas, ¿verdad? Bases de datos, sistemas de pago, infraestructura en la nube. Cuando esté haciendo las pruebas, y todos estos componentes deben ser accedidos desde la canalización para que puedan construir y probar la aplicación. Entonces, básicamente, su canalización de CI necesita tener acceso a qué secretos y credenciales para que puedan acceder. Y normalmente, ojalá, si estás construyendo un entorno de CI, deberías usar infraestructura de puesta en escena , no byte de producción, pero basado en mi propia experiencia, es muy común que se usen credenciales de producción porque la gente quiere asegurarse de que están haciendo las pruebas correctamente, y las pruebas cubren tanto como sea posible. Entonces, lamentablemente, muchas veces esa información puede suceder. Por lo que es muy probable que el entorno CI tenga acceso a información muy sensible. Entonces atacando a Kotkov y esto es lo que hicieron, ¿verdad? Ellos infectaron el malware, comprometieron la herramienta de prueba. Tienen acceso a todas las credenciales. Dentro del entorno CI para todos los clientes de Cdf. Y básicamente, si recuerdas, comprometieron un guión de Bash, que es solo un conjunto de instrucciones sobre lo que escribirías si alguna vez has hecho terminal o Bash, pero escrito de manera programativa Agregaron una sola línea de código, que era enviar todas sus variables de entorno desde el CI al servidor remoto del atacante. Entiendes que básicamente están exfiltando silenciosamente Y ahora puedes entender si tienen alrededor de 23 mil clientes, cualquiera que estuviera usando la versión comprometida de Cod Cov entre el 31 de enero y el 1 de abril se habría visto Y las grandes corporaciones se vieron afectadas, y de hecho publicaron básicamente documentos para sus clientes sobre cómo recuperarse de este ataque. Y qué hacen, qué hicieron después de haberlo comprometido. Por lo que no los atacaron directamente. Podrían haber realizado múltiples ataques a partir de ahí, ¿verdad? Pero lo que hicieron fue que en realidad comprometieron los repositorios de código fuente porque obtuvieron las credenciales, ¿verdad La fuente. Y pudieron acceder entonces a sus repos de código fuente Y pudieron encontrar porque esos repositos podrían tener realmente credenciales de producción Para que veas cómo está en cascada este ataque, ¿verdad? Primero, comprometieron a Kotkov. Obtuvieron las credenciales a los repositos de código fuente de los clientes Ellos comprometieron esos repositos. Obtuvieron acceso a la producción. Y se habían levantado incluso notaron que habían notado la actividad sospechosa de otros repositorios privados Estaban siendo clonados a algunos usuarios no autorizados, y solo muestra lo simple que era, ¿verdad? KotkvuUsa credenciales Git robadas, accede a repositorios privados, usa esas credenciales robadas y luego puedes comenzar a escanearlas escanearlas Solo para mostrarte lo bellamente simple que fue este ataque y cómo fueron capaces de comprometer a tantos uh, clientes usando esto. Nuevamente, como mencioné, tuvo un impacto global. Cantidad masiva de clientes, estaban rotando sus secretos, sus depósitos de código fuente y atacantes pudieron acceder a depósitos no autorizados, y containterales código fuente, credenciales internas, desafortunadamente estaban rotando sus secretos, sus depósitos de código fuente y los atacantes pudieron acceder a depósitos no autorizados, y containterales código fuente, credenciales internas, desafortunadamente. Nuevamente, ahora tienes una mejor idea de lo que se puede hacer. Por supuesto, es diferente de los vientos solares, donde el entorno de construcción se vio comprometido. Pero aquí, de nuevo, hay que hacer seguridad alarmador del medio ambiente No puedo lo suficientemente estresante, tienes que asegurarte de que tu entorno sea seguro Mantenga limpios sus repositos de código fuente. No pongas credenciales ahí en tu reposo. Si alguien es capaz de comprometerlos, puede usarlo como punto de salto en tu entorno, ¿verdad? Poner en filtración de datos y controles de fugas. ¿Cómo saber si alguien está filtrando silenciosamente los datos en todo el Incluso puede endurecer sus repositorios de código fuente a través de la autenticación multifactor y Entonces, si sabes que las solicitudes solo vienen de un área en particular, en realidad puedes poner restricciones de IP, ¿verdad? Entonces, aunque cuenten con las credenciales, no podrán acceder a ella. Endurecimiento de la seguridad de los ductos CICD, asegurándose de que solo tengan ese acceso que se necesita No quieres darles credenciales de administrador en todo el entorno, ¿verdad? Y por supuesto, evitando las credenciales codificadas. Entonces este fue, nuevamente, otro estudio clave, otro entorno que se había visto comprometido debido a un ataque a la cadena de suministro, y espero que ahora hayan visto una imagen diferente. Elegí deliberadamente este porque es diferente de cómo se comprometieron los solares. Entonces ahora tienes una buena idea, y espero que ahora hayas establecido el escenario para entender cómo podemos hacerlo para asegurarlo. Se tiene una buena idea de los riesgos, y dentro del contexto de los ataques reales, ve cómo se materializan esos riesgos Así que ahora podemos pasar a la siguiente lección, que trata de asegurar realmente la cadena de suministro de software. Ahora podemos pasar a la parte buena, que en realidad es asegurar y mitigar estos riesgos Así que muchas gracias, y nos vemos en la siguiente lección. 9. Crowdstrike: Hola a todos. Bienvenida. Bienvenido a esta nueva lección que acabo de subir con respecto a la interrupción de CrowdStrike Entonces, a menos que me refiero, si no estás usando TI o no estás usando ningún sistema en absoluto, habrías escuchado sobre la interrupción de CrowdStrike, que ocurrió este año en 2024 Cloud Strike es una empresa muy, muy popular como una empresa de soluciones de seguridad. Es decir, dan sus productos exclusivamente a empresas y grandes organizaciones. Son muy, muy famosos en el mundo de la ciberseguridad. Desafortunadamente, se vuelven como un nombre familiar. Ahora todo el mundo los conoce por este incidente. Y básicamente, poner a pesar de que esto no es como un incidente de ciberseguridad en el sentido, nadie lo comprometió, pero sí tuvo un impacto masivo masivo en la cadena de suministro Y es muy importante. No podría hablar sobre la cadena de suministro de software o los riesgos de seguridad de la cadena de suministro sin discutir sobre Cloud Strike. Ahora bien, si no estás familiarizado CoudStrike, básicamente tienen un componente llamado CrowdStrike. Es como un sensor. Utiliza IA para proteger, entornos de clientes, ya sabes, identificando y protegiendo contra las últimas amenazas. Y en pocas palabras, básicamente como en 2024, introdujeron una nueva actualización, derecho, que básicamente el nuevo sensor no pudo manejar y se estrelló Y dado lo cerca se encuentra el sensor CrowdStrike del sistema operativo Windows, resultó en que todos los sistemas se estrellaran y una interrupción masiva masiva a nivel mundial que afectó a casi todas las industrias en todo Millones y millones de puntos finales se vieron afectados, ¿verdad? Y a esto se le ha denominado la mayor disrupción de identificación de todos los tiempos o una de las creo que es la más grande porque simplemente por la naturaleza y cómo sucedió Ya te hablé de rodseg, es una empresa de soluciones de seguridad muy, muy popular Millones de empresas lo han utilizado , y es una buena compañía. Desafortunadamente, el nombre se ha vuelto algo así como arrastrado por el barro a causa de este incidente Pero sin duda es una compañía muy buena, una empresa de seguridad muy, muy, como, madura. Pero desafortunadamente, la actualización de software defectuosa. Yo conduje a esa pantalla azul de la muerte. Es como un bucle en las máquinas Windows que hace que se estrellen repetidamente. Y a pesar de que las multitudes desplegaron la solución, el impacto en todo el mundo fue masivo Y como dije, literalmente, aeropuertos, puertos, tomemos un ejemplo, qué tipo de cosas pasan. Los aeropuertos se vieron impactados. Si te viajabas en algún momento, tienes mis simpatías Verá imágenes de, como, ya sabes, en todos los ámbitos, aeropuertos atascados, miles de vuelos retrasados , puertos de envío afectados, supermercados, hospitales, vivo en el Reino Unido, y el NHS envió como un comunicado diciendo que no son capaces atender a los clientes en este momento pacientes debido al impacto empresas de identificación, oficinas gubernamentales, y así encendido. Quiero decir, en todo el mundo, grandes cierres, demoras estaban ocurriendo, miles de vuelos como un lateral. Y básicamente, muestra la naturaleza interconectada de la cadena de suministro de software. Y aunque la parte deslumbrante, esto no es como un ataque. Fue solo un error, pero mostró el impacto que puede suceder, y esto es solo un ejemplo. Quiero decir, estoy seguro de que lo habrías visto, ¿verdad? Pero solo muestra lo peligrosas son las dependencias en todo el mundo con respecto a este tipo de software, ¿verdad Entonces los globales como dije, hospitales, negocios australianos, dijeron que tenían una factura de daños de alrededor de mil millones, ¿verdad? Y bancos, medios de comunicación, NHS. Entonces el impacto en todo el mundo fue increíble. Pero es muy, muy importante separar el hecho de la hipérbole Y no me gusta esto la manera muchas veces que fue fraseado Y cómo la gente empezó a decir que era un ciberataque. Sí tuvo un impacto cibernético en la disponibilidad, claro, y no fue como un ataque de un delincuente. Y sí emitieron un reporte de causa raíz, que se puede ver. Y sí mencionaron cómo sucedió. Básicamente, el censor. Fue como esperar, creo, alrededor de 20 campos de entrada, pero tenía la última actualización en 21 campos de entrada, y el desajuste de conteo es lo que provocó un bloqueo global. Y debido a que el intérprete esperaba 20 valores, y cuando empezó a acceder al 21, produjo un anuncio de memoria fuera de límites Ya sabes, esas cosas. Y debido a que está tan estrechamente integrado con el código de Windows, cuando se estrelló, derribó todo el sistema operativo, y la pantalla azul parpadeaba en todo el mundo, en supermercados, aeropuertos, en todas partes que se te ocurra, básicamente estaba parpadeando w se reduce a, faltaban pruebas adecuadas para las actualizaciones de los sensores Pasó por alto sus procesos novedosos. La prueba no fue un detigores. Y mucha gente empezó a decir que esto ya se podía explotar. Y recomendaría leer las entradas del blog de CrowdStrike en las que abordaron, y refutaron las afirmaciones sobre el sensor de seguridad Falcons pesar de que se trataba de un bloqueo de memoria fuera de límites, se determinó que no era explotable para una escalada previa o ejecución remota de código a escalada previa o ejecución remota Y dieron un análisis detallado de causa raíz que incluso este bug no permite ninguna ejecución de programa, y mencionaron los otros controles que tenían como la colocación de certificados, validación de suma de comprobación, control de acceso es detección anti manipulación, es detección anti manipulación Y demostraron que voy a vincular el informe aquí, el blog aquí, y definitivamente te recomendaré que lo leas, porque si vas a estar analizando estas situaciones, asegúrate de que lo estés analizando correctamente y no estés metiendo cosas que no existían en ese momento. Y CoudsTAK han afirmado el compromiso con la seguridad, y mencionaron que su programa de recompensas de errores, el compromiso con la seguridad, y mencionaron que su programa de recompensas de errores, también han mejorado. Pero las lecciones que hay que aprender de este incidente son muy, muy importantes. Entonces solo para ser muy, muy claro, atacante, aunque esto no fue un ataque, sino que los atacantes aprenderán de este incidente. Ellos han visto lo dañino que fue este ataque el impacto. Entonces sin duda puedes imaginar atacantes se han interesado en este ataque, y pensarán en cómo pueden incluso un mayor impacto la próxima vez y ganar algo de dinero con él. Si eres un proveedor de soluciones. Eso es como CrowdStrike, le das algún agente, algún software a la empresa Es bueno mirar tus procesos de prueba. Piensa en este tipo de resiliencia. ¿Qué pasa si tu punto final está sentado muy cerca del kernel de Windows y pasa algo, verdad? Hacer una implementación de fase. No hagas un enfoque del big bang. No puedo creer que tenga que decir esto, pero esto simplemente se nota bien. No es necesario hacer una implementación Big Bang, hacerlo en fases y tener auditorías independientes realizadas de todo su proceso. CrowdStrike, creo que se involucran con dos empresas separadas para hacer una evaluación completa de sus prácticas de desarrollo de software, las pruebas solo para asegurarse que no tienen puntos ciegos Y desde la perspectiva del cliente, si eres alguien que está usando un software como RoudStrik En primer lugar, recomendaría eliminar la dependencia excesiva de recomendaría eliminar dependencia excesiva Si tienes un proveedor que está haciendo todo y algo le sucede a ese vendedor, vas a estar en grandes problemas, ¿verdad? Piense en este escenario y agréguelo a su libro de estrategias de recuperación ante desastres Pero tengo que ser muy claro. Este tipo de escenarios muy pocas personas pueden predecir. Fue como un incidente del Cisne Negro, ¿verdad? Como algo que sucede una vez cada dos, tres décadas. Pero yo recomendaría pensar en cosas como las copias de seguridad en la nube o tener como un escritorio virtual, que es una imagen completamente separada de tus escritorios normales, ¿verdad? Entonces, si pasa algo, si hay un caso mayor, mayor, podrás recuperarte al escritorio Cloud. Y esto es algo completamente así que es aire separado de tu red regular No cuenta con los mismos agentes. Cuenta con diferentes agentes. Podría costar más, pero luego en tal incidente, podrás tener completamente creada una imagen separada en la que tu personal podrá retomar al menos actividades limitadas porque muchas empresas, estaban completamente cortadas. Los servidores estaban caídos, pero incluso los escritorios normales están caídos porque Cloud Stoke estaba ejecutando en todas partes, Así que piensa en esto teniendo otra imagen en la que puedas desplegar y que puedas poner en marcha, que está separada de tus imágenes normales y que no se verá impactada por los mismos problemas. Entonces estas eran las cosas de las que quería hablar a todos, solo para mostrarte porque CrowdSTK fue como un incidente masivo Aún se está desplegando. Están saliendo muchas noticias. Pero piense en estos incidentes, especialmente cuando esté pensando en asegurar su software para aplicar la cadena. Muchas gracias. Te veré en la siguiente lección. 10. Cómo proteger la cadena de suministro - 1: Hola a todos. Bienvenida. Bienvenido a esta lección, que es parte de una lección de varias partes, que va a ser sobre asegurar la cadena de suministro de software. Ahora, a estas alturas, espero que tenga una buena idea de lo que es la cadena de suministro de software. Tienes una buena idea de los riesgos que pueden ocurrir. Has visto ataques reales y cómo se vieron comprometidos, ¿verdad? Entonces ahora vamos a estar buscando implementar controles dentro de la cadena de suministro de software. Vamos a estar analizando los controles y prácticas de seguridad, algunos de los errores comunes que cometen las personas cuando están comenzando en su cadena de suministro de software, su viaje de seguridad. Y luego vamos a ver algunos estándares y marcos también, que puede aprovechar para obtener el mejor beneficio para cuando está construyendo un programa de seguridad de la cadena de suministro, no necesita construir desde cero w. Puede aprovechar lo que ya tiene. Entonces, si le echas un vistazo, esto es lo que discutimos anteriormente. ¿Recuerdas? Este era el entorno con los riesgos de que tienes un entorno de desarrollador, que puede quedar comprometido. Tienes código inseguro, la plataforma de compilación se ve comprometida, el repositorio de código fuente, las dependencias, no podrías estar haciendo pruebas de seguridad del Tiene una violación de datos en el entorno de preprod, e incluso su entorno de producción puede verse comprometido Entonces aquí es donde entra en juego la seguridad de la cadena de suministro de software para básicamente asegurar todos estos riesgos, ¿verdad? Y si recuerdas hace mucho tiempo cuando iniciamos el curso, hablamos sobre la seguridad de la cadena de suministro de software, ¿verdad? Básicamente se trata de garantizar la integridad, seguridad, disponibilidad, confiabilidad de todos los componentes y procesos que están involucrados. En su desarrollo, distribución y mantenimiento de software. Quieres asegurarte de que nadie se meta con tu software, nadie lo maneje. Y muy, muy importante cuando hablamos de una cadena de suministro, no solo estamos hablando del código fuente directo, ¿verdad? También estamos hablando de bibliotecas de terceros, herramientas y servicios y la infraestructura porque puedo ver muchas veces a veces no es su infraestructura la que está recortando el compromiso. Son los vendedores o los proveedores. Entonces, ¿cómo asegurarse de que su programa de seguridad de la cadena de suministro lo cubra todo? Entonces esto es lo que hay que tener en cuenta. Y cuáles son lamentablemente algunos de los errores comunes que comete la gente que siempre me gusta me da dolor de cabeza cuando hablo con los clientes, la seguridad de la cadena de suministro. ¿Qué no es? No es una herramienta o producto. Por favor. Cualquiera que te diga que cualquier proveedor que acuda a ti y te diga, Compra mi producto, y tendrás software de seguridad en la cadena de suministro, eso es completamente falso Te va a ayudar. Sin duda, te va a ayudar, pero no lo es. Es parte de la seguridad de la cadena de suministro de software, no el objetivo final. ¿Bien? No puede automáticamente simplemente convertirse en su cadena de suministro de software no se vuelve segura porque ha comprado una solución por millones de dólares y la implementó. No es una certificación. Cualquiera dice que use esta lista de verificación o use esta cosa, y ahora su cadena de suministro está asegurada. Nuevamente, no es así como funciona. No es una lista de verificación de proveedores, también. Algunas personas, lo que hacen es hacer una evaluación de riesgos de proveedores, y piensan que ahora su cadena de suministro de software es segura. Y tampoco es una actividad de una sola vez. Es algo que hay que seguir evaluando riesgos continuamente. Y es Last one is myF habilitando MFA. Nuevamente, no hay nada malo en habilitar MFA. Es una parte muy importante de la seguridad del suministro de software. Pero la gente piensa porque ya hemos habilitado MFA ahora nuestro entorno es seguro No tengo idea de cómo ocurre eso, pero por favor no cometas este error, ¿verdad? Entonces, como dije, piensa la definición que te hablé antes, ésta, tenlo en mente y no confundas con estos conceptos erróneos Y cuando hablamos asegurar la cadena de suministro de software, estamos hablando de múltiples controles, ¿verdad? Y esto es en lo que me voy a centrar en estas lecciones. Vamos a hablar sobre prácticas de codificación segura, lo que puede hacer, componentes de terceros, endurecimiento de su entorno, seguridad de canalización CICD, pruebas y escaneo de seguridad reales, las construcciones de software de material, L BOM, si no está familiarizado, y, por supuesto, la administración de proveedores West Todas estas cosas se unen para una seguridad efectiva de la cadena de suministro de software, y luego vamos a ver cómo crear un programa real también. Entonces todos estos artículos voy a estar cubriendo. No te voy a bombardear con información. Vamos a ir paso a construir tu entorno, ¿verdad? Entonces, al final, tu entorno se va a quedar así. Vas a tener controles en múltiples niveles, y luego vas a tener un programa adecuado funcionando, lo que asegura que todas estas cosas estén siendo atendidas y evaluadas de riesgos. Entonces como dije, lo vamos a hacer a pasos. Te veré en la siguiente lección, comenzaremos a sumergirnos profundamente en estos controles. Muchas gracias, y nos vemos en la siguiente lección. 11. Cómo proteger la cadena de suministro - 2: Hola a todos. Bienvenida. Bienvenidos de nuevo a la lección. Y continuamos nuestra lección anterior donde estamos hablando de asegurar la cadena de suministro y los controles de seguridad, podemos implementarla. Entonces, si recuerdas, te mostré estos controles básicos que hay prácticas de codificación seguras, componentes de terceros, entornos de acaparamiento, ductos CICD, ductos CICD Todos ellos, vamos a ir uno por uno y echarle un vistazo. Entonces, sigamos adelante. Y si recuerdas, te mostré el diagrama también así es si antes teníamos los riesgos que aparecían en este diagrama, pero si pones en los controles, estos controles que estás viendo en el diagrama, esos riesgos se mitigan Entonces comencemos con el primero, que es la codificación segura. Si recuerdas, hablamos de los riesgos, ¿verdad? Y dije que el código inseguro, esa es la raíz de todo mal Así que la codificación segura, es por eso que tenemos que discutirla primero. codificación segura en el contexto de seguridad de la cadena de suministro se refiere a los desarrolladores que desarrollan software de una manera que se asegura de que no haya vulnerabilidades presentes en el código en ningún momento. ¿Bien? Y eso requiere controles, tanto de conciencia como de controles técnicos, ¿verdad? Porque recuerda que hay múltiples formas en las que se pueden introducir vulnerabilidades. Así que vamos a hablar sobre capacitación en código seguro y cómo integrar comentarios de seguridad en la propia identificación, que es una parte crítica que mucha gente se pierde. Vamos a hablar sobre las formas en pueden ocurrir las revisiones de código seguro. Y, por supuesto, las pruebas de seguridad del código que se presenta el SAST y el polvo Si has estado trabajando en ciberseguridad, estoy seguro de que estás familiarizado con esto Entonces primero, comencemos con el entrenamiento de código seguro. Seguridad La conciencia del código inseguro es un comienzo muy, muy, muy Tienes que informar a tus desarrolladores sobre el código inseguro y, como, los peligros del mismo, ¿verdad Hay muchos, muchos buenos entrenamientos disponibles. OS top ten es el referente de la industria. Estoy seguro de que si estás en ciberseguridad, ya debes haber oído hablar de ella Así que educarlos, contarles sobre entrenamientos como este, mostrarles, hablarles de las inseguridades, pueden ser, pero muy, muy importantes Por favor, no lo hagas muerte por PowerPoint, que es lo que me refiero como cuando les das como un documento de PowerPoint de 200 páginas. Créeme, nadie va a recordar eso. Muéstrales, en realidad muéstrales trozos de código inseguros y muéstrales cuáles son las vulnerabilidades Muéstrales que si lo arreglas dentro del propio código, cuánto tiempo y esfuerzo se ahorra a diferencia de que alguien lo descubra más tarde y luego lo arregle y la cantidad de tiempo que se desperdicia, ¿verdad? Entonces hay muchos, muchos, muy buenos entrenamientos disponibles sobre código inseguro, en OVA, cosas como inyección SQL, scripting de sitios cruzados, todas buenos entrenamientos disponibles sobre código inseguro, en OVA, cosas como inyección SQL, scripting de sitios cruzados, todas esas cosas. Así que hazles conciencia. Pero en un punto muy, muy importante, y aquí es donde la gente te deja pasar por la conciencia pero asegúrate de hacer esto, que es este punto que está integrando la retroalimentación de seguridad en la identificación. El ID es el entorno de desarrollo integrado. Y con eso, quiero decir, la codificación que están haciendo, deberían poder obtener retroalimentación ahí y luego. ¿Bien? Puedes dar tantas capacitaciones como quieras Los desarrolladores necesitan una forma de obtener comentarios en tiempo real. ¿Bien? Cuando están desarrollando el código, cómo hacerles saber que el código no es seguro, ¿verdad? ¿Qué temas están presentes? Y esta es la forma más indolora y sin fricciones de asegurar Créeme, no necesitas hacer pruebas de seguridad más adelante si el desarrollador lo sabe de inmediato, si hace un escaneo rápido y ve, mira estos son los inseguros A lo mejor mi código que he escrito no es seguro, necesito arreglarlo. Esta es la forma más fácil, y si lo haces correctamente, verás un impulso masivo en tu código de seguridad. ¿Bien? Entonces si tomas un ejemplo, si recuerdas te mostré este ejemplo desde el principio, como este es un código que no sanea, se toma la entrada, y por supuesto, puede llevar a cosas como inyección SQL donde la gente realmente puede acceder a tus bases de datos backend, tus sistemas operativos, tus archivos, si no lo desinfectas Ahora bien, este es un ejemplo de un IDE, como código de Visual Studio donde la gente escribe bien. Y esta es una herramienta, a qué se llama código whisperer, que es A. Puedes usar cualquier herramienta. No me gusta mencionar herramientas específicas, por cierto. Pero si miras la captura de pantalla, entonces este era el código, el mismo código que te he mostrado, si lo pongo aquí y ejecuto un escaneo de seguridad, enseguida, me va a decir, mira que hay una inyección SeQL, y me dirá la línea Ya ves lo poderoso que es esto si lo haces correctamente. Entonces puedes decir de inmediato, el desarrollador lo sabrá, mira, estoy introduciendo una vulnerabilidad de seguridad al código. Necesito arreglar esto antes de someterlo al repositorio. Y esto conducirá a un impulso masivo en la calidad de su código de seguridad. Otra vez, si recuerdas, te mostré éste, el ataque zip bomb donde la gente está enviando un archivo que potencialmente puede descomprimirse a GB de gran cantidad de datos y estar abajo del servidor provoca una denegación Entonces, si haces esto, nuevamente, verás de inmediato, te dará retroalimentación, carga sin restricciones de archivo peligroso toque que puedes ver en la parte inferior y enlace de recursos Entonces esta es una manera muy, muy poderosa. Te mostré el ejemplo de código con espolón pero puedes usar muchas herramientas que se integran en el propio IDE y dan retroalimentación en tiempo real al desarrollador. Acerca de qué tipo de código están enviando y por qué es inseguro Entonces, por favor, miren eso. No cometas el error que comete el 90% de las personas, que es que dan capacitación en código de seguridad a los desarrolladores y luego esperan que encuentren todo. No, no va a funcionar así, dales herramientas que les den retroalimentación en tiempo real. Entonces después de eso, hablamos de pruebas. Ahora, si recuerdas, hablamos de pruebas, pasa por el pipeline CSED, va a las pruebas de calidad Aquí es donde puedes introducir tus diferentes tipos de pruebas de seguridad para el código. El primero es la prueba de valores de aplicación estática o SAS. Esta es una metodología de prueba que analiza tu código fuente. No ejecuta el programa, y generalmente se ejecuta en una etapa temprana durante la propia fase de codificación. Te lo hará saber, así que mira el código fuente y se enterará, oye, ¿estás introduciendo alguna vulnerabilidad de seguridad? Puedes integrar las herramientas en la canalización de CICD y hace un análisis muy completo de tu base de código Examina el código porque baja hasta el nivel de código. El segundo es el DAST, que es una metodología de prueba de caja negra, es decir, el código no tiene acceso No es mirar el código fuente, sino que en realidad se ejecuta. Entonces, durante su ejecución, entonces el programa se está ejecutando. De hecho, simula ataques externos como la inyección SQL, y se realiza más adelante en la canalización de CICD Por lo general, cuando tu software está en preprod o en el ambiente de puesta en escena, ¿verdad? Entonces se parece a las páginas web, y a las APIs, e intenta explotarlas. Así que los booster ambos se usan juntos. No hay gente que intente decir que yo SASPTO es DAS B SAS y DAS ambos se complementan entre sí DAST identifica las vailabilities desde una perspectiva diferente, y SAS analiza el Entonces se complementan entre sí. Idealmente, deberías estar mirando a ambos. ¿Y cómo se junta? Entonces, si miras a la izquierda, tienes el ID donde das capacitación a los desarrolladores, y estás poniendo feedback en el ID. Entonces están escribiendo código seguro. Una vez que envían el código, éste entra en la tubería de CI. Realiza pruebas, informes, construcción y SAST entra en juego Entonces parece el código fuente. Si el código es inseguro, vuelve al desarrollador. Por favor, arregla esto. Si pasa, así que si pasa el ID, pasa el SAS, va a la canalización de CD donde tienes el prod de puesta en escena de revisión. Dentro de la puesta en escena, tienes las das sucediendo. Este es un ejemplo muy simplista de mirarlo, pero es una herramienta muy, muy poderosa Entonces, si pones distribuir seguridad a lo largo de tu ciclo de vida, definitivamente conducirás a una mayor calidad de código dentro de tu aplicación. Entonces ese fue el SAST y el polvo. Quiero llegar al otro ejemplo, que es, de nuevo, uno de los ejemplos más cruciales. Creo que esto es lo que más piensa la gente cuando habla de seguridad de la cadena de suministro de software, que es componentes de terceros o dependencia. Hablamos de las bibliotecas, ¿verdad? Las bibliotecas porque nadie construye aplicaciones desde cero. Vas a estar confiando en bibliotecas, Bibliotecas como Log FoJ pero se comprometieron, ¿verdad Así que todas estas bibliotecas pueden introducir vulnerabilidades, componentes de terceros, y son un gran punto ciego. Entonces, ¿qué haces aquí? Se usa algo llamado análisis de composición de software. Entonces lo que hace es mirar tus dependencias. ¿Cuáles son las dependencias? Cuáles son las bibliotecas de software, y en realidad identifica los riesgos de seguridad que existen. Al igual que SAST se parece al código fuente. Esta se parece a tus bibliotecas de terceros, y les dice a los desarrolladores, Oye, tu componente es vulnerable y en realidad puede usarlo en realidad puede usarlo manera continua para averiguar si alguna vulnerabilidad es porque no es estática, ¿verdad? Podría ser posible que un componente sea seguro y mañana se vuelva inseguro Entonces el análisis de composición del software SCS, monitorea completamente y parece lo que está sucediendo Entonces este es un ejemplo de CISA, son un sitio web del gobierno, y tienen una muy buena publicación, lo vincularé sobre asegurar la cadena de suministro de software para desarrolladores Y dan esta recomendación. Entonces dentro del pipeline, el desarrollador tal vez seleccione un componente para su descarga, ¿verdad? No lo sé, la biblioteca Log four j. Entonces el componente se pone en un repositorio seguro intermedio donde se tiene el análisis de composición del software. Entonces lo escaneará y te hará saber que, bien, esto es seguro. No hay problemas ahí, y lo moverá al repositorio seguro. Y a partir de ahí, el desarrollador ya puede iniciar sesión, registrarlo y comenzar a usarlo dentro del código. O a menos que encuentre un problema, entonces vuelve atrás. Entonces esta es una muy buena manera de mirarlo, cómo funciona la composición y el análisis de software. Y si lo miras de nuevo dentro del pipeline, entonces dentro del ID, tienes código seguro y feedback, y puedes poner composición de software y RSS allí también. Entonces, cuando el desarrollador está registrando una biblioteca, la composición del software Ss entrará en acción y le saber que esto es inseguro o dentro del pipeline de CI también Entonces, cuando sucede SAST, SAS puede integrarse con el análisis de composición de software y hacerle saber, mira, el código es seguro, pero estás usando una biblioteca insegura. Y por último, DAST. Entonces DAS cuando estás haciendo DAS, también puedes hacer monitoreo de las bibliotecas que están presentes, y te puede hacer saber en el software en ejecución, qué problemas hay. Entonces esta era solo una vista de alto nivel de la primera parte, que era el código inseguro y cómo asegurarlo Entonces, a estas alturas, espero que tengas una idea mucho mejor de los controles que puedes poner en marcha para asegurar tu código fuente. Bien, ahora el siguiente, vamos a ver el endurecimiento del entorno, cómo endurecemos los informes de código fuente, los servidores de facturas, los servidores de paquetes, y vamos a verlo en un nivel superior y ver cómo complementa seguridad del código fuente del software Muchas gracias, y te lo preguntaré en la siguiente lección. 12. Cómo proteger la cadena de suministro - 3: Hola. Hola a todos. Bienvenido, bienvenido. Estamos continuando con nuestra lección ahora. Hemos cubierto la codificación, la codificación segura blanca y por qué eso es importante y cómo protegerla. Y hablamos dependencias de terceros, también, ¿no? Entonces vamos a seguir adelante en ese caso, y ahora vamos a estar hablando de los entornos. Si recuerdas hablamos sobre el entorno desarrollador, el entorno pre prod. Y vamos a hablar los componentes que hay en esta lección. Entonces, antes que nada, ya sabes, dando herramientas prácticas, prácticamente, asegurándose de que los desarrolladores sean capaces de hacer lo que quieran. Ese es uno de los retos más grandes, sabes, en la ciberseguridad, porque si no les das los desarrolladores lo que necesitan para hacer su trabajo, los desarrolladores son muy conocedores técnicamente Encontrarán formas inseguras de hacer su trabajo. Entonces aquí es donde la ciberseguridad siempre ha sido un desafío, ¿verdad? Tomemos un ejemplo. Las empresas y los equipos de ciberseguridad, normalmente no quieren que el personal esté ejecutando código en sus estaciones de trabajo o laptops, justo por razones obvias Sin embargo, los desarrolladores necesitan eso. Necesitan la capacidad de instalar herramientas esenciales y probar su software de manera efectiva. Ahí es donde necesitas ser flexible, en el entorno del desarrollador. Y como dije, los desarrolladores son muy conocedores de la tecnología. Si no les das lo que quieren, es probable que encuentren formas de sortear los obstáculos que les impiden trabajar, y eso creará un entorno inseguro Entonces es por eso que necesitas pensar en darle a los desarrolladores la capacidad de hacer lo que necesitan hacer. Entonces hay muchas maneras de hacerlo. En realidad se puede segmentar de la red de desarrolladores. Entonces puedes ponerlo en una red separada, ¿verdad? Conozco gente que puso sus entornos de desarrollador completamente en la nube y lo segregó de la red de producción Lo único que es combinarlos es un repositorio. Pero son plenos derechos porque saben que aunque haya algo problema pasando ahí, es en la nube, está completamente segregado de su red de producción Entonces aquí es donde hay que pensar. Si un atacante lo compromete, ¿qué va a pasar? Entonces, porque una vez que un atacante lo compromete, potencialmente pueden inyectar núcleo malicioso, explotar dispositivos comprometidos Entonces hay muchas formas variadas de hacerlo. Puedes separar, como dije, tu entorno de negocios y tu entorno de desarrollo, aislar a tus desarrolladores, del negocio principal. Así que asegúrate de que no tengan acceso a ninguna función crítica del negocio y piensa en formas de asegurar tu entorno de desarrollador. Estás poniendo en autenticación multifactor dales cosas como VDI, lo que les da un Entonces les da la capacidad de hacer lo que quieren hacer, pero están restringidos. Se ponen en una caja de arena particular. Entonces estas son las cosas en las que realmente necesitas pensar cuando estás endureciendo tus entornos, ¿verdad? Cómo aislar a tus desarrolladores de tus entornos de producción. Y, por supuesto, tienes ambientes preprod, también. Tienen datos. Asegúrate de que lo estás anonimizando. Lo estás desinfectando en la mejor medida posible. Contrario a la creencia popular, no necesitas todos los datos ahí. Solo necesitas lo suficiente para simular la producción amplia, pero puede que no necesites todos, por ejemplo, como datos de una vaca o datos PII, potencialmente puedes desinfectarlos Entonces piensa en esas cosas. Hay que tener monitoreo de seguridad. He hablado de anonimización de datos. Entonces estas son las formas en las que puedes endurecer tu entorno de desarrollo y tu entorno de producción de P. Y hablamos del endurecimiento. Una de las cosas clave en las que pensar es la seguridad de tus repositorios de código fuente, tu servidor de compilación, tu servidor de paquetes Todas estas cosas vienen a la mente, ya sea que tenga una canalización CICD o DevOps o simplemente manual Entonces vayamos paso a paso. En primer lugar, es tu repositorio de código. Si recuerdas aquí es donde pones todo tu código sí. Aquí es donde sus desarrolladores están poniendo el código y endurecido el acceso al segador Se puede pensar en poner cosas como autenticación multifactor ¿Está revisando quién tiene acceso al repositorio y asegura la infraestructura subyacente Si es en prem y alguien puede hackear el propio servidor, entonces realmente no puedes confiar en el código, que va a estar encima, ¿verdad Y siempre hacer cumplir ese principio de privilegio de arrendamiento. No vas a creer cuántas empresas conozco comprueban el acceso de sus aplicaciones, pero las OPI se olvidan por completo Lo extrañan por completo. Entonces el acceso de usuario a repositorios, piensa en cómo te autenticaste ¿Existe una buena política de contraseñas? ¿Estás haciendo cumplir cosas como la autenticación multifactor? ¿Lo estás restringiendo a direcciones IP? Como hablamos del tema Cod Cv, ¿verdad? Eso podría haber sido así si las IPs hubieran sido destruidas porque aunque hubieran comprometido tu repositorio, no habrían podido acceder a él Y, por supuesto, una de las cosas más peligrosas, por favor siga escaneándola. Mantenga siempre sus credenciales y su código fuente separados. ¿Sabes si tus desarrolladores han codificado alguna credencial en tu EPO, separando lógicamente tus credenciales del Y asegurándose de que están siendo escaneados. Esta es una de las cosas más básicas. A la fecha, te puedo garantizar que tantas empresas tienen credenciales codificadas dentro sus repositorios y no están al tanto de ello Entonces, ¿tienes ese plan? Tienes algún tipo de plan de respuesta a incidentes si te enteras, ¿verdad? Estas son todas las cosas en las que debes pensar cuando hablas de tu repositorio de código Si se aseguró el código Depot, ataques como Cod COV podrían haber sido bloqueados Bien, el siguiente es el pipeline de construcción, ¿verdad? Hablamos de esto una vez que el desarrollador, se compromete algo con el código, el repositorio Ahí es donde entra su tubería de construcción. Esto puede ser parte de la tubería CSCD. Hay que asegurar esto de manera más crucial, porque este es uno de los mayores objetivos Ya lo hemos visto pasar en las victorias solares, ¿ verdad? ¿Qué hace un atacante? Se infiltra en una red de desarrollo. Escanea para averiguar dónde están los repositorios de código fuente, dónde están los sistemas construidos y dónde están las vulnerabilidades. Él lo compromete. Ahora le puede gustar comprometer el código que se está cometiendo, y puedes comprometer los binarios, ¿verdad Si desea asegurar la integridad de su código y los artefactos de compilación, debe asegurarse de que su compilación funcione endurecida. Y recuerda esto en todo momento, que los hilos de construcción son una de las amenazas más peligrosas que pueden estar ahí, como lo demuestra el entorno de los vientos solares. Entonces, ¿qué podemos hacer? Entonces, antes que nada, siguiendo las pautas de endurecimiento. La mayoría de las herramientas de construcción que están ahí, todas ellas tienen mejores prácticas de endurecimiento que puedes seguir. Segregue su desarrollo, su red de ingeniería de la red coopit Ya hablamos de ello. ¿Estás monitoreando tu entorno de construcción? Tienes cosas como, una autenticación multifactor ahí. ¿Por qué? ¿Estás auditando a qué cuentas tienen acceso? Porque recuerde, el servidor de compilación, si está implementando automáticamente código en diferentes entornos, necesitará acceso. ¿Cómo sabes que esas cuentas no han sido comprometidas, verdad? Asegurándose de que está registrando todos los accesos. Y hablamos de las compilaciones reproducibles verificadas , también, ¿verdad? Entonces construye las cuales puedes construir en entornos separados, y siempre serán los mismos. Eso te da la seguridad de que nadie ha manipulado un construido como solar Y asegurándose básicamente tus secretos y tus credenciales estén seguros. Por lo tanto, estas son una lista de verificación completa que puede usar para comenzar a proteger sus entornos construidos. Entonces esos son los servidores de compilación. ¿Qué más es el servidor de paquetes? Si recuerdas, entonces pones cosas en el código fuente, van al servidor de compilación, y a partir de ahí, van al paquete. Ahora, el servidor de paquetes es donde se implementa su software, ¿verdad? Usted paquetes de software. Y compromiso de repositorio de paquetes. Eso puede ser una amenaza significativa en su cadena de suministro de software. Hablamos de esto antes. Si los atacantes pueden comprometerlo, potencialmente pueden enviar código malicioso allí, ¿verdad? Entonces nuevamente, endureciendo MFA, usando firmas criptográficas . ¿Qué es esto? Usted quiere asegurarse de que la integridad de sus paquetes de software. Entonces de esta manera, si este paquete es manipulado o alterado, tu firma criptográfica entrará en juego Porque el paquete tendrá una huella digital única, ¿verdad? Y podemos verificar que nadie ha manipulado. Así que de nuevo, entonces puedes asegurarte de que estás usando canales seguros, asegurándote de que se están utilizando HDDPS, SFTP o incluso VPNs para asegurarte de que los paquetes están encriptados en transet verificando la integridad de los paquetes encriptados en transet verificando de software antes de su distribución asegurándote de que se están utilizando HDDPS, SFTP o incluso VPNs para asegurarte de que los paquetes están encriptados en transet verificando la integridad de los paquetes de software antes de su distribución. Entonces quieres comparar tus paquetes de firma criptográfica actual con la firma original para asegurarte de que nadie haya manipulado eso, ¿verdad? Y en contra de firmarlo. Estos son algunos de los controles muy, muy importantes. Y ahora mismo, quiero llevarte vuelta uno de los riesgos clave de los que hablamos. Recuerdas esto el ataque de confusión de dependencia. Este fue un importante, muy, como un batidor de cadena de suministro importante, que es donde el atacante publica un paquete malicioso un repositorio público de paquetes con el mismo nombre que un paquete popular Entonces tu desarrollador, podrían pedir un paquete, y lo que sucede es que el paquete re primero, lo que hace, comprueba el informe público. Y ahí el atacante ha puesto el mismo nombre, pero con un número de versión mayor. Entonces podrías tener la versión tres, él pondrá la versión cinco. Y el repositorio de paquetes de la forma en que está configurado, primero irá a Internet para verificar, y descargará el paquete malicioso Y de esta manera, el paquete se copiará en tu red de desarrolladores y Bingo. El atacante tiene acceso a su entorno de desarrollo de software y es capaz de comprometerlo. Entonces es solo una forma en que es un tipo de ataque que explota la forma en que funcionan los entornos de desarrollo de software y los administradores de paquetes, ya sabes, cosas como el administrador de paquetes de nodos , el índice de paquetes de Python Esta es solo la forma en que funciona. Entonces, nuevamente, ¿qué puedes hacer asegurando esto? Puedes usar repositorios privados para dependencias críticas, solo puedes usar repositorios privados con estrictos controles de acceso para reducir el riesgo de que consumas accidentalmente Puedes usar el bloqueo de dependencia, asegurándote de que tu dependencia el paquete que está buscando el desarrollador esté bloqueada a una versión específica que hayas verificado Evita que esas actualizaciones automáticas puedan verse comprometidas en versiones más nuevas. En este diagrama, puedes ver que el atacante ha comprometido un repositorio de paquetes públicos, ¿verdad Y el desarrollador pidió un paquete. El paquete no irá a Internet para comprobarlo. ¿Por qué? Porque has cerrado la dependencia. Has dicho que esta es la única versión que quiero, que ya has verificado, que está en prem Por lo que no irá a Internet y podrás eludir por completo este ataque. El atacante no podrá comprometer tu entorno. Entonces estas son las cosas que quiero que tengas en cuenta, que es proteger contra ataques de confusión de dependencia, ¿verdad? Estas son las cosas que necesita pensar verificación del nombre del paquete que los nombres de todos los paquetes que se utilizan en su proyecto son conocidos y confiables. Y puedes hacerlo verificando el origen y mantenedor de cada paquete antes de agregarlo a tus dependencias Firma de paquete de ya se habló. Lo mismo que tienes una firma digital, ¿verdad? Firmar el paquete y usar repositorios de paquetes privados, así que considere usar repositorios de paquetes privados donde aloje sus dependencias internas Esto puede ayudar a reducir al atacante, como mostré en el diagrama anterior. Incluso si introduce un paquete malicioso, que tiene el mismo nombre que tu dependencia interna, tu gestor de paquetes no irá ahí porque va a permanecer en prem y solo usará el interno Y claro, monitoreando y escaneando tus paquetes, ¿verdad? Se quiere asegurarse de que no se hayan introducido vulnerabilidades mientras tanto. Por lo que esto puede ayudar a capturar cualquier paquete malicioso y monitorear las descargas de paquetes . Por lo que al monitorear las descargas de tu paquete, puedes ayudar a detectar cualquier actividad maliciosa. Entonces estas son todas las cosas que puedes hacer para asegurarte seguro contra ataques de confusión de dependencia. Así que ya hemos cubierto los entornos. Ahora quiero hablar sobre un tema muy importante que es crucial cuando se trata de seguridad de la cadena de suministro de software, y esta es la compilación de software de material, SBOM Gracias. Y no voy a cubrir esto porque creo que ya tienes suficientes cosas para entender en esta lección. Te veré en la siguiente lección, iniciaremos este tema. Muchas gracias, y nos vemos en la siguiente lección. 13. SBOM: Hola a todos. Bienvenida. Bienvenido a esta lección, que cubre un tema muy, muy importante en la seguridad de la cadena de suministro de software, que es un software construye de material, SBOYM Entonces, ¿qué es un SBM? Es muy sencillo. Básicamente es un inventario anidado. Es una lista de ingredientes. De todos los componentes de software que están presentes dentro de su software. Y si piensas en la cadena de suministro de software, bien, cada framework de herramientas o compilación utilizada para escribir, construir y ejecutar aplicaciones, y aquí es donde entran todas las vulnerabilidades, ¿verdad? Y estás constantemente reutilizando código, paquetes de software y proveedores externos también venden paquetes comerciales Entonces la complejidad de construir todas estas aplicaciones de software, hace que sea muy, muy crucial tener un inventario de todos los componentes que se utilizan para crear dicha aplicación, un catálogo, ¿verdad? Y este catálogo ayuda a las organizaciones a identificar y detectar rápidamente si tienen alguna vulnerabilidad de seguridad dentro del entorno. Entonces aquí es donde entra el SBM. Se ha vuelto muy parecido un estándar en la seguridad de la cadena de suministro de software. Y aquí es donde realmente puedes preguntar a los vendedores y obtener esto. Y vamos a investigar esto con más detalle. Así que en realidad puedes hacerlo tú mismo. Incluso puedes hacerlo con hoja de Excel. Yo no lo recomendaría en absoluto, o puedes generarlo automáticamente. Hay muchos, muchos softwares que escanean su entorno, y luego realmente generan o construyen software de materiales Eso es lo que recomiendo usar una máquina generada. Y es muy, muy beneficioso, ¿por qué? Porque te ayuda a identificar componentes vulnerables y te da un conocimiento completo de lo que tienes, ¿verdad? ¿Y si hay un incidente de una biblioteca en particular que está siendo comprometida? ¿Cómo sabrías si tus aplicaciones críticas tienen esto o no? De hecho, puedes consultar rápidamente tu SBM, si está ahí en formato máquina para saber si se esta versión en particular de está utilizando esta versión en particular de esta biblioteca en particular, ¿verdad Y te ayuda a seleccionar proveedores también que están escribiendo, como si tu vendedor es transparente y dice, Oye, aquí está mi SBM con la aplicación Sabes que este es un vendedor maduro, ¿verdad? Tienen todas estas cosas necesarias. E incluso después de que creo que fueron las victorias solares, los proveedores de la cadena de suministro de software y la seguridad de la orden ejecutiva que se produjo, también comenzaron a exigir que se necesita tener un SPOM Entonces como dije, puedes hacerlo de forma manual, usa una hoja de Excel. Absolutamente no lo recomendaría porque puedes tener de cientos a miles de dependencias. Por lo general, puedes hacerlo usando herramientas generadas por máquina, derecho, que son completamente hazlo automáticamente por ti. Entonces, como dije, ¿qué hace? Es como un inventario completamente exhaustivo, ¿verdad? Detalla cada pieza de código abierto de terceros, bibliotecas, paquetes de código que se utilizan en el desarrollo de una aplicación de software, y te da una buena idea de la composición del software, ¿verdad? De esta manera sabes qué hay, qué no hay, qué versión estás usando, ¿qué bibliotecas y paquetes de código están usando? Cómo son los componentes de terceros, ¿ cuál es el estado PAT? ¿Cuáles son las dependencias entre ellos? Y ahora puedes entender, si quisiera saber cuál es el estado de PAT porque no sé si el software en particular es vulnerable o no a un ataque en particular, la SBOM puede ayudarte de inmediato a identificarlo Y esto es como una máquina generada . Así es como se ve. O sea, no quiero que lo leas, pero solo muestra que puedes ver que te muestra cuál es el paquete. ¿Correcto? ¿Cuál es el estado? ¿Cuál es la versión? ¿Cuál es el código hash? ¿Quién es el proveedor? Entonces entran en juego todas estas cosas. ¿Y cómo ayuda? Entonces ya hablé de esto, pero, ya sabes, antes que nada, tienes transparencia. Entonces te da una lista completa de lo que tienes, ¿verdad? Este nivel de transparencia permite a las empresas conocer exactamente qué hay en el software y hacerlo más fácil de administrar y asegurar. Administración de vulnerabilidades con SBM, puede identificar rápidamente si hay algún componente de software que sea vulnerable a problemas de seguridad Para que puedas identificar de manera proactiva los problemas. Cumplimiento, muchas industrias tienen requisitos regulatorios que exigen estándares de seguridad para el software. Entonces, si no lo haces aunque no tengas el software en la casa, tal vez estés usando un software basado en proveedores. Se puede utilizar una lista de materiales especiales. Puedes pedirle al vendedor el SBM, ¿verdad? Y por supuesto, la seguridad de la cadena de suministro. El objetivo de esto es mejorar la seguridad de su cadena de suministro, y también ayuda a una respuesta a incidentes. Digamos que, en caso de una respuesta a incidentes, SBM le permite respuesta a incidentes más rápida y eficiente Puede determinar rápidamente qué componentes podrían verse afectados por un ataque. Y nuevamente, seguimiento de dependencias. Entonces como dije, se vuelve tan complicado rastrear lo que tienes y lo que no tienes. Por lo tanto, un SVM te ayuda a rastrear estas dependencias a lo largo del tiempo. Y hoy en día en la era de GNAI y todo, realidad puedes poner una IA encima de estos archivos y consultarla y obtener respuestas de la vida completamente humana, ¿verdad Entonces todas estas cosas en las que puedes pensar. Entonces, si lo miro desde esta perspectiva. Entonces suponiendo que tienes un equipo de ciberseguridad, correcto, y tu empresa está comprando un producto a un proveedor Y ahora el equipo de ciberseguridad quieren saber qué tipo de software hay ¿Es de código abierto? ¿Cómo se construye, verdad? Entonces le preguntas al vendedor, me puede dar por favor un SBM Entonces esto es lo que el vendedor responde bien. Te dan una SBOM y la persona ahora es capaz de leerla y obtener esa seguridad Bien, ¿qué hay? ¿Qué no hay ahí? Ahora, ningún software es inmune a las vulnerabilidades de seguridad, ¿verdad? Cada No hay ningún software que sea completamente seguro al 100%. Así que en realidad incluso puedes hacer eso con una SBOM. Para que pueda preguntarle al proveedor, ¿hay alguna vulnerabilidad en sus redes de laboratorio de software? Te pueden dar OSB más algo llamado intercambio vulnerabilidad explotabilidad. Ahora, ¿qué es eso? Este es un framework que está diseñado para comunicar las vulnerabilidades de seguridad en el software, particularmente si el software es vulnerable o no. Por lo tanto, las declaraciones VX, proporcionan a los proveedores una forma de comunicarse Ya sea que haya una vulnerabilidad o no, se les puede decir exactamente. Entonces, si soy vendedor y un cliente me pregunta, puedo darles el SBM más un VX Y digo que esta vulnerabilidad no es una preocupación para nuestro producto, y puedes detallar las condiciones bajo las cuales podría ser un problema, pero la has mitigado, ¿verdad Entonces es parte de la SBOM y te da transparencia Entonces este es, nuevamente, un estándar que se está volviendo cada vez más popular en la cadena de suministro de software. ¿Por qué porque no tienes acceso a externalizar el código fuente, verdad Pero si estás comprando una aplicación, en realidad puedes usar el SPM Puedes usar el VX para obtener esa garantía. Y en la siguiente lección, lo que vamos a hacer es hacer un estudio de caso real, como, ¿cómo pasaría eso si un cliente estuviera comprando un software y qué podemos hacer? Entonces creo que esto cubre prácticamente todas las cosas de las que hablamos, ¿verdad? Así que lo hemos mirado desde el entorno de desarrollador, codificación segura, endurecimiento, escaneo de componentes, pruebas, endurecimiento del entorno y ahora mirándolo desde la perspectiva SBM Entonces espero que esto te haya sido útil para entender lo vasto que es este mundo, ¿verdad? Ahora, tienes una buena idea de lo que la seguridad de la cadena de suministro de software y los controles en cada etapa y los conceptos erróneos que la gente tiene como este es un producto que compras o esta es una certificación que obtienes o esta es una certificación Entonces ahora que estás en buen estado, podemos ahora podrías estar pensando, Bien, hay tantos controles. ¿Cómo puedo implementar realmente? ¿Por dónde empiezo empiezo con el SBM? ¿Empiezo con código seguro? ¿Empiezo con dependencias? ¿Qué tengo que hacer? Entonces esto es de lo que vamos a hablar en la siguiente lección donde vamos a hablar sobre la construcción de una cadena de suministro de software, seguridad y programa de riesgos. Como si empiezas a hacer esto dentro de tu empresa, dónde empezar y dónde van a entrar todos estos diferentes componentes. ¿Bien? Entonces espero que esto te haya sido útil. Te veré en la siguiente lección. Gracias. 14. Conclusión: Hola, hola a todos. Bienvenida. Bienvenidos a la lección final. Y esto solo está terminando. Gracias. Gracias por escucharme, hablar por Dios sabe cuanto tiempo. Pero espero que haya entendido bien seguridad de la cadena de suministro de software. Espero que ahora tengas una visión holística, y no solo estés pensando en comprar un producto o simplemente encender MFA o algo así Espero haber aumentado sus conocimientos sobre nuevos tipos de ataques. Así que recuerda, es un viaje continuo. Siga las mejores prácticas y tendencias de la industria que están ahí y comience. Yo no puedo, por favor, no seas de esas personas que acaban de tomar esta lección, y luego te olvidas de ello la semana siguiente. Bien, empieza, toma algunas de las lecciones de las que te he hablado y empieza a implementarlo dentro de tu empresa. Eche un vistazo a los repositorios construidos, los repositorios de paquetes y comience a implementarlos de manera incremental . Pero eso es más o menos que hemos terminado el curso. Espero que hayas disfrutado escuchándome Babilonia por tantas horas. Muchas gracias por aguantarme. Recuerda que te di un proyecto al inicio. Puedes tomar esto y separarlo tu propia cadena de suministro de software contra el riesgo del que hablamos y compartirlo. Y eche un vistazo como hacer una simple evaluación de dónde se encuentra, su cadena de suministro, cuáles son los riesgos y cómo puede mitigarlos, documentarlo para que pueda hacerse una mejor idea. Porque si no aplicas este conocimiento, puedo garantizar que te olvidarás de ello. Habrás desperdiciado tu tiempo y dinero si no aplicas los conocimientos de los que te he hablado. Así que eso es más o menos. Por favor, no dude en comunicarse conmigo. Estoy ahí en Substack, LinkedIn y también tengo un pequeño canal de YouTube Vinculo todo dentro de los comentarios. Lo siento, dentro de la lección, puedes hacer clic en ella, y contactarme si pensabas que esta era una buena lección, por favor deja una si pensabas que este era el peor curso que hayas tomado, avísame, por favor, también. No te preocupes en absoluto. Estoy feliz de recibir comentarios. Así que muchas gracias. Esto concluye este curso. Espero que la hayas pasado bien, y te veré en el próximo curso que imparto. Muchas gracias y adiós.