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