viernes, 2 de enero de 2009

Un equipo de seguridad y academicos ha logrado romper el cifrado MD5 usado en SSL con 200 consolas PS3



Como lo oyen, un grupo de investigadores de seguridad y académicos ha logrado romper este cifrado utilizado para conexiones seguras.


El equipo se dedicó a crear certificados de autoridad rogue y usarlos empleando certificados ssl validos para cualquier sitio que ellos quieran. El usuario no tendría ningún indicio de que si sitio con conexión https fué objeto de seguimiento o modificación alguna. Ellos hicieron su trabajo público en el 25 Chaos Communication Congress en Berlín.

Este ataque es posible debido a una bandera en MD5. MD5 es un algoritmo de hash, donde cada archivo tiene un hash unico. En 2004, un equipo de seguridad chino logró demostrar que creando dos diferentes archivos, se podía lograr obtener el mismo hash. En 2007, otro equipo demostró teóricamente el funcionamiento de las colisiones en el cifrado MD5. Dicho equipo se enfocó sobre los certificados SSL firmados con MD5 para su explotación.


El primer paso fué hacer varios escaneos para conocer el certificado de autoridad (certificate authorities - ca) donde utilizaran certificados firmados con MD5. Ellos recolectaron 30 mil certificados de certificados de autoridad firmados sobre Firefox. 9000 certificados de autoridad estaban firmados con MD5. El 97% de estos certificados de autoridad provenian de rapidssl.


Teniando seleccionados sus objetivos, el equipo necesitó generar sus certificados falsos para transferir la firma. Ellos emplearon el poder de procesamiento de 200 PlayStation 3 para poder obtener el trabajo de una manera más económica para esta tarea. Esto es el equivalente a 8000 cpu normales. Estas tareas tomaron de 1 a 2 dias aproximadamente. La parte difícil era conocer el contenido del certificado emitido por Rapidssl.


Ellos necesitaron predecir dos variables: El número de seria y las fecha y hora. Donde todos los números de seria de rapidssl eran secuenciales. De las pruebas, se dieron cuenta que cada seis segundos de haber firmado la orden de rapidssl era reconocida. Conocer estos dos factores fue fundamental para generar un certificado y posteriormente obtener el certificado exacto que buscaban.


Ellos compraron certificados para avanzar el número de serie y después volver a comprar en el tiempo exacto del cálculo.


El certificado fue emitido a su dominio, pero ya que ellos controlaban el contenido, cambiaron las banderas para que se dieran un certificado de autoridad intermedia. Que les dio la autoridad para emitir ningún tipo de certificado que querían. Todas estos "certificados validos" se firmaron utilizando SHA-1.


Si ajusta su reloj antes de agosto de 2004, usted puede probar su demostración en vivo del sitio. Esta vez es sólo es una medida de seguridad para el ejemplo, y es un idéntico trabajo con un certificado de que no haya expirado. Hay un proyecto y un sitio con información más detallada al respecto.


Para corregir esta vulnerabilidad, todas las autoridades certificadoras están usando SHA-1 para cifrar las firmas digitales. Microsoft y Firefox agregarán a su lista negra de sus productos navegadores a la autoridad certificadora rogue.






Sitio demostrativo (Ajusta la fecha de tu sistema a agosto de 2004).


Certificados



Video Explicativo





Este trabajo fue presentado en el 25th Chaos Communication Congress en Berlin el 30 de Diciembre de 2008.
--

Traducción: Soporte

1 comentario:

  1. 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 traen ya por defecto una lista de certificados raíz que sirven para comprobar de forma automática la ruta de validez del certificado, que está firmado por alguien en quien se confía.

    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 únicos 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.

    Via http://www.hispasec.com/unaaldia/3721

    ResponderBorrar

Déjanos tu comentario, nos permitirá mejorar.
¿Qué opinas de este tema?
¿Tienes alguna duda o sugerencia?
¿Te parece adecuado y completo este tema?
¿Falta información? ¿Cual?

Etiquetas

INTERNET (459) newsweek (305) SEGURIDAD (224) software (136) HACK (86) GOOGLE (47) Hacker (46) Geek (41) hardware (36) WINDOWS (34) Hackers (31) CRACK (29) facebook (29) video (28) DESCARGA (27) videos (26) Celulares (25) MICROSOFT (22) Informatica (21) apple (19) GRATIS (18) technology (18) virus (18) exploit (17) computación (16) informatico (16) web (15) cracker (14) INALAMBRICO (13) WINDOWS 7 (13) noticias (11) MSN (10) termino (10) ACTUALIZACION (9) Gamer (9) LapTops (9) Mac (9) PASSWORD (9) WINDOWS XP (9) dns (9) firefox (9) juegos (9) FOTOS (8) cientifico (8) iphone (8) WEP (7) antivirus (7) bibliografia (7) Desencriptar (6) INFINITUM (6) wifi (6) youtube (6) Craker (5) Culiacan (5) DESMOSTRACION (5) TELEFONIA (5) gmail (5) messenger (5) DIRECTA (4) DOWNLOAD (4) ESPAÑOL (4) XBOX (4) xss (4) Glosario (3) HTML (3) WPA (3) anuncios (3) ataques (3) hosting (3) hotmail (3) Guru (2) ajax (2) wpa2 (2)