Fundamentos sobre Certificados Digitales.

En esta entrada, dentro de nuestra serie dedicada a Certificados Digitales, nos vamos a centrar en la estructura e implementación de los certificados.

Creo que antes de comenzar es preciso realizar una aclaración, sé que hemos estado hablando continuamente de certificados, la tecnología criptográfica que emplean, la gestión que realizan de ellos las autoridades de certificación, los dispositivos hardware para gestión de claves criptográficas, etc. Por otra parte, también hemos hablado de el establecimiento, normativa y responsabilidades de una CA, así como de los servicios que prestan. Sin embargo, aún no hemos hablado de la implementación de los certificados, es decir, como se construyen y que formatos estructurales tienen. Este punto es el objeto de la presente entrada.

Para definir y establecer el contenido y estructura que debe tener un certificado digital se establece el estándar conocido normalmente como X.509, aunque su nombre completo es “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile”, definido por el “Network Working Group” y definido en la RFC 5280. El estándar surgió originalmente en el año 1988, aunque la última versión vigente, X.509 v3, se aprobó en 2008.

La principal motivación de la definición de este estándar es la implementación de una Infraestructura de Clave Pública (en adelante PKI). Este hecho es fundamental, y es lo que distingue inequívocamente una clave criptográfica de un certificado digital. Las claves definidas por RSA únicamente son secuencias que permiten realizar el cifrado y descifrado de información, sin embargo el estándar X.509 establece parámetros para identificar al propietario del certificado, a su emisor (la autoridad de Certificación), fechas de emisión, caducidad, etc. Lo que nos lleva a pensar que sin este estándar nos resultaría imposible usar los certificados para, por ejemplo, firmar un documento electrónico.

Adicionalmente, este estándar también marca las directivas para la implementación de los mecanismos de validación que permiten a los usuarios de los certificados comprobar su validez en cualquier momento. Además, considera los conceptos de validación, rutas de certificación, revocación, etc. Esto nos da a entender que sin la definición de este estándar sería imposible establecer y operar una PKI.

Contenido completo en fuente originalSecurity Art Work I y II

Seria vulnerabilidad en biblioteca OpenSSL #Heartbleed

En las últimas horas se han disparado las alertas por las implicancias de seguridad que provoca una vulnerabilidad que tiene tenía la librería criptografica OpenSSL, apodada#Heartbleed. Esta vulnerabilidad ha sido descubierta por Neel Mehta del equipo de Google Security, y el CVE reservado (CVE-2014-0160) fue creado el 3 de Diciembre de 2013.

El sitio web http://heartbleed.com/ creado a tal efecto por la empresa finesa Codenomicon defensic reune valiosa información respecto de esta vulnerabilidad.

El bug Heartbleed

El bug Heartbleed es una seria vulnerabilidad en la popular librería de software criptográfico OpenSSL. Esta debilidad permite robar información protegida, en condiciones normales, por el cifrado SSL/TLS utilizado para asegurar Internet. SSL/TLS proveen seguridad a las comunicaciones y privacidad en Internet para las aplicaciones como la web, correo electrónico, la mensajería instantánea y algunas redes privadas virtuales (VPNs).

El bug Heartbleed le permite a cualquiera en Internet leer la memoria de los sistemas protegidos por las versiones vulnerables del software OpenSSL. Esto compromete las claves pprivadas usadas para identificar a los proveedores de servicios y para cifrar el tráfico, los nombres y contraseñas de usuarios y el contenido. Esto permite a los atacantes fisgonear las comunicaciones, robar datos directamente de los servicios y usuarios, y suplantar a los servicios y a los usuarios.

En la práctica ¿qué permite?

Hemos probado algunos de nuestros propios servicios desde la perpectiva del atacante. No atacamos a nosotros mismos desde el exterior, sin dejar rastros. Sin utilizar ninguna información privilegiada ni credenciales, fuimos capaces de robarnos las claves privadas usadas para nuestros certificados X.509, nombres de usuarios y contraseñas, mensajes instantáneos, correos electrónicos e información crítica de negocios y comunicaciones.

¿Cómo detener la fuga(de información)?

En tanto se use la versión vulnerable de OpenSSL, ésta puede ser abusada. La versión reparada de OpenSSL ha sido publicada y ahora debe ser instalada. Los proveedores y distribuidores de sistemas operativos, proveedores de appliances, proveedores de software independientes deben adoptar el arreglo y notificar a sus usuarios. Los proveedores de servicio y usuarios deben instalar el arreglo en cuanto esté disponible para sus sistemas operativos, equipos de red y software que utilicen.

Los profesionales de seguridad están alertando de las implicancias prácticas mencionando por ejemplo que muchos sitios web protegidos con SSL “esos con direcciones https://” padecen de esta vulnerabilidad. Indican que a los efectos prácticos uno debiera considerar que su usuario y contraseña ha sido comprometido.

También conexiones VPN que usen SSL, mensajería instantanea que utilicen la librería OpenSSL están afectados hasta tanto se actualice el software con la versión reparada de OpenSSL. Lo mismo dice que pasa con Tor:

Aunque más tarde anunciaron que fue reparado pero indican tomar medidas:

Otros ven tan grande el problema que proponen un cambio de vida:

Los sistemas operativos empiezan a anunciar las versiones reparadas:

Es mucha la información que se puede encontrar en Twitter y en http://heartbleed.com/sobre esta vulnerabilidad y las soluciones que van llegando.

Comprobando un sitio web

Un consultor independiente de criptografía, italiano, Filippo Valsorda, preparó una página para comprobar si un servicio web es vulnerable a esta falla de seguridad #heartbleed, y asi entonces uno puede saber si puede o no confiar en que el tráfico (nuestro usuario y contraseña y otros datos) está protegido de forma apropiada, o no.

Durante esta mañana en Segu-Info comprobabamos varios sitios web bancarios, de tarjetas de crédito, de registro de dominio y algún otro de Argentina con estos resultados:

  • All good, wsec01.bancogalicia.com.ar seems not affected!
  • All good, www.pcbanking2g.hsbc.com.ar seems not affected!
  • www.bbvafrances.com.ar Uh-oh, something went wrong.
  • All good, inetserv.visa.com.ar seems not affected!
  • All good, global.americanexpress.com seems not affected!
  • All good, www1.masterconsultas.com.ar seems not affected!
  • All good, www.bancoprovincia.bancainternet.com.ar seems not affected!
  • All good, nic.ar seems not affected!
  • All good, webmail.ec.gba.gov.ar seems not affected!
  • All good, mecontuc.gov.ar seems not affected!

Afortunadamente todos son seguros de acuerdo a el test de la páginahttp://filippo.io/Heartbleed/

No fue inicialmente así el caso para el correo Yahoo! y de Hotmail / Outlook que aparecían vulnerables. Aunque al mediodía ya se reportaban como no afectados:

  • All good, mail.yahoo.com seems not affected!
  • All good, login.live.com seems not affected!
  • Otros sitio populares como Gmail, Facebook, Twitter, Linkedin también son seguros.

Una de las cuestiones que plantea esta vulnerabilidad es la necesidad de asegurarse que las claves privadas de los certificados SSL no hayan sido comprometidas. En ese caso si no se regenera el certificado, cabe la posibilidad que un atacante pueda continuar leyendo el trafico cifrado SSL, si hubiera obtenido las claves privadas mientras la vulnerabilidad estuvo activa.

Impacto tras explotación

La información que se podría obtener sería la siguiente:

  1. Claves privadas
  2. Usuarios y contraseñas utilizadas en servicios vulnerables
  3. Información sensible utilizada por servicios vulnerables
  4. Direcciones de memoria y su contenido que podría permitir evadir mecanismos de mitigación ante exploits.

¿Qué páginas se encuentran afectadas?

Unas cuantas… y muchas.

Se ha puesto a disposición de todos un listado del TOP 1000portales web según el ranking de ALEXA, mostrando si son vulnerables o no. El listado corresponde con el estado de dichas webs durante la tarde de ayer cuando fue confeccionada tras la ejecución de la herramienta de comprobación de manera masiva.
Shodan también han publicado una lista de dispositivos vulnerables.

¿Mi servidor es vulnerable?

Rápidamente, comenzaron a publicarse herramientas que permitían tanto comprobar si un servidor es vulnerable, tanto como para obtener la información tras su explotación(aplicación en Python) o de forma masiva.
Si se ejecuta esta aplicación se verá una salida como muestra la imagen, demostrando que el servidor es vulnerable.

Se puede conocer qué versión se tiene instalada y si la misma es vulnerable, con el siguiente:
openssl s_client -connect example.com:443 -tlsextdebug 2>&1| grep 'server extension "heartbeat" (id=15)' || echo safe

El miércoles se implementó el módulo de esta vulnerabilidad para Metasploit. En GitHub se encuentra el módulo preparado para descargarse y probarse. El módulo es de tipo Auxiliary, por lo que recordaros que se asume como funcionalidad extra, no relacionada con la explotación de vulnerabilidades, pero útiles en cualquier pentesting.

Hay otras entradas que muestran más códigos que se pueden utilizar:

NMap también ha publicado un módulo para el análisis de múltiples servidores y rangos completos de direcciones IP.

  1.  Instalar la última version de Nmap
  2. Descarga el script https://svn.nmap.org/nmap/scripts/ssl-heartbleed.nse  a la carpeta“scripts” de Nmap
  3. Descargar la libreria https://svn.nmap.org/nmap/nselib/tls.lua a la carpeta “nselib” de Nmap
  4. Ejecutar: nmap –script-updatedb

Para comprobarlo en una URL determinada:
nmap -vv -p 443 --script ssl-heartbleed dominio.com -oN resultado.txt

Para comprobar un rango:
nmap -vv -p 443 --script ssl-heartbleed 000.000.000-000.* -oN rango.txt

Raúl Batista de la Redacción de Segu-Info

Creative Commons License
Creative Commons Atribución-No Comercial-Compartir Obras Derivadas Igual 2.5

The Heartbleed bug, el agujero en el corazón desangrado.

Existe un nuevo tema en seguridad en los media del que mucha gentes está preocupada. Se conoce como “vulnerabilidad Heartbleed”. Hay mucha confusión en torno a ella, sobre todo en lo relacionado con lo que a la mayoría de la gente debería preocuparle y hacer al respecto. Para ayudar a entender lo que está pasando y no alarmar, el equipo deTrend Micro ofrece respuesta a algunas de las preguntas más frecuentes en torno a esta vulnerabilidad.

¿Qué es la vulnerabilidad Heartbleed?
La vulnerabilidad Heartbleed es un problema que afecta a SSL, la tecnología que ayuda a proteger la información en Internet. Usted, probablemente, estará más familiarizado con SSL cuando realiza compras online o incluye información confidencial en una página web y ve el “candado” que le dice que su información está protegida.

¿Qué hay de malo con SSL?
El problema concreto es que hay un fallo que afecta a algunos de los sitios web que utilizan SSL. Este defecto puede hacer que sea posible que una persona tenga acceso a esa información que SSL está protegiendo.

¿Qué supone esto para mí?
Esto significa que la información que usted pensó que estaba siendo protegida por SSL quizá no esté tan segura como usted (o alguien) piensa.  Información sensible como contraseñas, números de tarjetas de crédito u otra información personal podría haber estado expuesta a terceros sin su conocimiento.

¿Cómo puedo resolver esto?
No  puede. En este caso, esto no es un problema con su equipo informático o dispositivo. Es un problema que los sitios web tienen que cuidar arreglando SSL en sus páginas.

¿Puedo saber si un sitio tiene este problema?
Por desgracia, no. Esto es algo que sólo las personas que dirigen el sitio web en cuestión pueden saber con seguridad.

¿Hay algo que pueda hacer para protegerme?
Mientras que usted no pueda protegerse de este tema específico, puede tomar algunas medidas para protegerse de los efectos que este tema pueda ocasionar.

En concreto, puede hacer lo siguiente:

  • Asegúrese de que está ejecutando el software de seguridad actualizado en todos sus sistemas.
  • Considere      la posibilidad de cambiar sus contraseñas en la cuentas importantes como      su cuenta de correo web o cuentas bancarias      online.
  • Esté      atento a cualquier actividad sospechosa de cualquier tipo en sus cuentas      online y  bancarias.
  • Cambie      las contraseñas de inmediato en los sitios en los que recomendamos      hacerlo.

¿Hay algo más que debería saber sobre esto?

Esta es una situación nueva y en estos casos hay siempre mucha confusión e información contradictoria. Lo importante es no entrar en pánico, seguir los pasos que a continuación señalamos, dejar trabajar a la gente que puede solucionar esto, y seguir las instrucciones adicionales que los expertos vayan dando.
Más información relacionada con el análisis de la vulnerabilidad Heartbleed OpenSSL, aquí.

Si desea más información sobre este tema, visite:  http://blog.trendmicro.com/heartbleed-vulnerability/