El envenenamiento por certificados públicos puede romper algunas implementaciones de OpenPGP

El envenenamiento por certificados públicos puede romper algunas implementaciones de OpenPGP
4.9 (98%) 10 votos

Las instalaciones de OpenPGP pueden detenerse y no verificar la autenticidad de los paquetes descargados ya que la red del servidor de claves se ha inundado con firmas falsas adicionales que certifican la propiedad de un certificado.

Las vulnerabilidades que permiten este tipo de ataque de envío de spam de certificados se conocen desde hace años y no se vislumbra una solución o mitigación oportuna, ni de la comunidad de la red del servidor de claves ni del Grupo de Trabajo OpenPGP.

El ataque afecta en varios grados las implementaciones del protocolo OpenPGP para firmar paquetes y para el cifrado, como GnuPG, SequoiaPGP y OpenPGP para JavaScript, lo que hace que ralenticen sus operaciones o incluso los rompan.

En la última semana de junio se descubrió un ataque de envío de certificados contra Robert J. Hansen ('rjh') y Daniel Kahn Gillmor ('dkg'), dos colaboradores de alto perfil en la comunidad OpenPGP involucrados en el GnuPG (GNU Privacy Guard o GPG) proyecto.

Como funciona el ataque

La confianza en los certificados OpenPGP se mantiene distribuyendo las claves públicas a través de un red de servidores de claves que permiten su descubrimiento.

Para certificar la propiedad de las claves, los usuarios pueden adjuntar una declaración (firma del certificado) para garantizar que una clave realmente pertenece al usuario que figura en la base de datos. Este modelo es susceptible de abuso porque cualquier usuario puede cargar certificados.

Recomendamos:  Después de WhatsApp, el software espía Pegasus ahora puede recopilar datos de Google, Apple y cuentas en la nube de Microsoft

La función de Keyservers es almacenar la información y sincronizarla, sin eliminar ningún dato; ni siquiera cuando se revocan los certificados. Este sistema fue creado en los años 90 para evitar que los adversarios reemplazaran los certificados públicos.

Un atacante puede agregar hasta 150,000 firmas para un certificado en la red del servidor de claves, el máximo que puede manejar. OpenPGP no tiene un límite para esto y GnuPG no puede procesar tantas firmas, Hansen explica.

Tanto Hansen como Gillmor hicieron que sus certificados se enviaran por correo basura tanto que sus claves públicas quedaron inutilizables con GnuPG, ya que tiene que validar todas las firmas. Hansen dijo que su certificado tenía cerca de 150,000 certificados adjuntos, mientras que la clave de Gillmor tenía alrededor de 55,000 firmas falsas que suman 17MB de datos.

"Cada vez que GnuPG tiene que lidiar con un certificado de correo no deseado de este tipo, GnuPG se detiene. No se detiene, per se, pero queda bloqueado durante tanto tiempo que es completamente inutilizable para todos los efectos".

Los efectos son bastante graves:

  • Si obtiene un certificado envenenado de la red del servidor de claves, interrumpirá su instalación de GnuPG.
  • Los certificados envenenados no se pueden eliminar de la red del servidor de claves.
  • El número de certificados deliberadamente envenenados, actualmente en unos pocos, solo aumentará con el tiempo.
  • No sabemos si los atacantes tienen la intención de envenenar otros certificados.
  • Ni siquiera sabemos el alcance del daño.

Hansen señala que cualquier certificado puede ser envenenado de esta manera y es probable que el ataque solo ocurra cuando se interrumpe la instalación de OpenPGP.

Los riesgos son significativos, considerando que GPG es una implementación completa y gratuita del estándar OpenPGP y goza de una amplia adopción entre los sistemas operativos basados ​​en Linux. Su paquete está presente en los repositorios de las principales distribuciones para garantizar una gestión segura del paquete y algunos de ellos lo convirtieron en el solución por defecto.

Recomendamos:  Los modelos de iPhone podrían ser un 3 por ciento más caros gracias a la guerra comercial entre Estados Unidos y China: analistas

"Si alguien envenena el certificado público de un proveedor y lo carga a la red del servidor de claves, la próxima vez que un administrador del sistema actualice su llavero de la red del servidor de claves, se descargará el certificado ahora envenenado del proveedor", dice Hansen.

Sin poder verificar si un paquete es auténtico, las actualizaciones ya no son posibles, dejando a los sistemas vulnerables a problemas de seguridad o rendimiento que un atacante podría aprovechar.

No todas las implementaciones de OpenPGP se ven afectadas en el mismo grado, dijo Hansen a BleepingComputer, pero es posible hacer algún daño dado que las computadoras tienen recursos limitados de hardware.

"El lugar en el que cada implementación cae y va en auge variará de una implementación a otra, pero mientras las computadoras solo tengan RAM y espacio de almacenamiento limitados, siempre puede hacer un certificado lo suficientemente grande como para acoplar un sistema. Las únicas preguntas son qué tan grande es un certificado tendrá que hacer y si bloqueará los servidores de claves SKS en el proceso ". – Robert J. Hansen

¿Cómo llegó a esto?

La inundación de certificados no es algo nuevo y los ataques se han registrado anteriormente, como el de La llave de Werner Koch en enero de 2018, que había sido spam con miles de firmas falsas (~5, 000). Koch también señaló que los certificados podrían conducir a una condición de denegación de servicio.

Hansen señala que los servidores de claves utilizan un algoritmo que puede realizar conciliaciones rápidas y confiar en un software llamado SKS, abreviatura de "Sincronización del servidor de claves". Ambos fueron desarrollados por Yaron Minsky en lenguaje de programación OCaml para su Ph.D. tesis.

Recomendamos:  Galaxy Note 10 producción afectada por la política de Corea del Sur-Japón.

Según Hansen, el problema es que no hay nadie en la comunidad de servidores de claves que pueda comprender el algoritmo subyacente a SKS y que tenga suficiente "experiencia en lenguajes de programación oscuros y costumbres de programación extrañas". Como resultado, una revisión seria en la base de código no es posible en este momento.

Soluciones a la mano

Gillmor tiene abordó el tema en el pasado y también propuso una conjunto de mitigaciones como rechazar paquetes grandes y forzar identificaciones de usuario estrictas.

"Esto es un desastre, y es un desastre que tardará mucho en llegar. Las partes del ecosistema OpenPGP que se basan en las suposiciones ingenuas del servidor de claves SKS ya no se pueden confiar, porque la gente está abusando deliberadamente de esos servidores de claves", escribe Gillmor en una enviar de los suyos.

"Necesitamos una programación significativamente más defensiva y un mejor conjunto de protocolos para pensar cómo y cuándo recuperar los certificados de OpenPGP", agregó.

Una mitigación a corto plazo es deshabilitar la actualización automática de los certificados. Sin embargo, si esto es necesario, un servidor de claves resistente al abuso es la solución y un servicio es el servicio keys.openpgp.org.

La sugerencia de Hansen para los usuarios de alto riesgo es dejar de usar la red del servidor de claves hasta que se pesen todas las opciones y se seleccione una solución.


Dejános tus Comentarios: