• =?iso-8859-1?q?una-al-dia_=2831/12/2008=29_Investigadores_consiguen_hac

    From noticias@hispasec.com@2:341/201.99 to All on Wed Dec 31 12:40:12 2008
    ---------------------------FELICITACION-------------------------

    El equipo de Hispasec Sistemas desea a todos los lectores
    de una-al-día un feliz y próspero año 2009

    Hispasec Sistemas
    http://www.hispasec.com

    ---------------------------FELICITACION-------------------------

    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1

    -------------------------------------------------------------------
    Hispasec - una-al-día 31/12/2008
    Todos los días una noticia de seguridad www.hispasec.com
    -------------------------------------------------------------------

    Investigadores consiguen hacer que cualquier certificado SSL parezca válido
    ---------------------------------------------------------------------------


    Antes de que termine este año de catástrofes en la Red, un grupo
    de investigadores consiguen asestar otro golpe a una de las
    infraestructuras de Internet en la que se confía: la PKI
    (infraestructura de claves públicas). Aunque el impacto real será
    mínimo, se ha conseguido demostrar empíricamente que es posible
    falsificar cualquier certificado SSL y por tanto, que los navegadores
    den como válidos certificados falsos que harían aparecer páginas
    fraudulentas como legítimas.

    Esta es una de esas noticias que se presta a cierta exageración en los
    medios, al igual que pasó con la supuesta ruptura del WPA con TKIP o con
    el ataque sockstress, ambas de solo hace unas semanas. En realidad solo
    se ha demostrado algo que se suponía teórico (que no es poco). El SSL
    no está roto, el problema real reside en cómo lo utilizan algunas
    autoridades certificadoras "anticuadas", o sea, en un modelo de PKI
    concreto. Por último, destacar que el hecho de que los investigadores
    hayan usado la potencia de 200 consolas PlayStation3 para conseguir su objetivo, es irrelevante, solo desvía la atención del problema aunque
    añada cierto "glamour".

    En realidad, las raíces reales del problema son dos: las conocidas
    colisiones del algoritmo MD5, y que ciertas autoridades certificadores
    todavía lo usen. Vamos a realizar una pequeña introducción sobre los certificados y luego explicar cómo lo han conseguido exactamente y las consecuencias.

    SSL y los certificados

    SSL es un protocolo que sirve para cifrar las comunicaciones punto a
    punto, por ejemplo entre un navegador y un servidor web o una conexión
    SSH. En una conexión SSH no es necesario autenticar al servidor remoto habitualmente, pero sí cuando un usuario se conecta a una página web.
    ¿Estoy realmente en la web de mi banco? Para eso se inventaron los certificados, que son una especie de "documentos de identidad", DNI, del servidor. Ahí aparecen (respetando el estándar X.509) datos como el
    nombre de dominio para el que está emitido, fechas de validez, clave
    pública del sitio y sobre todo, qué autoridad le da validez a ese
    certificado. Si en el caso de los carnés de identidad la validez la
    certifica el Estado, en Internet existen un buen número de autoridades certificadores (CA) que validan esa información. Cuando se crea una
    clave pública que va a servir para certificar un sitio web, el dueño del
    sitio debe enviar esa clave junto con sus datos a una autoridad para que
    todo junto se convierta en un certificado y se garantice que pertenece a
    esa persona o entidad.

    Los certificados y "las firmas"

    Las CA calculan el hash (una especie de firma-resumen) de todo el
    certificado (recordemos: nombre de dominio, fechas, clave pública...), y
    este valor se añade al propio certificado. Sería como su número personal
    e intransferible que lo incluye todo. Si se altera algún valor, este
    dato cambia por completo. Luego además "firman" este hash (y solo el
    hash) con su propia clave privada, de forma que ahora el certificado,
    tiene un "número de identificación", firmado por alguien de confianza y supuestamente único, además asociado de forma indivisible a sus datos.
    Este paso sería como "lacrar" el certificado en un sitio oficial. Como
    veremos, aquí es donde las CA cometen el error técnico.

    Como existen muchas CA, los navegadores por defecto traen ya por defecto
    una lista de certificados raíz que sirven para comprobar de forma
    automática que la ruta de validez del certificado es válida, o sea, que
    está firmado por alguien en quien se confía y la firma es válida.

    Si existe algún fallo durante esta comprobación automática, si por
    ejemplo se crea un certificado que dice ser de un sitio pero no lo es y
    no está validado, el hash no casará y el navegador se quejará mostrando
    una alerta. Confiamos en los hashes firmados porque se supone que es muy complejo que dos hashes coincidan si son creados a partir de datos
    diferentes, esto es, que colisionen.

    "Las firmas" y el MD5

    Cuando hablamos de hash o firma criptográfica, todavía se acude al MD5
    como referente, aunque esté obsoleto y desaconsejado. Muchas CA han
    usado y están usando MD5 para calcular el hash del certificado y firmar
    esto con su clave privada. Otras muchas autoridades, la mayoría, están
    ya valiéndose de SHA1, un algoritmo de hash mucho más robusto y al que
    todavía no se le han encontrado serios problemas. MD5 por el contrario,
    es rechazado porque la potencia de computación actual hace que sea
    sencillo encontrar colisiones.

    Esto es precisamente lo que han expuesto varios investigadores
    internacionales en Berlín el día 30 de diciembre. Han creado
    certificados con identidades usurpadas, pero validados por CA. Lo han conseguido con fuerza bruta, forzando la colisión de la firma MD5. Esto
    puede permitir crear sitios falsos con certificados que sean válidos, o
    de forma práctica: phishings perfectos.

    Cómo lo han hecho

    Alegóricamente, lo que han conseguido es recortar un sello del Estado
    que da validez a un carné cualquiera y pegarlo en un carné falsificado
    de otro individuo al que se pretende imitar. El mérito del
    descubrimiento es que parezca real aunque los sellos son único y están
    creados a partir de los datos de todo el carné, además de lacrados por
    una autoridad.

    Por ejemplo, si se quiere falsificar el certificado de hispasec.com, los investigadores crearían dos certificados, uno que falsificase los datos
    de Hispasec y otro real con cualquier información. El truco es que han conseguido con fuerza bruta, que ambos resulten en un mismo hash
    criptográfíco, en el mismo MD5. Entonces enviarían el real (con
    cualquier información no necesariamente relacionada con Hispasec) a una
    CA que todavía use MD5 para validar certificados. La CA lo firmaría y lo validaría con total normalidad. Luego los atacantes dan el cambiazo: les bastaría con modificar el hash del certificado que falsifica los datos
    de Hispasec con el hash del otro certificado, validado ya por una CA.
    Como ambos resultan en el mismo hash aunque contengan distintos datos,
    todo encaja, y el certificado falso seguiría siendo matemáticamente
    válido a todos los efectos.

    Qué pasa ahora

    No mucho. La tecnología SSL es muy útil, y ahora se le ha encontrado
    un pequeño hueco que hace que en teoría, podamos dudar de todos los certificados de autoridades certificadoras que se basen en MD5, pero son
    las que menos. En cualquier caso, el problema de base es que el usuario
    medio no sabe qué es SSL, ni qué significa un certificado, y mucho menos interpretarlo. Como mucho, sabe que si está en un sitio https, o el
    candado del navegador está activo, entonces el sitio es "bueno". Pero ya sabemos que para conseguir un candado en el navegador o incluso un
    certificado no válido (aunque el navegador se queje, el usuario no
    entenderá la advertencia y dirá que "sí") no es necesaria tanta
    complejidad. Un atacante puede comprar certificados baratos que validen
    un nombre falso (banc0.com), el navegador ni se quejará y el usuario
    tampoco entenderá qué está pasando.

    SSL es técnicamente genial pero está resultado una tecnología
    "socialmente" fallida. No es entendida por el usuario y ese es el mayor
    de sus problemas. Con este golpe técnico la infraestructura de PKI se ha demostrado que incluso a los expertos se les podría engañar con los certificados, pero también es cierto que los que entienden la tecnología
    pocas veces se detienen a cuestionarse un certificado, comprobando la
    ruta de certificación y demás información proporcionada por el sitio supuestamente seguro. SSL arrastra la lacra del desconocimiento por
    parte de la mayoría de los usuarios. Si por ejemplo el DNI es aceptado nacionalmente como documento que valida una identidad, un certificado
    SSL está lejos de ser aceptado por el usuario medio de Internet como
    documento que garantice nada.

    También hay que tener en cuenta que pocas CA usan hoy día MD5, y que
    tras esta llamada de atención es de esperar que sean todavía menos en el futuro. Para los que posean certificados, es aconsejable que comprueben
    que la CA que les ha dado validez usa o no MD5.

    En definitiva, esto es grave sobre todo para https, pero nada
    catastrófico va a pasar a efectos prácticos para el usuario medio. Al
    menos no más grave de lo que ya está ocurriendo, teniendo en cuenta la credibilidad de la que todavía gozan burdas copias de páginas web que
    simulan ser bancos.

    Todos los grandes fabricantes (que usen VPN basadas en SSL o implementen navegadores) han publicado avisos explicando el problema.

    Opina sobre esta noticia:
    http://www.hispasec.com/unaaldia/3721/comentar

    Más información:

    MD5 considered harmful today
    http://www.win.tue.nl/hashclash/rogue-ca/

    17/06/2008 Mitos y leyendas: "Compruebe el candadito del navegador para
    estar seguro" II (Troyanos)
    http://www.hispasec.com/unaaldia/3524

    03/06/2008 Mitos y leyendas: "Compruebe el candadito del navegador para
    estar seguro" I (Phishing)
    http://www.hispasec.com/unaaldia/3510


    Sergio de los Santos
    ssantos@hispasec.com


    Tal día como hoy:
    -----------------

    31/12/2007: Resumen de seguridad de 2007 (y III)
    http://www.hispasec.com/unaaldia/3355

    31/12/2006: Resumen de seguridad de 2006 (y III)
    http://www.hispasec.com/unaaldia/2990

    31/12/2005: Desbordamiento de búfer y escalada de privilegios en Gentoo Linux
    http://www.hispasec.com/unaaldia/2625

    31/12/2004: Vulnerabilidades en Moodle
    http://www.hispasec.com/unaaldia/2260

    31/12/2003: Parche de actualización de Microsoft Exchange 5.5 CDO
    http://www.hispasec.com/unaaldia/1893

    31/12/2002: Problemas de denegación de servicio en diversos productos Cisco
    http://www.hispasec.com/unaaldia/1528

    31/12/2001: Diversos problemas de denegación de servicio en Oracle9iAS Web Cache
    http://www.hispasec.com/unaaldia/1163

    31/12/2000: Creación insegura de ficheros temporales en el "patchadd" de Solaris
    http://www.hispasec.com/unaaldia/798

    31/12/1999: Grave error de diseño en el modelo de seguridad SCO UnixWare 7
    http://www.hispasec.com/unaaldia/430

    31/12/1998: Adios 1998, Feliz 1999
    http://www.hispasec.com/unaaldia/65


    -------------------------------------------------------------------
    Claves PGP en http://www.hispasec.com/directorio/hispasec
    -------------------------------------------------------------------
    Bajas: mailto:unaaldia-request@hispasec.com?subject=unsubscribe
    Altas: mailto:unaaldia-request@hispasec.com?subject=subscribe
    -------------------------------------------------------------------
    (c) 2008 Hispasec http://www.hispasec.com/copyright
    -------------------------------------------------------------------

    --- SoupGate-DOS v1.05
    * Origin: Pasarela FTN-INet telnet://pucelabbs.dyndns.org:4000 (2:341/201.99)