mitmproxy añade la opción --emudhra

Mitmproxy ha añadido una opción `--emudhra` que aprovecha claves intermedias de eMudhra recientemente expuestas y trivialmente débiles —una de las cuales era literalmente el número 4— para generar certificados HTTPS en los que todavía confían muchos dispositivos antiguos o sin parchear. Los comentaristas exploran cómo esto permite interceptar de forma transparente el tráfico de teléfonos Android antiguos, smart TVs y dispositivos IoT, al tiempo que destacan el fracaso más amplio de la revocación de certificados y las actualizaciones de los almacenes de confianza en plataformas como iOS y macOS. El incidente plantea preguntas sobre la gobernanza de las CA, posibles puertas traseras, el uso responsable de estas herramientas y si la humillación pública de una autoridad de certificación está justificada dada la gravedad del fallo.

Nueva función --emudhra en mitmproxy

  • La opción firma certificados TLS interceptados con una de las claves intermedias de eMudhra que ahora son públicas.
  • Está pensada como una forma práctica de probar qué dispositivos y aplicaciones siguen confiando en estas cadenas comprometidas.
  • Algunos sugieren integrar múltiples cadenas comprometidas (emSign y rutas AAA) para una cobertura más amplia; se enlaza una solicitud de incorporación.

Casos de uso: depuración, ingeniería inversa, jailbreak

  • Respuestas entusiastas sobre usar esto en:
    • Teléfonos Android antiguos (si las apps no hacen pinning o usan su propio almacén de confianza).
    • Smart TVs y dispositivos IoT para observar tráfico del proveedor, configuraciones o actualizaciones de firmware.
  • Flujos de mitm descritos: interceptar canales de configuración/firmware/anuncios que pueden habilitar modos de desarrollo o dar lugar a RCE.
  • Limitaciones: fijación de certificados, attestation, raíces privadas y dispositivos que ya se han actualizado o han revocado la confianza.

Detalles del compromiso de eMudhra

  • Ocho CA intermedias tenían claves privadas P-384 absurdamente débiles; se dieron ejemplos (4, 56, 66, etc.), equivalentes de hecho a 3–8 bits de entropía.
  • Algunas explicaciones indican que esto parece claves de 8 bits usadas por error donde se pretendían 384 bits.
  • Raíces implicadas: emSign ECC Root CA – G3 y una raíz AAA más antigua; se comentan cronologías sobre cuándo cada una está dentro o fuera de los principales almacenes de confianza.
  • Se señala que la búsqueda de claves de curva elíptica requiere un esfuerzo de ~2^(n/2), lo que hace que las claves EC “moderadamente débiles” sean factibles de fuerza bruta en GPU.

Comportamiento de revocación en plataformas (especialmente Apple)

  • Varios usuarios informan resultados inconsistentes en iOS, iPadOS y macOS al visitar sitios de prueba:
    • Algunos ven que todas las cadenas son bloqueadas.
    • Otros todavía ven 1–3 cadenas falsificadas aceptadas.
  • Las hipótesis incluyen despliegue gradual, fallos de búsqueda OCSP/CRL o timeouts; el comportamiento sigue sin estar claro.
  • La desconfianza manual de raíces en el Llavero de macOS bloquea de forma fiable las cadenas malas.

Ética, nomenclatura y temas de seguridad más amplios

  • Hay opiniones divididas sobre llamar a la opción --emudhra:
    • Algunos lo ven como una rendición de cuentas justa por un fallo grave de la CA.
    • Otros lo ven como echar más leña al fuego sobre personas que “nunca lo dejarán atrás”.
  • Varios comentarios presentan esto como “convertir un desastre de seguridad en una herramienta defensiva”, permitiendo a los usuarios inspeccionar y controlar dispositivos que los proveedores intentan bloquear.
  • Se mencionan propuestas para escanear sistemáticamente todas las CA en busca de claves igualmente débiles; una respuesta señala que este problema específico se encontró usando herramientas existentes y que no se observaron otras claves débiles en ese escaneo.