1 puntos por GN⁺ 2024-03-31 | Aún no hay comentarios. | Compartir por WhatsApp

Análisis del backdoor en xz

  • Filippo Valsorda observó a varias personas haciendo ingeniería inversa del backdoor en xz y compartió los resultados iniciales del análisis.
  • El hook de RSA_public_decrypt verifica una firma de una clave Ed448 fija sobre la clave de host del servidor y entrega el payload al sistema.
  • Esto no es una omisión de autenticación, sino ejecución remota de código (RCE), es de un solo uso y no puede reproducirse.

Ataque a la cadena de suministro

  • Este podría ser el ataque a la cadena de suministro mejor ejecutado descrito públicamente hasta ahora: malicioso, competente y ocurrido en el upstream oficial de una biblioteca ampliamente utilizada.
  • Parece que este ataque fue descubierto por accidente, y queda la duda de cuánto tiempo más habría tardado en detectarse de no haber sido así.

Extracción y verificación del payload

  • El payload se extrae del valor N (clave pública) pasado a RSA_public_decrypt, se revisa contra una huella simple y luego se descifra con una clave ChaCha20 fija antes de la verificación de la firma Ed448.

Función RSA_public_decrypt

  • RSA_public_decrypt realiza la función de verificación de firmas, aunque el nombre pueda sonar extraño.
  • La verificación de firmas RSA realiza la misma operación que el cifrado RSA.

Certificados OpenSSH y control del atacante

  • La clave pública de RSA_public_decrypt puede ser controlada por el atacante antes de la autenticación mediante el uso de certificados OpenSSH.
  • Los certificados OpenSSH incluyen la clave pública del firmante, y OpenSSH verifica la firma durante el parseo.

Script para enviar una clave pública personalizada al sistema con backdoor

  • Mediante un script escrito por Keegan Ryan, es posible usar la función hook para insertar una clave pública personalizada en el certificado y hacerla llegar al sistema con backdoor.

Mecanismos de seguridad del backdoor

  • El backdoor vuelve a su funcionamiento normal si el payload es incorrecto o si no se verifica la firma de la clave del atacante.
  • Esto significa que, salvo que se encuentre un bug, no es posible escribir un escáner confiable y reutilizable a través de la red.

Opinión de GN⁺

  • Este tipo de backdoors representa una amenaza grave para la seguridad de los sistemas, y su impacto puede ser aún mayor cuando se inserta en bibliotecas de uso extendido.
  • Que el ataque haya sido descubierto por accidente deja en evidencia debilidades en los sistemas de seguridad y subraya la importancia del monitoreo y las auditorías continuas.
  • Este artículo puede ayudar a crear mayor conciencia sobre la seguridad de la cadena de suministro de software y servir de alerta para desarrolladores y administradores de sistemas.
  • Para responder a amenazas de seguridad como este backdoor, conviene usar herramientas de seguridad de código abierto o escáneres de vulnerabilidades. Por ejemplo, herramientas como OWASP ZAP o Nessus pueden ser útiles.
  • Al adoptar nuevas tecnologías u open source, es importante revisar a fondo los aspectos de seguridad y tomar medidas adecuadas para proteger los sistemas frente a este tipo de ataques.

Aún no hay comentarios.

Aún no hay comentarios.