18 jun 2008

La política de full-disclosure ante las vulnerabilidades

El pasado martes 13 de mayo de 2008, se anunció un grave fallo de seguridad que afectaba a todas las claves criptográficas RSA y DSA generadas en sistemas Linux Debian mediante OpenSSL en los últimos dos años. Esto significa que están afectados todos los certificados y claves públicas de multitud de servicios, como por ejemplo, OpenSSH, OpenSSL, telnetd-SSL, ftpd-SSL, OpenVPN y muchos más. El fallo consiste básicamente en que las claves generadas son predecibles, debido a una falta de aleatoriedad que limita el espacio de las claves al número de proceso (32.768 combinaciones).

En román paladino, lo que quiere decir todo esto, entre otras cosas, es que pueden verse comprometidas (atacadas, vulneradas) muchísimas máquinas en Internet, ya que los atacantes podrían acceder como root (superusuario del sistema) o como cualquier otro usuario a todas aquellas máquinas que permitan acceso remoto al sistema mediante claves o certificados (sin usar contraseñas), siempre que esas claves hayan sido generadas en un sistema Linux Debian mediante openSSL (que, con seguridad, son muchísimas). Asimismo, pueden falsearse firmas electrónicas y pueden descifrarse ficheros encriptados que hayan utilizado este tipo de claves comprometidas.

No es mi intención tratar en este post los detalles técnicos de dicho fallo, pero si el lector desea profundizar en ello, puede hacerlo en los siguientes enlaces: aviso en la página de debian, full-disclosure: seclist.org y anuncio en metasploit. En cualquier caso, después de analizar la información publicada, es indudable que estamos ante uno de los fallos de seguridad más graves de los útimos años. El objetivo de este post es hacer una reflexión sobre las políticas de full-disclosure o divulgación completa y detallada de las vulnerabilidades.

Para los que no lo sepan, una política full-disclosure es aquella en la que, una vez detectado o identificado un problema de seguridad, se deben facilitar y revelar todos los hechos y detalles del problema. De hecho, lo que suelen hacer normalmente quienes detectan el problema, es avisar al responsable del software para que solucione el problema y después facilitar toda la información a "todo el mundo". La razón de esta política es obvia; si no se publica "a bombo y platillo" un fallo de seguridad, los afectados no sabrán que lo padecen y no tomarán las medidas oportunas para solucionarlo. Estarán en manos del desarrollador del software, que podrá tardar más o menos en corrgirlo, si es que lo hace. La contrapartida de esta polítca es que, al publicar todos los detalles, mucha gente podía utilizar dicho conocimiento del problema para aprovecharse de aquellos sistemas vulnerables que aún no han sido corregidos. Difícil dilema pero, sin duda, yo me inclino por defender la política de full-disclosure.

Pensemos en el caso del grave fallo de seguridad de OpenSSL anunciado esta semana. Si no se hubiese aplicado una politica de full-disclosure, en el mejor de los casos, los desarrolladores del software habrían publicado una actualización, normalmente con escasa o nula información del fallo corregido. Al no ser conscientes los usuarios de la existencia del fallo, no serían conscientes del peligro al que se exponen y por tanto, no podrían calibrar la importancia y el impacto del problema en sus sistemas. Del otro modo, es posible que tarden mucho más de lo debido en corregir el problema, pero aunque lo hagan, no serían conscientes de que todas las claves generadas en los últimos dos años son vulnerables, así que, en general, seguirían padeciendo enormes riesgos de seguridad.

Podría establecerse un paralelismo con lo que ocurre en un accidente químico, biológico o nuclear. Si inmediatamente después del accidente se facilita toda la información posible, mucha gente tomará las decisiones correctas y minimizará los riesgos, otros entrarán en pánico y cometerán errores. Lo importante es que la mayoría se enterará a tiempo del problema y dependerá de si mismo para salvarse, mientras que si no se facilita la información, por mucho que se intente solucionar el problema, mucha gente padecerá las consecuencias ya que desconocen lo que pueden y lo que no pueden hacer.

En definitiva, una política de full-disclosure, aunque tiene puntos negativos (daños colaterales), generalmente es mejor que una política de no-información ya que ésta última deja expuesto a todo el mundo al problema que tarde o temprano será descubierto y explotado por alguien contra una mayoría desconocedora del asunto y no preparada para afrontarlo.

Fuente: http://www.inteco.es/blog/Seguridad/Observatorio/BlogSeguridad/Articulo_y_comentarios?postAction=getDetail&articleID=1000127119

Suscríbete a nuestro Boletín

0 Comments:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!