martes, enero 12, 2016

Modo Incógnito & Modo "Porno" en Google Chrome con tarjetas NVIDIA

El Modo Incógnito de los navegadores de Internet fue re-bautizado desde sus inicios por muchos usuarios - con sorna y picaresca por su parte - como el Modo "Porno". Al final, el Modo Incógnito o "Modo Privado" que llaman otros navegadores, tiene por objetivo principal no guardar ninguna información de la última sesión una vez que que se ha cerrado el programa que pueda ayudar a un sitio web a hacer un tracking de los usuarios. Es decir, que cuando se cierra el navegador en Modo Incógnito la caché, las cookies, el historial de navegación y cualquier rastro de información que haya podido ser almacenado por los sitios a los que se ha navegado, debería desaparecer.

Figura 1: Modo Incógnito & Modo "Porno" en Google Chrome con tarjetas NVIDIA

Por supuesto, si hay un ordenador familiar en la casa que utilizan varias personas y alguien quiere ver pornografía, parece ofrecer las características de privacidad deseables por el consumidor de vídeos de humanos ejercitándose de forma hedonista. Pero ni se creo con ese objetivo, ni siempre consigue ese efecto de privacidad. En el pasado ya hemos visto muchos casos en los que el Modo Incógnito de Google Chrome no resulta ser tan incógnito como los usuarios pre-suponen, ya que realmente está orientado a no dejar rastros de la sesión accesibles a un servidor remoto que pueda hacer un tracking del usuario que hay detrás de esa navegación y no a que alguien con el que compartes el equipo descubra que has visto pornografía. Es un Modo Incógnito y no un Modo "Porno".

Las cookies de tracking

Con el tema de la identificación de la navegación del cliente por medio de cookies, hemos visto varias formas de establecer SuperCookies en Google Chrome que se salten el Modo Incógnito con varias técnicas. Una de ellas, utilizando como identificadores los TTL de los Certificados Digitales pinneados con HSTS en Google Chrome, permite saber que un usuario es el mismo que visita una web, tanto si lo hace con Modo Incógnito como si no.


A esta lista, también pudimos añadir el abuso del protocolo HKPK (HTTP Public Key Pinning) en Google Chrome por el que un sitio web puede pinnear un certificado digital distinto para cada usuario. Esta flexibilidad permite a un sitio web ir identificando a los usuarios por el certificado digital que le ha entregado, independientemente de si navega con el Modo Incógnito o no, lo que rompe toda la privacidad de la navegación. En estos dos ejemplos sí se rompe el Modo Incógnito del navegador, pero al ser implementaciones de un protocolo, el bug debe solucionarse en la definición del mismo y no en la implementación que hace de él Google Chrome, por lo que su erradicación es más compleja. 

El historial de navegación accesible desde el servidor

De nuevo con HSTS, independientemente de si se utiliza Google Chrome u otro navegador que lo implemente, un investigador demostró que es posible pedir un recurso - por ejemplo una imagen - que no existe vía HTTP a sitios web que utilizan HSTS y fuerzan el uso de HTTPs. Con un sencillo JavaScript se puede medir el tiempo para descubrir si el error tarda poco, lo que significará que ya se tiene la política HSTS de ese sitio porque se ha visitado recientemente, o tarda más, porque no se ha visitado nunca y primero se debe recibir la política HSTS y el certificado digital, para luego descubrir que el recurso no existe.

Figura 3: PoC Sniffly para saber lista de sitios con HSTS visitados

Este ataque de Time-Based Web Browsing History Disclosure permite a cualquier sitio web saber qué sitios has visitado de una lista de dominios que utilizan HSTS dada, incluso si lo has hecho vía Modo Incógnito. El investigador creo un prueba de concepto online llamada Sniffly que puedes usar para comprobar la lista que es capaz de descubrir aún cuando uses el Modo Incógnito de tu Google Chrome. Otro bug de compleja solución.

Autocompletado de URLs, Búsquedas en Google y tarjetas NVIDIA

Hace tiempo se montó mucho revuelo porque un usuario aprendió que las búsquedas en Google hechas desde el mismo dispositivo iPhone, pero con un navegador en Modo Incógnito y otro no eran guardadas en el historial. Es decir, que si buscabas algo usando el Modo Incógnito, esto aparecía en el historial de búsquedas cuando buscabas algo en Google pero sin usar el Modo Incógnito. Esto no pasa solo con el historial de búsquedas en Google, sino también con el autocompletado de URLs visitadas dentro del propio Modo Incógnito en la configuración por defecto.


Figura 4: Búsquedas en Google hechas en Modo Incógnito se cachean

Lo deseable para un usuario que lo quiere utilizar en Modo "Porno", es que si otra persona abre el navegador en Modo Incógnito y empieza a teclear una URL, que Google Chrome no autocomplete las direcciones con URLs ya visitadas. Pero ese no es el objetivo principal del Modo Incógnito y esto es algo que se debe configurar en las opciones de privacidad del propio navegador ya que al final son solo opciones de usabilidad de la herramienta para el usuario.

La tarjeta NVIDIA y los sitios "Porno" visitados

El último de los problemas de privacidad con el Modo "Porno" - que no con el Modo Incógnito - viene producido porque un usuario descubrió que la caché de la memoria en su tarjeta gráfica NVIDIA le mostraba, en cada nueva apertura de Google Chrome en Modo Incógnito la última página visitada. Es decir, podía ver una captura de pantalla de la última página que había visitado, que en su caso había sido YouPorn - que a saber tú de qué va este sitio -.

Figura 5: Google Chrome en Modo Incógnito mostrando un screenshot de la última página visitada

La explicación era que la tarjeta NVIDIA tenía cacheada la imagen de la última representación del proceso de Google Crome en Modo Incógnito y la estaba utilizando para pintar de forma acelerada la nueva apertura del proceso. Por supuesto, esto no es lo recomendable para alguien que inicia la sesión con la esperanza de que Google Chrome funcione en Modo "Porno", pero es que el Modo Incógnito no pretende defenderte contra la utilización compartido del mismo usuario, sino contra el tracking de sitios web.

Figura 6: Extracción de la memoria de NVIDIA de una página de Redit

El usuario hizo una herramienta para escanear la memoria en su tarjeta gráfica NVIDIA y volcar las páginas que allí hubiera, lo que le permitía extraer páginas más o menos completas de sitios navegados. Al final, no es más ni menos que un análisis forense de la memoria RAM, en este caso de la memoria de las tarjetas gráficas NVIDIA que permite recuperar información de navegación, lo que puede ser muy útil e incluso llegar a saltarse la protección de la LOPD, como vimos en el caso de los dumps de errores.

Figura 7: Extracción parcial del screenshot de una página visitada

Google ha dicho que no tiene que arreglar nada, que es un problema de que la memoria de la tarjeta gráfica no limpia el contenido y que el "Modo Incógnito" no se creo para esto. Al final, los usuarios deben entender que un Modo "Porno" es otra cosa, y que para conseguirlo basta con que te crees un nuevo usuario en el sistema operativo para navegar con la privacidad que desees cuando veas vídeos de tres minutos.

Saludos Malignos!

9 comentarios:

anonimo dijo...

Cuando yo era pequeño y en Internet explorer no había modo incógnito recurría a crear la cuenta de Invitado para ver todo lo que quisiera y así saltarme el canguro que tenia

Edu dijo...

¿En que circunstancias o sobre que escenarios Chrome cachéa información de la navegación privada? He realizado una prueba sobre mi PC pero funciona correctamente. Gracias.

Unknown dijo...

Lo mismo pasa en el modo incógnito de otros navegadores como Firefox ?

Anónimo dijo...

AJAjAJa un modo "porno" aaAjaJaj

Jossue dijo...

Gracias Chema.

Anónimo dijo...

El "problema" es por la gráfica que cachea la última imagen del proceso (en este caso Chrome) para luego graficar mas rapido el programa, pasa en chrome como cualquier otro programa independientemente de que sea. De todos modos no todas las gráficas hacen esto.

Anónimo dijo...

El modo porno no funciona, si utilizas otras cuentas y están abiertas con google te rastrean los de las paginas porno para seguirte en tus redes sociales, me sucedió que entre en modo incognito a esa paginas y sin ellos saber quien son montan un rastreo y te empiezan a seguir en twitter, como es eso que no me logeo en incógnito, veo el porno en incognito y aun asi sacan los datos

Anónimo dijo...

Y habrá gente que se creerán anonimos por usar VPN visitando las mismas páginas.......

Anónimo dijo...

Porque no mejor no ver eso q solo envicia y rompe relaciones de pareja. La gente se está enviando con eso gracias a Dios yo me propuse dejar de ver algo no aporta nada bueno a mí mente solo la ensucia.

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares