martes, 5 de noviembre de 2013

Adobe, la tormenta después de la tormenta

Tras reconocer el robo del código fuente de varios de sus productos y la información personal de casi tres millones de usuarios y clientes, se han ido haciendo públicos varios análisis que ponen en cuestión el procedimiento usado por Adobe para almacenar las credenciales.

Los datos extraídos alcanzan casi los 10Gb. Unos 130 millones de credenciales que Adobe ha ido almacenando a lo largo de varios años. Entre las cuentas robadas pueden observarse algunas que pertenecen a agencias del gobierno norteamericano tales como el FBI.

El problema hubiera sido "menor" si estas credenciales hubieran estado almacenadas en forma de hash usando una función sólida (sin problemas conocidos de seguridad) y aplicando buenas prácticas. Este tipo de funciones son teóricamente irreversibles, es decir, una vez almacenado el hash debería ser imposible conocer qué cadena (la contraseña) lo originó.

Adobe, sin embargo, no optó por almacenar los hashes de las credenciales. En vez de ello las contraseñas eran cifradas con un algoritmo denominado TripleDES. Este algoritmo simétrico surgió debido a un problema de seguridad en el algoritmo DES relacionado con la longitud de clave (56 bits).

TripleDES es el resultado de encadenar tres veces el algoritmo DES en cada bloque de datos. Un método simple de prolongar la longitud de clave (168 bits) para reusar el DES y no invertir en el diseño de un nuevo algoritmo. Pero como suele ser habitual en seguridad, era cuestión de tiempo para que surgieran ataques sobre TripleDES, como "Meet-in-the-middle" o a través del cifrado aislado de porciones conocidas de texto claro que se sospechen estén incluidas dentro del texto cifrado. Todos estos ataques tienden a reducir la efectividad de la longitud de clave.

Además, en el caso de Adobe se usó TripleDES con el método ECB (Electronic CodeBook). Esto quiere decir que el texto claro se separa el bloques de idéntico tamaño y es cifrado de manera independiente. El resultado final es que dos porciones o bloques que tengan el mismo texto claro tendrán la misma apariencia cuando sean cifrados. No es necesario decir que esto representa una ventaja enorme para el atacante.

Una mala práctica el escoger un cifrado simétrico para almacenar las contraseñas cifradas y otra peor al escoger un algoritmo con problemas conocidos y para terminar de empeorarlo la selección de una configuración débil en la aplicación de la función de cifrado.

En el lado ético de la cuestión nos queda preguntarnos: ¿Por qué Adobe cifró las credenciales con un cifrado simétrico en vez del hash? Esto, significa que Adobe tenía la llave para conocer las credenciales de sus usuarios y clientes. Algo que por hacer una correspondencia mundana es como si cuando compras una casa el que te la vendió se queda una copia de la llave, por si acaso...

Por supuesto los ataques contra el cifrado no se han hecho esperar y ya hay una lista con el top 100 de las contraseñas más usadas. Sin sorpresa alguna dejamos aquí constancia de las 10 primeras:

#
Nº de veces
Texto cifrado
Texto plano
1.
1.911.938
EQ7fIpT7i/Q=
123456
2.
446.162
j9p+HwtWWT86aMjgZFLzYg==
123456789
3.
345.834
L8qbAD3jl3jioxG6CatHBw==
password
4.
211.659
BB4e6X+b2xLioxG6CatHBw==
adobe123
5.
201.580
j9p+HwtWWT/ioxG6CatHBw==
12345678
6.
130.832
5djv7ZCI2ws=
qwerty
7.
124.253
dQi0asWPYvQ=
1234567
8.
113.884
7LqYzKVeq8I=
111111
9.
83.411
PMDTbP0LZxu03SwrFUvYGA==
photoshop
10.
82.694
e6MPXQ5G6a8=
123123


Ahora cabría preguntarse de qué lado está la responsabilidad a la hora de elegir una buena llave para la casa.
  
Más información:

Adobe anuncia el robo de código fuente y datos de casi 3 millones de usuarios

twitter: @Sc00bzT

Top 100 Adobe Passwords with Count
  

David García
Twitter: @dgn1729

No hay comentarios:

Publicar un comentario en la entrada