sábado, abril 12, 2014

Fácil Bug en Google Chrome permite que una web te oiga

Estamos viviendo unos días intensos en cuanto a vulnerabilidades que permiten el espionaje de las personas. No solo hemos podido ver que el bug de Heartbleed afectaba a servidores, sino que también lo hace a clientes que tengan la librería OpenSSL vulnerable, lo que permitiría que fuera el servidor web el que enviase el Heartbeat malicioso y espiase la memoria de tu equipo - comprueba qué versión de OpenSSL tienes instalada en tu máquina -. Por supuesto, como OpenSSL se usa en clientes de la red TOR, esto podría ser utilizado para espiar a usuarios conectados a la DeepWeb y saber qué están haciendo en ella.

Pero puestos a tener sitios web que espíen a los clientes, este fallo publicado por el el investigador de seguridad israelí Guy Aharonovsky me ha encantado, no solo por la concepción, sino por la forma en que lo lleva a cabo. Para ello, usando HTML5 y la API de Google Chrome que permite controlar el navegador hablando, ha demostrado lo fácil que sería para una web maliciosa escuchar lo que dices y llevarse la conversión a texto de lo que has dicho.

Figura 1: Alerta de uso de Speech Recognition

Esta función, cuando se utiliza Speech Recognition en Google Chrome alerta al usuario con una caja de información, como la que se puede ver, y además hace falta que el usuario pinche sobre el icono del micrófono para que se active, pero con un truco bastante sencillo se solucionan ambos problemas.

El primero de ellos se hace con una capa transparente del tamaño de la pantalla que ocupase toda la capa visible de la web en la que se añade la función de usar Speech Recognition en la entrada de datos, y jugando con al opacidad de la misma. Estos trucos han sido habituales en esquemas de ClickJacking, por lo que no son nada ajenos para los especialistas en ataques de Client-Side.

Figura 2: Capa con entrada de datos basada en Speech Recognition

El segundo problema es ocultar la caja de información, que se puede hacer de dos formas. La primera consiguiendo que la pantalla se maximice, y la segunda, configurando el tamaño de la entrada de datos del tamaño de la página, lo que situaría en la parte inferior la caja de alerta por lo que quedaría fuera de la visualización de la web si el usuario tiene la pantalla maximizada.

Figura 3: La alerta de Speech Recognition queda fuera del navegador

En el siguiente vídeo demostrativo que ha publicado en su blog se puede ver ejecutado con un juego que con elegancia escucha todas las conversaciones que se dicen desde que se hace clic para empezar a llevar la semilla del deseo desde el cielo hasta que se deja en el suelo de plantación.


Figura 3: Vídeo demostración del ataque basado en un juego de pedir deseos


Aunque este bug afecta a Google Chrome, de estas funciones de HTML 5 para activar el micrófono y la webcam ya había hablado hace unos meses con un experto en frontend, que entre capuccino y capuccino,  discutíamos de la preocupación que teníamos a que se encontrasen las formas de saltar las alertas en todos los navegadores que implementan estas APIs de reconocimiento de voz, al igual que se encontró hace ya tiempo para activar la Webcam en Google Chrome con Adobe Flash Player y grabarte en vídeo. Ahora ya hay otro medio.

Cada día aparecen nuevos bugs de seguridad publicados, pero lo que siempre me deja preocupado es la sensación de que en cada instante hay cientos de bugs en el software de mis dispositivos que con toda probabilidad son conocidos por mucha gente. La EFF anuncia que parece haberse descubierto que en Noviembre de 2013 ya se utilizaba HeartBleed y ha dejado unos indicadores para que los que tengan registros de tráfico de red descubran si han sido atacados antes.

Saludos Malignos!

1 comentario:

  1. No tengo ni idea de seguridad aunque estoy suscrito al blog por curiosidad pero esta tira me ha parecido una intuitiva descripción del Heartbleed.

    http://xkcd.com/1354/

    ResponderEliminar