, 28 marzo 2011 | Imprime

En el transcurso del año 2010 han visto la luz nuevas técnicas de ataque a aplicaciones Web. Entre todas ellas vamos a hablar del API javascript “Evercookie” creado por Samy Kamkar. Lo que Samy intenta demostrar con la creación de este API es la posibilidad de hacer que las cookies sean persistentes pese a que un usuario intente borrarlas. Para hacerlo se utilizan diferentes mecanismos que permiten almacenar la información en el lado del cliente, como HTML5 local storage, HTTP Etags, LSO Flash cookies, etcétera; todas los mecanismos y sus respectivos enlaces los podéis encontrar en la página de Evercookie.

Una vez nos descargamos el API, este pone a nuestra disposición un ejemplo de página que lo utiliza. En esta entrada vamos a comprobar cómo evercookie hace persistente las cookies usando la página de ejemplo.

Antes del acceso vemos en nuestro navegador —en este caso Firefox 3— que no disponemos de ninguna cookie:

Acto seguido accedemos a la página de ejemplo:

Una vez dentro se crea una cookie de nombre uid. Esta cookie es persistente —o eso dice el autor— ya que ha sido generada con Evercookie. Para este caso vemos como ha fijado el uid=620.


Por el momento nada extraordinario y el comportamiento es el habitual; o eso creemos, ¿no? Ahora vamos a eliminar toda la información mediante los mecanismos que ofrece Firefox (Clear Private Data Now):

Acto seguido accedemos a las cookies como hemos hecho antes y vemos que está todo borrado, no hemos dejado ni huella…. ¿seguro?. Cuando volvemos a acceder a la página, vemos como es capaz de recuperar el uid -en nuestro ejemplo el 620- que había generado la primera vez que accedimos; por lo que siempre que accedamos a la página web desde nuestro equipo ésta sabrá que somos el mismo usuario; es más, si dentro de nuestro navegador disponemos de varios perfiles, es capaz de recuperar la cookie, dado que por ejemplo la “cookie flash” está contenida en la carpeta Macromedia que queda fuera del alcance del perfil.

Una página Web que utilice estos mecanismos podría construirse un perfil asociado a un identificador de manera que podría proponernos ofertas, artículos, etc. que se ajusten a nuestras necesidades sin realmente habernos identificado en ningún lugar. Aparentemente estaríamos navegando de manera anónima pero no sería así, ya que la aplicación puede crear un perfil nuestro gracias a esta técnica.

Otro de los aspectos interesantes de esta técnica es lo que se denomina como “cross-browser”, donde la cookie es persistente y compartida por los diferentes navegadores. Se ha podido comprobar durante las pruebas realizadas que al crear una cookie persistente en Mozilla Firefox con evercookie y acceder después con Google Chrome, éste visualiza la cookie que se había creado en Firefox.

Un gran API, una gran técnica. Por tanto es normal que haya sigo la segunda más votada en el “Top Ten Web Hacking Techniques of 2010” del blog de Jeremiah Grossman.

(Puedes seguirnos en Twitter: @SecurityArtWork)
No me gusta esta entradaMe gusta esta entrada (+8 rating, 8 votes)
Loading ... Loading ...




6 comentarios a “Evercookie – never forget”

(Tenga en cuenta que los comentarios en español y en inglés están mezclados por lo que puede necesitar un traductor online para entender los comentarios de otros usuarios)

Muy buena entrada y muy curiosa. Felicidades Josemi. ¡Toca investigar!

Ximo [web], 29 de marzo de 2011, 12:06 am

¿Y contra esto qué se hace?

Anna [web], 29 de marzo de 2011, 10:50 am

Lo que se puede hacer es monitorizar este tipo de comportamiento. Yo personalmente desconozco si existe algún HIDS, antivirus, etcétera que detecte el hecho de que una aplicación web haga uso de esta técnica. ¿alguien conoce alguna herramienta?.

JoseMi [web], 30 de marzo de 2011, 7:56 am

[...] Evercookie – never forget (…) Otro de los aspectos interesantes de esta técnica es lo que se denomina como “cross-browser”, donde la cookie es persistente y compartida por los diferentes navegadores. Se ha podido comprobar durante las pruebas realizadas que al crear una cookie persistente en Mozilla Firefox con evercookie y acceder después con Google Chrome, éste visualiza la cookie que se había creado en Firefox… [...]

de la red – 2/04/2011 « Tecnologías y su contexto [web], 3 de abril de 2011, 3:44 am

La ‘navegación privada’ no sirve en estos casos???

ausias [web], 5 de abril de 2011, 5:35 pm

Buena pregunta ……. tocará probarlo :)

Las pruebas realizadas no han sido con navegación privada.

Un saludo.

JoseMi [web], 14 de abril de 2011, 5:28 pm

Deja un comentario

(Los datos que nos proporciones serán incorporados al fichero LECTORES DEL BLOG cuyo responsable es S2 Grupo, cuya única finalidad es la gestión de las acciones e interacciones que se desarrollen con los usuarios de los blogs de S2 Grupo, entre los que se encuentra Security Art Work. Los datos recogidos no serán en ningún caso cedidos a terceras partes ni tratados para una finalidad distinta a la indicada. Puedes ejercer tus derechos de Acceso, Rectificación, Cancelación y Oposición enviando un correo a admin@securityartwork.es, en el que deberás proporcionarnos la información necesaria para verificar tu identidad. Para cualquier otra consulta o duda relativa a cómo gestionamos tus datos personales, puedes utilizar el mismo correo electrónico.)