• Saltar al contenido principal
  • Saltar a la barra lateral principal
  • Saltar al pie de página

Una al Día

Boletín de noticias de Seguridad Informática ofrecido por Hispasec

Usted está aquí: Inicio / General / "Horrible fallo" de seguridad criptográfico en Ruby

"Horrible fallo" de seguridad criptográfico en Ruby

7 noviembre, 2011 Por Hispasec 2 comentarios

Hace 3 años, se descubrió un gravísimo error en la implementación de OpenSSL de Debian que limitaba dramáticamente la entropía de las claves calculadas. Ahora, los programadores de Ruby han cometido un fallo muy similar que han calificado de «horrible».
El fallo en la implementación OpenSSL de Debian fue introducido en la versión 0.9.8c-1 de septiembre de 2006. Al intentar solucionar un código aparentemente incorrecto con la herramienta Valgrind, se eliminó por error una línea crucial para el sustento entrópico de OpenSSL que nada tenía que ver. En mayo de 2008 Luciano Bello, desarrollador de Debian, daba la voz de alarma. Todas las claves generadas durante ese intervalo de tiempo (unos 20 meses) se reducían aun conjunto muy limitado de posibilidades, que las hacía fácilmente deducibles a través de fuerza bruta.
A Ruby le ha pasado más o menos lo mismo, pero (al menos) durante mucho menos tiempo. Un error en la implementación de OpenSSL (en el cáluclo de claves con RSA, concretamente) hace que la entropía de las claves calculadas sea menor.
En la página del SVN de los desarrolladores se podía leer:

ext/openssl/ossl_pkey_rsa.c (rsa_generate): [SECURITY] Set RSA exponent value correctly.  Awful bug.  This bug caused exponent of generated key to be always ‘1’.  By default, and regardless of e given as a parameter. !!! Keys generated by this code (trunk after 2011-09-01) must be  re-generated !!! (ruby_1_9_3 is safe)

Lo que quiere decir que en el cálculo de las claves con el algoritmo RSA, se hace que un exponente sea siempre «1», independientemente del parámetro «e» usado. La línea concreta que ha causado el estropicio ha sido:
for (i = 0; i < (int)sizeof(exp); ++i) {
que, al ser corregida, se ha convertido en:
for (i = 0; i < (int)sizeof(exp) * 8; ++i) {
Ahora, los usuarios de Ruby que hayan usado esta implementación para el cálculo de claves durante estas últimas semanas, tendrán que revocar las antiguas y generar nuevas, además de comprobar toda la seguridad de cualquier sistema que hayan querido proteger mediante criptografía asimétrica.
Más información:
Revision 33633
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=33633
16/05/2008 Preguntas frecuentes sobre el problema critptográfico de Debian
http://www.hispasec.com/unaaldia/3492
Sergio de los santos
ssantos@hispasec.com
@ssantosv


Compártelo:

  • Twitter
  • Facebook
  • LinkedIn
  • Reddit
  • Telegram
  • WhatsApp

Publicaciones relacionadas

Publicado en: General

Interacciones con los lectores

Comentarios

  1. Victor Pacheco dice

    9 noviembre, 2011 a las 3:02 pm

    Estimados;

    Excelente artículo, pero ¿RSA no es criptografía asimétrica?

    Por favor revisar el parrafo final.

    Saludos!

    Responder
  2. Hispasec dice

    9 noviembre, 2011 a las 3:32 pm

    Corregido. Se trata de «a»simétrica, lógicamente. Gracias.

    Responder

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Buscador

Email Newsletter

Suscríbase y reciba Una al Día en su correo.

UADCAST

Populares de UAD

  • Ataque a la plataforma cripto deBridge Finance
  • Ciberataque a Cellebrite, publicados 4Tb de datos de la compañía
  • Slack reinicia todas las contraseñas tras un bug que exponía los hashes de las contraseñas de algunos usuarios
  • Reacción ante ciberataques... en vacaciones
  • Descubierta nueva vulnerabilidad en las cámaras IP de la conocida marca DAHUA

Entradas recientes

  • Ataque a la plataforma cripto deBridge Finance
  • Slack reinicia todas las contraseñas tras un bug que exponía los hashes de las contraseñas de algunos usuarios
  • Ciberataque a Cellebrite, publicados 4Tb de datos de la compañía
  • Reacción ante ciberataques… en vacaciones
  • Routers comerciales de Cisco afectados por varias vulnerabilidades.
  • Descubierta nueva vulnerabilidad en las cámaras IP de la conocida marca DAHUA
  • Los ataques de ransomware conocidos apenas supondrían una sexta parte del total
  • Correo electrónico
  • Facebook
  • LinkedIn
  • RSS
  • Twitter

Footer

Una al Día

Una Al Día nació a raíz de un inocente comentario en un canal IRC hace casi 19 años. A través de los archivos, un lector curioso puede ver cómo ha cambiado (o no) la seguridad de la información desde entonces.

Entradas recientes

  • Ataque a la plataforma cripto deBridge Finance
  • Slack reinicia todas las contraseñas tras un bug que exponía los hashes de las contraseñas de algunos usuarios
  • Ciberataque a Cellebrite, publicados 4Tb de datos de la compañía
  • Reacción ante ciberataques… en vacaciones
  • Routers comerciales de Cisco afectados por varias vulnerabilidades.

Etiquetas

0-day Android Apple Chrome Ciberataque cve D-Link Facebook Google iOS leak linux malware Microsoft Mozilla OpenSSL Oracle OS X Phishing PHP ransomware rce vulnerabilidad vulnerabilidades Windows WordPress

Copyright © 2022 · Hispasec