Mostrando entradas con la etiqueta hash. Mostrar todas las entradas
Mostrando entradas con la etiqueta hash. Mostrar todas las entradas

domingo, 28 de mayo de 2017

Publicada la píldora formativa Thoth 44 "¿Cómo funciona el hash MD5?"

Se ha publicado en el canal YouTube de la UPM la píldora formativa 44 del proyecto Thoth que lleva por título "¿Cómo funciona el hash MD5?".

Las siglas MD5 corresponden a Message Digest número 5, un algoritmo de resumen desarrollado en 1991 por Ron Rivest. Aunque ha sido muy popular, entre otras razones por su alta velocidad, desde sus comienzos se detectaron algunos fallos en el diseño. Con el paso de los años y el aumento en la capacidad de cómputo, estos fallos se han convertido en graves, razón por la cual hoy en día no es recomendable su uso. El hash MD5 entrega un resumen de 128 bits, esto es 32 caracteres hexadecimales, independientemente del tamaño que tenga el archivo de entrada.

Enlace en YouTube a la píldora Thoth 44 "¿Cómo funciona el hash MD5?"

El proyecto Thoth publica de manera periódica píldoras formativas en seguridad de la información. Pueden ser tratados como complementos formativos basados en el concepto de vídeos cortos (con una duración en torno a los cinco minutos), muy didácticos y sobre temas muy específicos.

Todos los vídeos del proyecto Thoth cuentan con un archivo srt original de subtítulos incluido en YouTube, importante para personas con limitaciones auditivas, así como un archivo podcast mp3 que puede descargarse desde el sitio web, válido en este caso tanto para personas con limitaciones visuales como para quienes deseen realizar solamente la audición de estas lecciones.

Puedes acceder a la documentación en pdf, el podcast en mp3 y también al vídeo de esta nueva píldora y de las 40 píldoras anteriores, desde la página web del Proyecto Thoth, que te permite además una búsqueda mediante los siguientes cinco filtros:
1) Fundamentos de seguridad
2) Criptografía clásica
3) Historia de la criptografía
4) Matemáticas en criptografía
5) Criptografía moderna

Como siempre, quedamos a la espera de tus comentarios en YouTube, muy importantes y necesarios para la supervivencia de este proyecto de formación y difusión masiva y gratuita.

La próxima entrega del proyecto Thoth será la píldora número 45 de título "¿Cómo funciona el hash SHA-1?".


Jorge Ramió, Alfonso Muñoz
Directores Proyecto Thoth


domingo, 16 de abril de 2017

Publicada la píldora formativa Thoth 43 "¿Qué son y para qué sirven las funciones hash?"

Se ha publicado en el canal YouTube de la UPM la píldora formativa 43 del proyecto Thoth que lleva por título "¿Qué son y para qué sirven las funciones hash?"

Las funciones hash, del inglés picadillo, son algoritmos que al aplicarlos sobre archivos o textos, entregan un resumen de x bits. Un número que, a modo de huella digital, representa a dichos documentos de forma supuestamente única. A diferencia de la popular familia de aplicaciones tipo zip para la compresión de archivos, las funciones hash entregan siempre un resumen con número fijo de bits, independientemente del tamaño de ese archivo. Es menester indicar que, al carecer de claves, las funciones hash no son algoritmos de cifra. En seguridad informática y en criptografía, las funciones hash juegan un papel muy importante. Entre sus aplicaciones más comunes, se encuentran la autenticación de usuarios y la adaptación del tamaño de los documentos para la firma digital.

"¿Qué son y para qué sirven las funciones hash?"

El proyecto Thoth publica de manera periódica píldoras formativas en seguridad de la información. Pueden ser tratados como complementos formativos basados en el concepto de vídeos cortos (con una duración en torno a los cinco minutos), muy didácticos y sobre temas muy específicos.

Todos los vídeos del proyecto Thoth cuentan con un archivo srt original de subtítulos incluido en YouTube, importante para personas con limitaciones auditivas, así como un archivo podcast mp3 que puede descargarse desde el sitio web, válido en este caso tanto para personas con limitaciones visuales como para quienes deseen realizar solamente la audición de estas lecciones.

Puedes acceder a la documentación en pdf, el podcast en mp3 y también al vídeo de esta nueva píldora y de las 40 píldoras anteriores, desde la página web del Proyecto Thoth, que te permite además una búsqueda mediante los siguientes cinco filtros:
1) Fundamentos de seguridad
2) Criptografía clásica
3) Historia de la criptografía
4) Matemáticas en criptografía
5) Criptografía moderna

Como siempre, quedamos a la espera de tus comentarios en YouTube, muy importantes y necesarios para la supervivencia de este proyecto de formación y difusión masiva y gratuita.


Jorge Ramió, Alfonso Muñoz
Directores Proyecto Thoth

sábado, 25 de febrero de 2017

Demostración práctica de colisión en SHA-1

Un grupo de investigadores ha anunciado que han logrado desarrollar una técnica que hace práctico para elaborar dos archivos con la misma huella digital SHA-1. 

Por supuesto, como es habitual en los últimos años un descubrimiento de estas características necesitaba un nombre atractivo, una página web y un logo chulo: SHAttered http://shattered.io/

Hay que recordar que una función hash no cifra, sino que crea un resumen o "firma" de un conjunto de datos, que es pasado como parámetro a esta función. Así, nos es útil para verificar la integridad, por ejemplo, de un archivo. Tan solo tenemos que aplicar dicha función sobre el archivo recibido y verificar que el hash obtenido es el mismo que el anunciado por el emisor.

Un "hash" es una función criptográfica que produce una salida de longitud fija a partir de una entrada arbitrariamente larga. Un buen "hash" debe cumplir las siguientes propiedades:

a) El resultado final no debe dejar traslucir ninguna información sobre los datos originales.

b) Dado un resultado determinado, no hay otro sistema aparte de la fuerza bruta que genere datos de entrada capaces de producir dicho resultado.

c) Dados unos datos de entrada y su "hash", no debe haber un atajo (aparte de la fuerza bruta) para generar otros datos de entrada distintos y con el mismo "hash".

SHAttered

10 años después de la introducción del algoritmo SHA-1 como función hash, se ha anunciado la primera técnica práctica para generar una colisión. Esto es dado un "archivo A", generar otro "archivo B" que produzca el mismo hash que el del "archivo A".

Tras dos años de investigación y la colaboración del CWI Institute en Amsterdam y Google, este equipo de investigadores ha conseguido crear un método para generar colisiones. Como prueba del ataque, publican dos archivos PDF que tienen hash SHA-1 idénticos pero con contenido diferente (PDF 1 y PDF 2).

En la actualidad, muchas aplicaciones todavía dependen de SHA-1, a pesar de que fue oficialmente desaprobado por el NIST en 2011. Esperamos que esta demostración práctica aumentará la conciencia y convenza a la industria, de manera definitiva, a migrar a alternativas más seguras, como SHA-256 o superiores.

Por otra parte el propio SANS señala que en la práctica poco han cambiado las cosas. El ataque sigue considerándose complicado y según el instituto, para muchas aplicaciones, SHA-1 seguirá siendo un nivel adecuado de protección. Sin embargo, presenta un riego alto en entornos y aplicaciones donde los niveles de confianza sean máximos, como: la banca, los contratos legales o las firmas digitales. Un uso muy común de SHA-1 es para la integridad de archives, incluso Git y muchos desarrolladores y compañías lo emplean con ese propósito.


La complejidad del ataque aún sigue siendo elevada, y requiere una gran potencia de cálculo. El ataque requirió más de 9,223,372,036,854,775,808 cálculos SHA1. Esto conlleva una potencia de procesamiento de unos 6.500 años para una sola CPU o 110 años de cálculos GPU. A pesar de ello, SHAttered es 100.000 veces más rápido que el ataque de fuerza bruta que se basa en la paradoja del cumpleaños y que requeriría 12 millones de años de cálculos GPU.

También desde VirusTotal confirman que ya han encontrado más ejemplos de colisiones SHA-1.

Como es habitual Google sigue su política de publicación de detalles sobre las vulnerabilidades, por lo que la información completa sobre el ataque no se publicará hasta dentro de 90 días. Esto da tiempo para que muchos empiecen a migrar a sistemas de hash más seguros como SHA-256.

Tras un muy superado MD5, Bruce Schneier ya nos avisaba 10 años atrás que la vida de SHA-1 no iba a ser muy larga. Incluso desde Hispasec, en una-al-día, mucho antes ya informábamos en varias ocasiones de los avances que se efectuaban al reducir la complejidad de romper este algoritmo. De hecho, desde hace unos pocos años se recomendaba no usarlo para la firma de certificados digitales hasta que, definitivamente, la industria optó por dar dejar de confiar en certificados SSL a partir del año pasado.

Más información:

SHAttered

Announcing the first SHA1 collision

Practical collision attack against SHA-1

Antonio Ropero
Twitter: @aropero

martes, 2 de febrero de 2016

Los sitios web que no amaban a las contraseñas

Todos los días abrimos y cerramos la puerta de nuestra casa sin cuestionarnos el funcionamiento de la cerradura. Lo mismo ocurre cuando nos autenticamos en algún servicio online, introducimos nuestra contraseña sin preguntarnos qué procesos ocurren para que el sistema nos deje acceder. Las contraseñas son las llaves del mundo digital, pero... ¿son seguras las cerraduras digitales?

Lamentablemente cada vez son más frecuentes las noticias de fugas de información, ataques a servicios en Internet, y en muchos casos comprobamos como millones de contraseñas terminan expuestas de forma pública. Las buenas prácticas y un poco de lógica nos dice que todos los servicios deberían almacenar las contraseñas de sus usuarios de forma segura, pero... ¿se cumple realmente esta regla en todos los casos?

Todos los usuarios nos enfrentamos diariamente con diferentes formularios de autenticación. Incluso de vez en cuando nos registramos en un sitio nuevo y debemos proceder con un nuevo proceso de alta. Ya sabemos, nombre, correo, algunos otros datos en función del tipo que servicio, y por supuesto la ya clásica contraseña.

A los usuarios se nos recomienda (y hasta se nos obliga) que la contraseña que creemos sea segura, de una determinada longitud, con caracteres en mayúscula y minúscula, con números, etc. Además, se nos recuerda que no debemos dejar la contraseña apuntada en un sitio que la pueda ver todo el mundo (evitar el clásico post-it con la clave apuntada). ¿Pero estamos seguros que tras introducir esa compleja contraseña el servicio la trata y mantiene con el mismo cuidado con el que se nos insta a nosotros? Ya que ideal y técnicamente no deberían guardar la contraseña, sino una imagen (en sentido funcional) irreversible.

Está claro que nuestra clave, de una forma u otra, pasa a formar parte de una base de datos. Queremos pensar que siempre se almacena de una forma segura. Pero... ¿es siempre cierto? ¿Todos los programadores piensan en la seguridad cuando desarrollan?

No es menos frecuente que tras el proceso de alta recibamos un correo indicando que el alta en el servicio se ha llevado a cabo de forma correcta. Pero llama la atención cuando en ese mismo mensaje se nos indica en texto claro la contraseña que hemos introducido. Desde luego esto no es una buena práctica. Es un pecado mortal de consecuencias catastróficas y un indicativo directo de la postura en materia de seguridad de la organización. En pocas palabras, un correo con una contraseña en texto claro podría indicar una compañía con una cultura de seguridad potencialmente baja.

Por otra parte, esto nos puede hacer sospechar que nuestra contraseña se ha guardado en texto plano. Es cierto que el mensaje puede construirse y enviarse antes de almacenarla de forma segura en la base de datos, pero desde luego no es un buen síntoma. La contraseña en texto claro no debería aparecer en ningún sitio, ni mucho menos enviarse en un correo electrónico.

Las buenas prácticas de gestión de contraseñas dictaminan que una contraseña nunca, repetimos, nunca debe ser almacenada en texto plano.

Cada vez que recibo un mail con una contraseña en claro un escalofrío recorre mi cuerpo. ¿Se habrá guardado esa contraseña de forma correcta?

¿Cómo se deben almacenar las contraseñas de forma segura?

El proyecto OWASP (Open Web Application Security Project) tiene como objetivo ofrecer una metodología, de libre acceso y utilización, que pueda ser utilizada como material de referencia por parte de los arquitectos de software, desarrolladores, fabricantes y profesionales de la seguridad involucrados en el diseño, desarrollo, despliegue y verificación de la seguridad de las aplicaciones y servicios web.

En este sentido la OWASP es muy clara, y ofrece claros consejos a seguir sobre el almacenamiento de contraseñas:

La primera recomendación pasa por no limitar ni el conjunto de caracteres ni la longitud máxima de la contraseña.

Por otra parte, la forma más recomendable para almacenar una contraseña es mediante el uso de funciones hash. Hay que aclarar que una función hash no cifra el texto, sino que crea un resumen o "firma" del mismo. De forma que al introducir posteriormente la contraseña, se puede comprobar si ese resumen coincide con el de la contraseña introducida.

Un hash es una función criptográfica que produce una salida de longitud fija a partir de una entrada arbitrariamente larga. Un buen "hash" debe cumplir las siguientes propiedades:

a) El resultado final no debe dejar traslucir ninguna información sobre los datos originales.

b) Dado un resultado determinado, no hay otro sistema aparte de la fuerza bruta que genere datos de entrada capaces de producir dicho resultado.

c) Dados unos datos de entrada y su "hash", no debe haber un atajo (aparte de la fuerza bruta) para generar otros datos de entrada distintos y con el mismo "hash".

Una característica fundamental de las funciones hash, es que teniendo el hash no es posible conseguir la contraseña original. Pero sí se puede intentar probar diferentes contraseñas hasta que alguna coincida con el hash dado. Pura fuerza bruta.

Existen muchos algoritmos de "hash", pero lo más recomendable en la actualidad pasa por usar la familia SHA2 como mínimo. La OWASP recomienda el uso de las funciones PDKDF2 o scrypt.

Lo que sí que existen son las conocidas tablas arcoíris ("rainbow tables") para diferentes funciones, básicamente son listas de millones de hashes y sus correspondientes contraseñas. De esta forma basta realizar una búsqueda en un archivo para obtener la contraseña. Podemos encontrar una amplia lista de tablas arcoíris en:

Para complicar los ataques por diccionario, surge la necesidad de emplear hash con sal o "salt". Que no es sino una cadena aleatoria que se añade al principio o final de la contraseña antes de crear el hash. Para cada contraseña se debe usar un salt diferente. Así se consigue eliminar la posibilidad de que el resultado pueda buscarse en alguna tabla rainbow.

Resumiendo, se deben usar funciones irreversibles (tipo PDKDF2 o scrypt) y aplicar una sal de gran tamaño (64bits) en la fórmula de generación de la "imagen" (de nuevo, en sentido matemático).

[dato protegido] = [salt] + proteger ([function hash], [salt] + [credencial]);

¡Oh, no! ¡He olvidado mi contraseña!

Tratando con contraseñas, no podemos olvidar a la madre de todos los problemas: el método de regeneración de contraseñas. Según nuestra experiencia en la realización de auditorías es en este punto en el que suelen fallar muchas de las aplicaciones y sistemas que auditamos. Una debilidad en este aspecto puede permitir a un atacante acceder a la cuenta de cualquier usuario. De ahí la importancia de que este proceso se realice correctamente.

Es una funcionalidad que no se puede evitar, todos los sistemas tienen que tener un método para cuando hayamos olvidado nuestra contraseña. Y es que con la gran cantidad de contraseñas que mantenemos actualmente, esto suele ocurrir con frecuencia.

Existen diferentes estrategias para llevar esto a cabo. Pero siempre se debe generar una contraseña nueva. Como dijimos anteriormente las contraseñas nunca deben ser almacenadas en texto plano. Por lo que el servicio no puede tener capacidad para saber nuestra contraseña anterior. En caso de que al tratar de recuperar el acceso al servicio tras haber olvidado la contraseña se nos envíe la que habíamos introducido originalmente deben saltar todas las alarmas. Ningún sistema correctamente desarrollado puede acceder a la contraseña original en texto plano. Por desgracia ocurre más veces de lo que quisiéramos.

Otro punto débil, todavía empleado en algunos sitios, es el de las preguntas de seguridad. Las preguntas secretas siempre han resultado un método polémico para la recuperación de contraseñas en caso de olvido de la contraseña empleada habitualmente. Las clásicas preguntas del nombre de tu mascota, la fecha de nacimiento, o el nombre de la pareja nunca han parecido un método muy seguro para proteger una contraseña. ¿Dejarías entrar en tu casa a cualquiera que sepa en qué colegio estudiaste?

En muchos sitios aún se recurre a las preguntas de seguridad
Son muchos los casos de famosos (París Hilton, Sarah Palin o Scarlett Johansson entre otros) que han visto sus datos y hasta fotos personales al descubierto porque alguien obtuvo su contraseña a través de este mecanismo. Por fortuna cada vez se encuentran menos sitios que recurren a este método para confirmar que quien recupera la contraseña es quien dice ser.

Por otra parte, en los sitios que aún emplean este método... ¿se aplica el mismo nivel de cifrado o seguridad a la pregunta de seguridad que a la contraseña? Conocer la respuesta de esa pregunta puede permitir a un atacante acceder a la cuenta del usuario, por lo que sin duda debería seguir las mismas reglas de seguridad que la propia contraseña. Si se puede acceder a la respuesta de seguridad en texto plano, ¿qué sentido tiene almacenar correctamente el hash de la contraseña?

En este punto sería interesante analizar el tratamiento que los diferentes sitios que aún emplean este método realizan sobre las diferencias tipográficas. Por ejemplo, si la pregunta es la calle en la que naciste, se puede escribir C/ Olmos, calle olmos c/olmos... todas serían igualmente correctas. Se consideran correctas esas variaciones a la hora de recuperar la contraseña o no. Evidentemente si se guarda el hash solo se admitiría una respuesta como correcta si se escribe igual que como se introdujo originalmente.

Nuestra experiencia nos dice que, por lo general, cuando desgraciadamente se usa este burdo sistema de restablecimiento se guardan las cadenas en texto plano; y el fallo al poner mayúsculas-minúsculas simplemente se trata a través de un "case-insensitive" aplicado a la función de comparación de cadenas.

Por fortuna cada vez se emplea menos la pregunta de seguridad y se utilizan opciones más seguras. Entre los métodos más habituales para obtener una nueva contraseña, suele estar la generación de una nueva contraseña aleatoria y temporal, que se envía al usuario e instarle a cambiarla tras entrar en el sistema.

Aunque un método más adecuado, es enviar al correo del usuario una URL única, generada específicamente (y no predecible) y con un tiempo de vida útil (tras el cual debe caducar) que le permita introducir una nueva contraseña. El usuario solo debe seguir el enlace que recibe e introducir la nueva contraseña que solo él conoce. Fácil y mucho más seguro que otros métodos.

La doble autenticación

Por otra parte, en los últimos años son múltiples los servicios online que han introducido un doble factor de autenticación. Generalmente se trata de una opción para los usuarios que desean una protección adicional para sus datos.

Proceso de verificación en dos pasos de Google
Tradicionalmente el doble factor de autenticación solía venir a través de un dispositivo generador de claves. Pero en la actualidad el método más empleado se basa en el uso del teléfono móvil. Al configurar esta opción de autenticación el usuario debe introducir su número de móvil; y cuando precisa autenticarse, tras introducir su contraseña habitual, se le envía por SMS una contraseña de uso único y temporal que le permitirá acceder al servicio. Básicamente es añadir un "lo que tengo" al "lo que se" (tengo un móvil, se una credencial).

Google, LinkedIn, Facebook, Twitter o Evernote ya ofrecen esta función que sin duda añade mayor seguridad a la cuenta del usuario. Algunos de estos servicios, prácticamente se vieron obligados a implementar esta medida tras diferentes ataques sufridos contra sus usuarios y que podrían haberse evitado con un doble factor de autenticación implementado.

Se puede consultar una lista de todos los servicios que ofrecen doble autenticación en twofactorauth.org/, incluyendo las opciones que ofrecen y agrupados por categorías.

Pero como siempre no solo basta que el método de obtención de contraseñas sea seguro, también debe estar correctamente implementado y de forma segura. Un error de desarrollo en la implementación, en cualquiera de los puntos (generación de nuevas contraseñas, al guardarlas en la base de datos, en la comprobación del hash, etc.) puede hacer que el resto de medidas de seguridad implementadas queden en nada. Y que cualquier atacante pueda saltarse el sistema y acceder a los datos de cualquier usuario.



Más información:

Password Storage Cheat Sheet

List of Rainbow Tables

El lado humano de las contraseñas

una-al-dia (27/02/2005) La pregunta secreta del caso "Paris Hilton"

una-al-dia (22/09/2008) Ataques "magistrales" de "hackers" mediáticos

una-al-dia (11/03/2006) Teoría y práctica en la seguridad de las contraseñas

una-al-dia (14/10/2011) El culo de Scarlett y el eslabón más débil (I) y (II)

una-al-dia (26/05/2015) Secretos, mentiras y recuperación de cuentas




                                                                                                  
Antonio Ropero
Twitter: @aropero


miércoles, 14 de marzo de 2012

Adobe corrige por fin en ColdFusion el problema de los algoritmos hash


Adobe ha publicado una actualización para evitar una vulnerabilidad de denegación de servicio en ColdFusion 9.0.1 (y versiones anteriores) para Windows, Macintosh y UNIX.

La vulnerabilidad (con CVE-2012-0770), calificada como "importante" por Adobe, reside en una colisión en un algoritmo hash, que puede permitir la realización de ataques de denegación de servicio.

Este fallo que afecta a la gran mayoría de las plataformas de servicios web actuales, fue presentado por dos investigadores en una conferencia en el Chaos Communication Congress, organizado por el Chaos Computer Club, a finales de 2011. Son muchos los servidores que ya han solucionado el problema, aunque todavía no se conoce el alcance de todos los fabricantes afectados.

Adobe recomienda a los usuarios de ColdFusion que actualicen sus sistemas siguiendo las instrucciones de la nota técnica:

Más información:

Security update: Hotfix available for ColdFusion

ColdFusion Security Hotfix APSB12-06

una-al-dia (30/12/2011) Una vulnerabilidad podría permitir dejar sin servicio a la mayoría de servicios web


Antonio Ropero
Twitter: @aropero

viernes, 30 de diciembre de 2011

Una vulnerabilidad podría permitir dejar sin servicio a la mayoría de servicios web

Una vulnerabilidad que afecta a la gran mayoría de las plataformas de servicios web actuales podría permitir la realización de ataques de denegación de servicio.

La vulnerabilidad fue presentada por dos investigadores en una conferencia en el ya mítico congreso Chaos Communication Congress, organizado por el Chaos Computer Club.

La conferencia completa:


El problema afecta a una larga lista de tecnologías de desarrollo web, incluyendo PHP, ASP.NET, Java, Python, Ruby, Apache Tomcat, Apache Geronimo, Jetty o  Glassfish. Concretamente versiones:
Básicamente es más fácil decir a los lenguajes que no afecta: Perl y CRuby 1.9. 

La base de la vulnerabilidad reside en que prácticamente todos los lenguajes almacenan en tablas hash los valores de los parámetros de las peticiones web. Pero las funciones hash empleadas se ven afectadas por colisiones. Por lo que es fácil generar peticiones con parámetros que tengan el mismo hash. De forma que cuando el servidor inserta los valores en la tabla hash se ve obligado a realizar un gran número de operaciones. Lo que, con un número adecuado de parámetros, provoca la denegación de servicio.

Este problema no es nuevo, básicamente es idéntico a otro ya conocido desde 2003, que afectaba a Perl. Motivo por el que este lenguaje ya incorpora la adecuada solución, que pasa por aleatorizar la clave empleada para calcular el hash. De esta forma, el atacante no podrá precalcular parámetros con hashes que provoquen colisiones. Otra forma de evitar el fallo, mucho más sencilla, pasa por limitar el número de parámetros procesados en cada petición.

Para tener una idea del alcance problema, en un sistema con Intel Core i7 sobre una aplicación PHP, bastarían 500k de datos POST para ocupar un minuto de tiempo de cálculo de CPU. De tal forma que bastaría con una conexión de entre 70 a 100 kbits/s para mantener ocupada una CPU de este tipo.

Los principales lenguajes ya han publicado actualizaciones y parches que corrigen esta vulnerabilidad, que pueden ser descargadas desde la página oficial de cada uno de ellos.

Microsoft, por ejemplo, ha publicado un boletín de urgencia para corregir esta vulnerabilidad en Microsoft .NET Framework (si bien este problema no es considerado crítico), y además solucionar otras tres vulnerabilidades (una de ellas crítica).

Apache Tomcat ha implementado una contramedida para evitar los efectos de un posible ataque, para lo que proporciona la nueva opción "maxParameterCount" que limita el número de parámetros procesados en cada petición. Por defecto está fijado a 10.000, suficientemente alto para soportar cualquier aplicación y suficientemente bajo para mitigar los efectos del DoS. Esta contramedida está disponible en las ramas 7.0.23 (en adelante) y 6.0.35 (en adelante).

En PHP una contramedida pasa por limitar el tiempo de CPU de generación de una respuesta mediante "max_input_time".
Otras actualizaciones:
  • Ruby: actualización a la versión 1.8.7-p357.
  • PHP 5: corregido a través de repositorios SVN.
  • Rack: corregido a través de repositorio GIT.
  • Apache Tomcat: actualización a las versiones 5.5.35, 6.0.35, y 7.0.23.
  • JRuby: actualización a la versión 1.6.5.1.
Más información:

#2011-003 multiple implementations denial-of-service via hash algorithm collision

Efficient Denial of ServiceAttacks on Web ApplicationPlatforms

Microsoft Security Bulletin MS11-100 – Critical
Vulnerabilities in .NET Framework Could Allow Elevation of Privilege (2638420)

[SECURITY] Apache Tomcat and the hashtable collision DoS vulnerability

Denial of Service through hash tablemulti-collisions

Denial of Service via Algorithmic Complexity Attacks

CCC Event blog – 28C3


Antonio Ropero
Twitter: @aropero