Hacer Pregunta

Análisis

RESUMEN

El video trata sobre un reciente ataque a la cadena de suministro en el ecosistema PHP, similar a los sufridos en JavaScript, Python y Rust. Se explican los detalles del ataque, las vulnerabilidades explotadas, y las medidas de seguridad recomendadas para protegerse.

IDEAS PRINCIPALES

  • Ataque a la cadena de suministro en PHP: Se comprometen más de 700 versiones de paquetes de Laravel con puertas traseras para ejecución remota de código.
  • Explotación de Packagist: El ataque utilizó el archivo `package.json` en Composer para inyectar scripts maliciosos.
  • Impacto en Composer: Se comprometen paquetes con código malicioso que se ejecuta durante la instalación.
  • Solución propuesta para npm: Se menciona la iniciativa para que los scripts pre-instalación, instalación y post-instalación de npm no se ejecuten por defecto.
  • Ataques en otros ecosistemas: Se destaca que los ataques a la cadena de suministro no se limitan a PHP, sino que también afectan a Python y Rust, con el robo de cripto-monederos, claves SSH, credenciales AWS y tokens de GitHub.
  • Recomendaciones de seguridad: Se mencionan consejos dados por el equipo de hackers Team PCP, como fijar versiones a un hash específico, usar tokens de privilegio mínimo y restringir extensiones del IDE.
  • Herramientas de seguridad recomendadas: Se menciona la herramienta SFW de Socket Security para detectar malware en los paquetes.

INSIGHTS

  • El ataque a PHP demuestra que la seguridad de la cadena de suministro es un problema generalizado en la industria del software.
  • La ejecución automática de scripts durante la instalación de paquetes es un punto débil explotado por los atacantes.
  • La necesidad de medidas de seguridad más robustas y la importancia de la vigilancia constante frente a nuevas amenazas.
  • La importancia de revisar y auditar las dependencias de software, así como de utilizar herramientas de seguridad especializadas.

Sabiduría

Análisis del vídeo: El ataque a PHP que nadie vio venir

RESUMEN

El presentador discute un ataque a la cadena de suministro en el ecosistema PHP, mencionando problemas en Composer y paquetes infectados.

IDEAS

  • El ataque compromete múltiples versiones de paquetes clave de PHP, impactando a muchos usuarios.
  • Los atacantes inyectaron puertas traseras en paquetes de PHP para ejecutar código de forma remota.
  • Composer, el gestor de dependencias de PHP, fue afectado por el uso de archivos `package.json`.
  • El presentador demuestra cómo se inyectaba código malicioso en repositorios de software.
  • Un RFC busca impedir la ejecución automática de scripts en npm para mejorar la seguridad.
  • Los ataques a la cadena de suministro se extienden a varios lenguajes como PHP, Python y Rust.
  • Los atacantes roban información sensible, incluyendo carteras de criptomonedas y credenciales.
  • Los ataques utilizan paquetes con nombres similares a los populares para engañar a los usuarios.
  • Team PCP ofreció consejos para defenderse de los ataques a la cadena de suministro.
  • Los consejos incluyen fijar versiones, usar tokens con mínimo privilegio y restringir extensiones IDE.
  • La empresa Socket Security detecta malware antes de que llegue al ordenador del usuario.
  • El presentador destaca la importancia de usar herramientas de seguridad para proteger la cadena de suministro.
  • Damián Catanzaro comentó sobre la situación, bromeando sobre volver a PHP "por seguridad".
  • Los paquetes afectados eran descargados cientos de miles de veces en el ecosistema PHP.
  • El ataque afectó a paquetes en Laravel, incluyendo `http-statuses`, `attributes` y `actions`.
  • La publicación de más de 700 versiones maliciosas fue una "salvajada" según el presentador.
  • Si instalaste una de las versiones comprometidas, podrías estar afectado.
  • El presentador menciona el ataque a paquetes en Python, Rust y npm.
  • Se mencionan ataques anteriores como Shai Hulut, contra Axios, chalk y other package.
  • La situación resalta la importancia de la seguridad en el desarrollo de software.
  • Muchos desarrolladores se quejan de la seguridad en JavaScript, pero otros lenguajes también están afectados.
  • La entrevista al Team PCP proporciona valiosos consejos de seguridad para los programadores.
  • El presentador destaca el "colmo del colmo" en la entrevista al grupo de hackers.
  • La herramienta SFW de Socket Security puede ayudar a detectar paquetes maliciosos.
  • El ataque pone de manifiesto la necesidad de cambiar la forma en que se instalan las dependencias.

INSIGHTS

  • La vulnerabilidad de la cadena de suministro exige adoptar un enfoque de seguridad proactivo y exhaustivo.
  • Los ataques a software demuestran que la seguridad es responsabilidad colectiva de la comunidad de desarrolladores.
  • La ejecución automática de scripts en la instalación de dependencias es un riesgo significativo en software.
  • Los consejos dados por los hackers ofrecen una perspectiva inestimable sobre la seguridad en programación.
  • El uso de herramientas como Socket Security es fundamental para mitigar los riesgos de los ataques.
  • Fijar las versiones de las dependencias es clave para la seguridad del proyecto y su robustez.
  • La diversificación de ecosistemas no garantiza la inmunidad frente a las amenazas de software.
  • La confianza ciega en las dependencias de terceros aumenta la vulnerabilidad de las aplicaciones.
  • La colaboración entre hackers y defensores potencia la seguridad de la cadena de suministro.
  • La entrevista destaca la necesidad de una postura de seguridad más vigilante en la comunidad de desarrollo.

CITAS

  • "No se está salvando un solo framework, se cancela volver a PHP. Nos quedamos en HTML con GQuery."
  • "Más de 700 versiones históricas entre diferentes paquetes mantenidos por la comunidad fueron comprometidos."
  • "El tema es que Composer utiliza los packagons para ejecutar algunos scripts y a partir de eso..."
  • "Esto es lo que estaba ejecutando."
  • "Todo esto está infectado."
  • "Pues en este Travel Guide... han metido aquí este post install y ahí está."
  • "Todos estos ataques son siempre los mismos, que es que con npm install se ejecuta por defecto..."
  • "Por suerte van a hacer por fin hay un RFC..."
  • "No, es que esto es el ecosistema de JavaScript, que no sé qué, no sé cuánto."
  • "La empresa Socket detectará el Marwell antes de que el paquete siquiera llegue a tu máquina."
  • "La empresa Socket detectará el Marwell antes de que el paquete siquiera llegue a tu máquina."
  • "La empresa Socket detectará el Marwell antes de que el paquete siquiera llegue a tu máquina."
  • "Así que nada, ha llegado a todos, a Python, a Rust y también a MPM."
  • "Y su consejo es fijar versiones a un hash específico."
  • "Usar tokens de privilegio mínimo."
  • "Restringir extensiones del IDE, de esto también os comenté el otro día."
  • "Los defensores para detener los ataques a la cadena de suministro"
  • "Para que no se ejecute automáticamente. ¿Qué es lo que ocurre hoy?"

HÁBITOS

  • Se preocupa por mantenerse actualizado sobre las últimas amenazas y vulnerabilidades de seguridad.
  • Investiga y analiza ejemplos concretos de ataques para comprender sus mecanismos y alcances.
  • Valora la importancia de la colaboración de expertos en seguridad para fortalecer la protección.
  • Recomienda el uso de herramientas de seguridad para la detección precoz de posibles amenazas.
  • Destaca la importancia de mantenerse informado sobre las mejores prácticas en seguridad informática.
  • Utiliza la lógica y la razón para entender los problemas de la seguridad en la programación.
  • Se enfoca en comprender cómo los ataques impactan los proyectos y los desarrolladores.
  • Analiza a fondo las implicaciones de seguridad de las dependencias que usa en sus proyectos.
  • Incorpora medidas preventivas para protegerse contra posibles vulnerabilidades.
  • Comparte valiosas ideas y recomendaciones con su audiencia para mejorar la seguridad personal y profesional.
  • Fomenta la conciencia sobre la necesidad de tomar medidas proactivas contra las amenazas cibernéticas.
  • Se mantiene alerta y revisa cualquier cambio en la seguridad en las dependencias.
  • Está suscrito a actualizaciones sobre las últimas vulnerabilidades de seguridad.
  • Busca información de expertos en ciberseguridad para aprender y mejorar la seguridad.
  • Prioriza la aplicación práctica de soluciones para la seguridad de sus proyectos.

HECHOS

  • El ataque a PHP afectó a más de 700 versiones de paquetes con puertas traseras.
  • Los paquetes afectados en PHP fueron descargados cientos de miles de veces.
  • El ataque compromete software y la ejecución de código en la máquina.
  • El ataque a la cadena de suministro se extiende por NPM, Python y Rust.
  • Los atacantes pueden robar información sensible como credenciales y claves.
  • Los atacantes usaron paquetes con nombres similares a los populares para engañar.
  • Team PCP ofreció consejos para evitar ataques en la cadena de suministro.
  • Socket Security detecta malware rápidamente con una herramienta llamada SFW.
  • El RFC busca evitar la ejecución automática de scripts en npm.
  • El ataque destaca la importancia de fijar las versiones de las dependencias.
  • El ataque a la cadena de suministro está presente en varios lenguajes.
  • La seguridad del desarrollo depende mucho de las dependencias.
  • La seguridad es un tema que involucra a la comunidad de desarrolladores.
  • Los paquetes comprometidos tienen un impacto en el ecosistema.
  • La solución para la problemática es el uso del token mínimo de privilegio.

REFERENCIAS

  • Comentario de Damián Catanzaro sobre volver a PHP.
  • Arabel.
  • Composer.
  • Paquetes afectados en PHP (Laravel, etc.).
  • GitHub.
  • Travel Guide.
  • RFC para cambiar la ejecución de scripts en npm.
  • Ataque Shai Hulut.
  • Ataque a Axios, chalk, the back.
  • Python Package Index.
  • crates.io (registro de paquetes de Rust).
  • Entrevista al Team PCP.
  • Herramienta SFW de Socket Security.
  • Token con permisos mínimos.

CONCLUSIÓN EN UNA FRASE

La seguridad comprometida en el desarrollo de software requiere precaución, fijar versiones, y el uso de herramientas de protección crucial.

RECOMENDACIONES

  • Actualiza tus dependencias y usa versiones seguras de tus herramientas y librerías.
  • Investiga cada paquete que instales y verifica su reputación y código fuente.
  • Fija las versiones de las dependencias para evitar vulnerabilidades de software.
  • Utiliza tokens de mínimo privilegio para limitar el daño en caso de ataque.
  • Restringe las extensiones del IDE para minimizar posibles puntos de entrada.
  • Aplica una estrategia de seguridad, revisando continuamente tus dependencias.
  • Considera usar herramientas como Socket Security para proteger tu cadena de suministro.
  • Ten cuidado con paquetes que se parecen a paquetes que ya conoces y usas.
  • Prioriza verificar la integridad y el origen de las dependencias que usas.
  • Revisa la seguridad de tus programas de forma periódica para mitigar riesgos.
  • Prioriza la seguridad en todas las etapas del ciclo de vida del desarrollo.
  • Utiliza herramientas de análisis de vulnerabilidades para detectar problemas.
  • Realiza pruebas de seguridad exhaustivas para descubrir posibles debilidades.
  • Asegúrate de vigilar de cerca la seguridad de tus dependencias.
  • Implementa una estrategia de defensa sólida y proactiva para tu sistema.

Y lo que pasa en las mejores familias,<br>tenemos que hablar de los ataques en el<br>ecosistema de PHP. PHP, sí, muchas veces<br>hablamos de JavaScript, mucha gente se<br>queja de JavaScript. De hecho, me hizo<br>mucha mucha gracia el comentario de<br>Damián Catanzaro, no me salía el nombre<br>del chico este. Damián Catanzaro me hizo<br>mucha gracia porque, a ver si os lo<br>encuentro a este este comentario, porque<br>el otro día, por todos los ataques que<br>había en el ecosistema de JavaScript<br>comentaba esto, no estoy para volver a<br>PHP con jQuery y luego dice, "No se está<br>salvando un solo framework, se cancela<br>volver a PHP. Nos quedamos en HTML con<br>GQuery. ¿Y por qué? Porque resulta que<br>hemos tenido un nuevo ataque, la cadena<br>de suministro en la organización del<br>Arabel. Más de 700 versiones históricas<br>entre diferentes paquetes mantenidos por<br>la comunidad del Arabel fueron<br>comprometidos con puertas traseras para<br>ejecución de código en remoto. algunos<br>paquetes bastante importantes que son<br>descargados cientos de miles de veces en<br>el ecosistema de PHP, en Lara, Lara,<br>Lang L, http statuses, attributes,<br>actions, un montón y ha sido pues<br>bastante bastante preocupante, bastante<br>preocupante. Así que sí, esto es del<br>otro día, algunas versiones que<br>afectaban a la 12, 13, 14x, 15x, un<br>montón de versiones y con un impacto<br>bastante bastante bestia. Así que nada,<br>ahí lo tenéis. Todas las versiones<br>publicadas publicaron un montón, más de<br>700 versiones. O sea, una verdadera<br>salvajada lo que hicieron de publicar<br>versiones. Obviamente si instalaste una<br>de estas, estás bien [ __ ] Pero lo<br>peor es que no solo pilló el Arabel,<br>sino que también pilló Composer, PHP<br>Composer. Y en este caso el ataque de<br>estos ocho paquetes fue por culpa, no<br>por culpa, sino que utilizaron pack<br>Jason. El tema es que Composer utiliza<br>los packagons para ejecutar algunos<br>scripts y a partir de eso aquí podéis<br>ver los post install que estaba<br>utilizando para inyectar el script y<br>también poder infectarte. De hecho, aquí<br>podemos ver, a ver si lo encuentro,<br>githaub.com.<br>Esto es lo que estaba ejecutando. Vamos<br>a ver si lo podemos buscar por aquí. A<br>ver si hay alguno infectado todavía.<br>Aquí está. Aquí lo tenéis. ¿Ves este<br>tracking expos de Facebook? Aquí podéis<br>ver que lo tiene infectado. Todo esto<br>está infectado. Todo esto está<br>infectado. O sea, tú te descargas uno de<br>estos repositorios, cualquiera de estos<br>repositorios y ya está [ __ ] Está<br>[ __ ] directamente. Y a lo mejor es un<br>repositorio que, yo que sé. Mira, Travel<br>Guide. Pues en este Travel Guide, en<br>este package Jason, pues han metido aquí<br>este package Jason, han metido aquí este<br>post install y ahí está [ __ ]<br>Entonces, ¿podemos probarlo? Claro que<br>sí, Mateo. Puedes hacer un pmstol, pero<br>por suerte tenemos una buena noticia,<br>algo que me alegro ya que ya hace falta.<br>Todos estos ataques son siempre los<br>mismos, que es que con npm install se<br>ejecuta por defecto el post install y es<br>un rollo. Bueno, pues por suerte van a<br>hacer por fin hay un RFC, es un request<br>for changes para npm para que por fin<br>por defecto no se ejecuten scripts, los<br>preinstall, los install y los post<br>install y que tengas manualmente que<br>aprobar los scripts. Esto llegaría a npm<br>por fin, ¿vale? para que no se ejecute<br>automáticamente. ¿Qué es lo que ocurre<br>hoy? Y es que, como ya sabéis, tanto los<br>ataques de Shai Hulut, que es muy<br>parecido a lo que estamos viendo ahora,<br>como el ataque en Axios, en chalk, en<br>the back y un montón de paquetes que han<br>sido afectados, ha sido exactamente por<br>lo mismo y parece ser que va a llegar<br>eventualmente a MPM. Así que nada, vamos<br>a ver si por fin ocurre, porque ya hace<br>falta que esto pase para que por defecto<br>sea seguro en PM. O sea, es un vector de<br>ataque que hace demasiado tiempo que<br>están utilizando, que están que están<br>aprovechándose. Ya yo creo que es el<br>momento de dejar esto atrás. Y lo peor,<br>amigos, es que sé que mucha gente dice,<br>"No, es que esto es el ecosistema de<br>JavaScript, que no sé qué, no sé<br>cuánto." Bueno, pues tenemos no ataque<br>solo a PM, sino que también en PP, el<br>Python Package Index, el sitio donde<br>puedes encontrar paquetes de Python,<br>pues también tienes. Y también en<br>crates.Oio en el registro de paquetes de<br>Rust. En todos, en todos, en todos han<br>estado metiendo un montón de paquetes,<br>más de 384 paquetes, que lo que hacían<br>era robarte los cryptoallets, los las<br>llaves SSH, credenciales AWS, tokens de<br>GitHub y tal, o sea, tanto en el<br>registro de Rust, en el de Python y como<br>hemos visto también en el de PHP. O sea,<br>que al final tienes que tener cuidado.<br>Muchas veces lo hacen con paquetes que<br>se parecen a paquetes que son paquetes<br>conocidos. En otros pues paquetes<br>utilizando paquetes que son conocidos y<br>que les roban los tokens. Así que nada,<br>ha llegado a todos, a Python, a Rust y<br>también a MPM. Tengan mucho, pero mucho<br>cuidado. ¿Y cómo pueden tener cuidado?<br>Pues lo responde el Team PCP. El Team<br>PCP es este grupo de hackers que ha<br>estado hackeando un montón el ecosistema<br>de de JavaScript y de Python. y le han<br>hecho una entrevista donde le han<br>preguntado qué deberían hacer los<br>defensores para detener los ataques a la<br>cadena de suministro, que son todos los<br>ataques que han estado pasando estas<br>semanas. Y su consejo es fijar versiones<br>a un hash específico. Esto, por cierto,<br>es una cosa que yo os he comentado<br>muchas veces. Usar tokens de privilegio<br>mínimo. Esto es de cajón. En lugar de<br>utilizar un token que tenga eh<br>superpoderes, utilizar tokens que sean<br>muy específicos en concreto. Restringir<br>extensiones del IDE, de esto también os<br>comenté el otro día. Y luego<br>textualmente dijeron, "La empresa Socket<br>detectará el Marwell antes de que el<br>paquete siquiera llegue a tu máquina." Y<br>esto es porque Socket Security, esta<br>gente de aquí, son los que siempre están<br>detectando rápidamente el malware que<br>llega a un montón de ecosistemas. tienen<br>una herramienta que se llama SFW<br>que te puede ayudar a detectar este tipo<br>de paquetes para evitar que lleguen. No,<br>no vamos a poner esto en la página de<br>testimonios porque Feroz trabaja en<br>Socket Security, pero al mismo tiempo si<br>aún no estás utilizando Socket Security<br>para proteger tu cadena de suministro,<br>¿a qué estás esperando? Curioso que han<br>hecho una entrevista a los hackers y que<br>encima te den consejos para no<br>infectarte. Ya es el colmo del colmo.