Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

64
Cookies y privacidad. Tocino y Velocidad. Alejandro Ramos. Twitter: @aramosf Blog: http://www.securitybydefault.com Slideshare: http://www.slideshare.com/aramosf Enero/2015

Transcript of Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Page 1: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Cookies y privacidad. Tocino y Velocidad.

Alejandro Ramos.

Twitter: @aramosf Blog: http://www.securitybydefault.com Slideshare: http://www.slideshare.com/aramosf

Enero/2015

Page 2: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Introducción.

• Por motivos históricos el protocolo HTTP no está orientado a mantener la sesión.

• Lo que implica que no es capaz de distinguir a los usuarios mientras navegan.

• Debido a la necesidad de crear un “carrito de la compra” nacen las cookies.

Page 3: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Ejemplos de otros usos de las cookies.

• Identificar de forma inequívoca a un usuario permite: •Saber que páginas ha visitado. •Que productos ha buscado. •Su localización geográfica. •Conocer desde que página ha llegado. •El navegador que utiliza. •Ver en que parte de la web a movido el ratón. •… O incluso las teclas que ha pulsado.

Page 4: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Demostración.El poder de la analítica: Open Web Analytics y los

Downstreams

Page 5: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Page 6: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Propiedades de las cookies• Una cookie es un secreto compartido entre cliente y

servidor para validar la identidad: un testigo.

• Se almacenan en el sistema en ficheros de forma persistente: “pequeños archivos de texto”

• Tienen fecha de expiración. El testigo caduca.

• Se pueden establecer para que solo se transmitan en protocolo seguro (HTTPS).

• Las de un dominio no pueden ser consultadas por otro dominio.

Page 7: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Cookie estándar•Definidas en los RFC 2109 y 2965. •Son la gran mayoría y las más conocidas. •Se establecen mediante cabecera HTTP: Set-Cookie. •Según el navegador se almacenan en:

•IE (ficheros): %AppData%\Microsoft\Windows\Cookies •Firefox (sqlite): %AppData%\Mozilla\Firefox\Profiles\xxxxxx.default\cookies.sqlite

•Chrome (sqlite): %LocalAppData%\Google\Chrome\User Data\Default\Cookies

Page 8: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Peticiones HTTP

ServidorHTTP/1.0 200 OK Content-type: text/html Set-Cookie: name=value Set-Cookie: name2=value2; Expires=Wed, 09 Jun 2021 10:18:14 GMT (content of page)

Navegador

GET /spec.html HTTP/1.1 Host: www.example.org Cookie: name=value; name2=value2 Accept: */*

Page 9: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Tipos de cookies.•Existen varios formas de almacenar información de forma persistente en un navegador:

•Cookies estándar: aceptadas por los RFC de HTTP. •Cookies de HTML5 “webstorage”: nuevo método para almacenar cookies en el navegador.

•Cookies “Local Shared Object” o LSO: en las que se usa un contenedor de Flash.

•IE userData: parar versiones anteriores a la 10 de IE. •SilverLight Isolated Storage: similar a Flash pero de MS.

•No todas ellas son “ampliamente” conocidas o se pueden eliminar desde el navegador.

Page 10: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Cookies Flash - Local Shared Object

•Es necesario utilizar el plugin de Flash. •Se pueden compartir entre navegadores. Ej: Firefox->IE. •Existió controversia cuando se comenzó a utilizar. Su uso era muy extendido y no se conocían los mecanismos para eliminar este tipo de datos.

•Desde 2011 se pueden eliminar desde el propio navegador. •Peligrosas ya que no caducan. •Se almacenan en:

•IE/Firefox: %AppData%\Macromedia\Flash Player\#SharedObjects\XXX

•Chrome: %LocalAppdata%\Google\Chrome\User Data\Default\Pepper Data\Shockwave Flash\WritableRoot\#SharedObjects

Page 11: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Demostración.La configuración de Flash y sus cookies.

Page 12: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Page 13: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

SilverLight Isolated Storage• Similar a las Cookies de Flash, pero menos

conocidas.

• No muy extendidas debido a la falta de popularidad de SilverLight.

• Ruta de los ficheros:

• %UserProfile%\AppData\LocalLow\Microsoft\Silverlight\is

Page 14: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Ejemplo SilverLight

http://msdn.microsoft.com/es-es/library/cc221360(v=vs.95).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-13

Page 15: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Cookies HTML5•Nacen con HTML5 para aumentar el tamaño de las cookies y mejorar el rendimiento.

•Se pueden almacenar de formas distintas: •Session Storage: no persistente. •Local Storage: persistente y ampliamente usada •Global Storage: antiguo método. •Database Storage: en sqlite. Soportado por pocos navegadores. •IndexedDB: Chrome/Firefox y parcialmente en IE.

•Su ruta en el disco es: •IE: %UserProfile%\AppData\LocalLow\Microsoft\Internet Explorer\DOMStore

•Firefox: %AppData%\Mozilla\Firefox\Profiles\xxxxxxx.default\webappsstore.sqlite

•Chrome:%LocalAppData%\Google\Chrome\User Data\Default\Local Storage

Page 16: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Ejemplo almacenamiento Local Storage

http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=html5AlmacenamientoLocal

Page 17: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Demostración.Como se consultan las cookies en HTML5

Page 18: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Page 19: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

IE userData• Utilizado como alternativa a “localStorage” en

navegadores IE sin soporte HTML5.

• Obsoleto en Internet Explorer 10.

• Peligrosas, ya que no expiran nunca.

• No soportado por otros navegadores.

• Ruta del almacén de ficheros:

• %USERPROFILE%\AppData\Roaming\Microsoft\Internet Explorer\UserData

Page 20: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Ejemplo userData behavior

http://samples.msdn.microsoft.com/workshop/samples/author/persistence/userData_1.htm

Page 21: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Proyecto: Persist-JS•Librería que implementa varios métodos para almacenar cookies

•flash: Flash 8 persistent storage. •gears: Google Gears-based persistent storage. • localstorage: HTML5 draft storage. •globalstorage: HTML5 draft storage (old spec). • ie: Internet Explorer userdata behaviors. •cookie: Cookie-based persistent storage.

•https://github.com/jeremydurham/persist-js

Page 22: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Demostración.PersistJS en Internet.

Page 23: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Page 24: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Alternativas a las cookies.• Técnicamente es posible “engañar” al

navegador para identificar a un usuario sin la necesidad de cookies.

• Esto permite que algunas empresas usen estos métodos para rastrear usuarios y sus comportamientos, aunque eliminen las cookies.

Page 25: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

¿Y estos métodos se usan?

Si….Y se las conoce como

cookies zombie.

Page 26: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Proyecto: jQuery-store

• Librería que permite almacenar información en:

• HTML 5's DOM Storage

• Microsoft's UserData

• Si esos métodos fallan: window.name

• Se puede usar para trazar una sesión, pero al no ser persistente no aguanta los reinicios del navegador.

https://github.com/medialize/jQuery-store

Page 27: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Fingerprint del navegador• Identifica al usuario en base a una firma obtenida al

conectarse. • Método ampliamente usado. • La firma se genera en base a características como:

• Fuentes instaladas (javascript y flash). • Complementos instalados. • Zona horaria • Resolución de la pantalla. • Características del navegador (canvas)

Page 28: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Estudio sobre fingerprints

• fi

http://www.cosic.esat.kuleuven.be/publications/article-2334.pdf

Page 29: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Proyecto: FingerprintJS• Permite obtener una huella única de un navegador con una

probabilidad del 94%. • Múltiples variantes. Más de 10 proyectos en Github similares. • Proyecto EFF Panopticlick de 2010

https://github.com/Valve/fingerprintjs

https://github.com/carlo/jquery-browser-fingerprint

Page 30: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Demostración.La huella digital del navegador.

Page 31: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Page 32: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

… En España

De las 5 páginas con más tráfico de España, una de ellas usan Fingerprint.

marca.com:

http://b.scorecardresearch.com/c2/7715761/cs.js

Page 33: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

HTTP ETags•La cabecera HTTP ETag es un identificador único que se entrega junto a un objeto de una página web.

•Es usada para que el navegador consulte si ha sido modificado el objeto que almacena en caché.

•Si no se ha modificado, no hace la petición. •Si se ha modificado, realiza la petición y actualiza la caché.

•Si el servidor web manda un identificador único en el Etag para cada usuario, puede leerlo posteriormente para identificarlo.

Page 34: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Funcionamiento de ETag

Page 35: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Proyecto: Cookieless• Aplicación que implementa tracking mediante Etag.

• Fácil de usar y muy difícil de detectar si está bien implantado.

• Proyectos alternativos:

• http://lucb1e.com/rp/cookielesscookies/

• https://github.com/mephir/etagsession

• https://github.com/adamdeprince/etag-tracker

Page 36: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Caso real: KissMetrics

http://www.wired.com/2011/07/undeletable-cookie/

Page 37: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Demostración.Uso de Etag para almacenar una cookie.

Page 38: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Page 39: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

… En España

De las 15 páginas con más tráfico de España, dos de ellas usan ETags.

• segundamano.es • http://zsc.scmspain.com/Scripts/oas_analytics.js

• 20minutos.es: • http://pr.20min.es/RealMedia/ads/Creatives/default/empty.gif

Page 40: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

WebCache: “If-Modified-Since”• Similar al caso anterior de Etag, basándose en la

caché del navegador.

• El servidor establece una fecha concreta para cada usuario en un objeto (Last-Modified)

• El navegador comprueba si la versión de su caché es la última mediante la cabecera “If-Modified-Since” más la fecha que recibió.

• El servidor lee la fecha de la petición e identifica al usuario.

Page 41: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Javascript con código único.• El servidor manda a cada usuario un

javascript con un ID único.

• El javascript es almacenado en la caché.

• El ID es obtenido por el propio javascript como valor de sesión.

• Este método es ampliamente usado, no siempre con propósitos malvados.

Page 42: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Demostración.Un Javascript distinto para cada usuario.

Page 43: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Page 44: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Otros sistemas de caché

• AppCache de HTML5

• Flash Resource Cache

• Uso de canvas en un PNG

• WebHistory

Page 45: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Otros métodos• Existen más métodos para identificar de

forma inequívoca a un usuario mientras navega:

• Java JNLP

• Google Gears

• HTTP Autenticación básica.

Page 46: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

evercookie•Herramienta que implementa hasta 14 métodos distintos para persistir una cookie.

•Creada por Samy Kamkar en 2010 •Entre ellos algunos muy agresivos:

•Storing cookies in Web History, HTTP ETags, Web cache

•Java JNLP PersistenceService •window.name caching •PNG •Java CVE-2013-0422 exploit

• https://github.com/samyk/evercookie

Page 47: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Evercookies en la NSA

• Presentación filtrada por Snowden

• La NSA se plantea el uso de evercookies.

http://www.theguardian.com/world/interactive/2013/oct/04/tor-stinks-nsa-presentation-document

Page 48: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Demostración–y final-.El uso de Evercookie

Page 49: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Page 50: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Vectores que están por venir• Content Security Policy Pinning:

• https://w3c.github.io/webappsec/specs/csp-pinning/#content-security-policy-header-field

• Public Key Pinning Extension: (? por ver)

• https://tools.ietf.org/html/draft-ietf-websec-key-pinning-21

Page 51: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Resumen

Plugins(

• Flash(•  Java(• Silverlight(• Gears(

Cache(

• AppCache(• Etag(• Last:Modified(• Canvas(• Flash(resource(Cache(

• CSP(Pinning*(• PKP(Pinning*(

HTML5(

•  localStorage(•  IndexedDB(• AppCache(• WebRTC(

Fingerprint(

• Plugins(• Zona(Geográfica(• Fuentes(• Resolución(• …(

Red(

• SDHC(• ChannelID(• TLS(handshake(• DNS(Cache(

Page 52: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Iniciativas 1

• Opt-out cookies, permite configurar cookies para especificar que no se desea el seguimiento.

Fail

Fail

Fail

• DNT: Do not track, cabecera HTTP que solicita que no se haga seguimiento.

• IE10 lo implantó por defecto con gran controversia.

• P3P: Platform for Privacy Preferences, cabecera HTTP que declara que desea hacer el sitio con la información recopilada

• Firefox Polaris project

Hmm

Page 53: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Iniciativas 2Ley de cookies: artículo 22 de la Ley 34/2002 de 11 julio

https://www.agpd.es/portalwebAGPD/canaldocumentacion/publicaciones/common/Guias/Guia_Cookies.pdf

Page 54: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Resultado

FAIL

Page 55: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Recomendaciones.• Pensemos que no hay manera sencilla de librarse. • Única opción: navegar en modo privado “InPrivate” o “Incógnito”.

Esto deshabilita la caché. • Configuraciones seguras de navegadores: https://github.com/

pyllyukko/user.js • Vaciar la caché del navegador al terminar de usarlo. • Cerrar el navegador al terminar de navegar. • Utilizar extensiones como “AdBlock+” , “Private Browsing”,

“Disconnect” ó “SecretAgent” • Uso de VPNs • Revisa tu configuración: http://ip-check.info/

Page 56: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Referencias.• http://robertheaton.com/2014/01/20/cookieless-user-tracking-for-douchebags/

• http://www.futureofprivacy.org/wp-content/uploads/2011/07/Flash%20Cookies%20and%20Privacy%20II%20Now%20with%20HTML5%20and%20ETag%20Respawning.pdf

• http://lucb1e.com/rp/cookielesscookies/

• http://samy.pl/evercookie/

• http://en.wikipedia.org/wiki/Local_shared_object

• http://en.wikipedia.org/wiki/Zombie_cookie

• http://www.w3schools.com/html/html5_webstorage.asp

• http://www.agpd.es/portalwebAGPD/canaldocumentacion/publicaciones/common/Guias/Guia_Cookies.pdf

• http://msdn.microsoft.com/es-es/library/bdts8hk0(v=vs.95).aspx

• http://www.arctic.org/~dean/tracking-without-cookies.html

• http://ashkansoltani.org/2011/08/11/respawn-redux-flash-cookies/

• https://panopticlick.eff.org/browser-uniqueness.pdf

• http://msdn.microsoft.com/en-us/library/ms531424.aspx

• http://www.cosic.esat.kuleuven.be/publications/article-2334.pdf

Page 57: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Gracias.Twitter: @aramosf Blog: http://www.securitybydefault.com Slideshare: http://www.slideshare.com/aramosf

Enero/2015

Page 58: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Breve introducción a Tor• Red de comunicaciones creada con le

objetivo de que los usuarios no revelen su identidad.

• Se desarrolla sobre Internet y con el uso de un software especifico.

• Para evitar la revelación de identidad se hace un “triple” salto entre los nodos que la componen.

• Los servicios alojados en tor tienen dominios “.onion”

• A veces conocida como “darknet”, “deep web” y otros nombres similares.

Page 59: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

¿LSO en Tor?

http://www.greatobxvv7etokq.onion/greatdumps/control.swf

Page 60: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Ejemplo de Almacenamiento ActionScript 3

control.swf

Page 61: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Fingerprint en Tor

PC Al3x.tor

T1T2

T3

Destino

AD

Fingerprint Al3x.tor

Red Tor

PC Alex

Fingerprint Alex

Internet

Al3x.tor == Alex!!

Page 62: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Fingerprint en Tor• Servicios .onion con Fingerprint

• http://m2ikembygbnnoxhm.onion//templates/cache/synio/7a741d95dbb532a8e12261b876e1aa90.js

• http://gcvqzacplu4veul4.onion/static/gen/packed-site-a0c4b177.js

• Servicios .onion con servicios de AD que hacen fingerprint:

• http://j.adlooxtracking.com/ads/js/tfav_leo_leoban.js

• http://secure-it.imrworldwide.com/v53.js

• http://whoer.net/js/whoer.packed.js?602

Page 63: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Demostración :-DFingerprint en Tor

Page 64: Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)

Gracias otra vez.Twitter: @aramosf Blog: http://www.securitybydefault.com Slideshare: http://www.slideshare.com/aramosf

Enero/2015