2 puntos por GN⁺ 2024-12-10 | 1 comentarios | Compartir por WhatsApp

Introducción

  • El ingeniero de seguridad RyotaK de Flatt Security Inc. descubrió una vulnerabilidad de seguridad en el proceso de actualización de firmware de OpenWrt.
  • OpenWrt es un firmware basado en Linux para dispositivos embebidos, especialmente popular en routers.

sysupgrade.openwrt.org

  • sysupgrade.openwrt.org es un servicio en línea que permite a los usuarios seleccionar los paquetes que desean para generar una nueva imagen de firmware.
  • Pueden surgir problemas de seguridad en el proceso de compilar imágenes con código fuente proporcionado por el usuario.

Inyección de comandos

  • El servidor sysupgrade.openwrt.org es un proyecto de código abierto, y su código fuente está alojado en openwrt/asu.
  • El servidor aísla el entorno de compilación usando contenedores, pero se descubrió una vulnerabilidad que permite ejecutar comandos arbitrarios mediante la entrada del usuario.

Colisión de SHA-256

  • En el proceso de generar el hash de una solicitud, el hash SHA-256 se usaba truncado a 12 caracteres.
  • Mediante una colisión de hash, era posible engañar al servidor para que devolviera artefactos de compilación incorrectos.

Fuerza bruta de SHA-256

  • Se implementó un programa para hacer fuerza bruta de hashes en GPU usando OpenCL, pero el rendimiento no fue bueno.
  • Se logró encontrar una colisión de 12 caracteres usando Hashcat.

Combinación de los dos ataques

  • El ataque se llevó a cabo encontrando una carga de inyección de comandos con el mismo hash que una lista legítima de paquetes.
  • Un atacante podía forzar a los usuarios a actualizar a un firmware malicioso.

Reporte del problema

  • Después de reportar el problema al equipo de OpenWrt, el servicio fue suspendido temporalmente y corregido rápidamente.
  • Se publicó un aviso para que los usuarios verificaran que sus dispositivos no hubieran sido comprometidos.

Conclusión

  • Fue posible comprometer el servicio sysupgrade.openwrt.org mediante inyección de comandos y una colisión de SHA-256.
  • Se agradece la rápida respuesta del equipo de OpenWrt y que informaran a los usuarios con prontitud.

Anuncio

  • Flatt Security ofrece servicios de evaluación de seguridad y pruebas de penetración, y ofrece un descuento especial para celebrar la actualización de su nueva página web.
  • También ofrece una potente herramienta de evaluación de seguridad llamada Shisho Cloud.

1 comentarios

 
GN⁺ 2024-12-10
Opiniones de Hacker News
  • La normalización de la ejecución de código ajustado a usuarios o dispositivos específicos no tiene posibilidad de verificación, y existe la vulnerabilidad de no poder confirmar que no se haya generado una compilación con backdoor

    • Es importante usar la misma compilación de xz-utils o compilaciones que permitan a los investigadores de seguridad verificar si hubo una intrusión en la cadena de suministro
    • Mozilla intentó registrar públicamente las compilaciones de lanzamiento en un árbol de Merkle, pero se detuvo
    • Google escribió una implementación para las compilaciones de firmware de Pixel, pero las apps distribuidas a través de Google Play Store podrían ser vulnerables
    • Apple es peor que Google porque no ofrece de forma transparente compilaciones ajustadas a cada dispositivo
    • El repositorio de ebuild de Gentoo es un ejemplo de transparencia binaria bien implementada y uno de los árboles de Merkle más grandes y distribuidos del software de código abierto
  • El uso de .join puede ser riesgoso

    • Mover caracteres entre campos adyacentes no cambia el hash
    • No compromete directamente el sistema, pero puede corromper la caché o inducir un downgrade
  • El código abierto no puede competir con el código cerrado de nivel empresarial

    • El problema se corrigió en 3 horas, evitando que los clientes esperaran 6 meses por un parche
    • No demandan a quien reportó el problema
    • No le dicen al usuario que tire un dispositivo "obsoleto" que sigue funcionando perfectamente
  • El término "cadena de suministro" no aparece en la publicación del blog

    • La "cadena de suministro" es un sistema logístico complejo que transforma materias primas en productos terminados y los distribuye al consumidor final
    • Hay dudas sobre si se trata de un sistema para proveedores comerciales de OpenWRT o para consumidores finales
  • Las herramientas de código abierto fueron adaptadas para un propósito distinto al original

    • Las grandes empresas presentarían demandas para resolver el problema y nunca publicarían el parche
    • OpenWRT, tras recibir la información, puso fuera de línea los servicios inseguros y distribuyó un parche 3 horas después de verificar el reporte
  • Da curiosidad cómo surgió la idea de truncar el hash

    • Cuesta entender qué propósito o ventaja tendría
  • Sorprende que se necesite tanta potencia de GPU para encontrar colisiones cortas

    • Hay dudas sobre si 40k al mes es un precio razonable para análisis de seguridad
    • Se pregunta si un buen investigador de seguridad puede ganar alrededor de 500k al año
  • Se nota de inmediato que la longitud del hash fue recortada a 12 caracteres de 64

  • Hay una pregunta sobre por qué el rendimiento de hashcat varía tanto según el orden de los argumentos

    • Se duda si escanea el patrón objetivo en cada ejecución
  • Es un gran texto sobre una lectura de código y un desarrollo de exploit muy ingeniosos