11 jun 2012

Insegurida​d de los teclados virtuales

Cada vez se hace mas evidente que la mayoría las páginas web, no tienen en cuenta la importancia de la protección de los datos, paginas con contenido confidenciales, como por ejemplo, los bancos, o webs de e-commerce, son objetivos de los atacantes o de la causa “hacktivista” del momento, solo veamos los siguientes escenario para hacernos una idea de lo que piensan los roles involucrados.

Tres escenarios posibles, tenemos que considerar:

 
  • Del lado del usuario, nos conectamos a un banco o a una web de compras, ¿acaso podemos tener por lo menos una “pequeña tranquilidad” viendo el “candadito”?
  • Del lado del proveedor de ese servicio, disponemos del último antivirus, parche y cumplimos con la ISO 1.000.001 ¿damos por asentado que los usuarios estarán seguros?
  • Mientras Del lado del atacante, están contentos porque instalaron el ultimo keylogger, indetectable, y encima pueden saber si el usuario sale con la secretaria que trabaja en el proveedor

Posiblemente tu estés en alguno de esos roles y has pensado algo muy parecido a los escenarios planteados, te cuento que de cada 10 sitios webs que visito, y en el cual estén trabajando tanto con “HTTPS” como con teclados virtuales, noto que 7 de ellos tienen fallas que un atacante no perdonaría.

Hablemos de los teclados virtuales:

Un teclado virtual es una aplicación por lo general escrita en JavaScript que nos muestra una pagina web, y en el cual, mediante clics del mouse, podremos mandar nuestro o “clave”, sin utilizar el teclado y así poder tener acceso al servicio ofrecido.

Encontramos también, teclados que no obedecen ningún orden de aparición de teclas, esto significa que no están ordenadas como los teclados originales, y también tenemos teclados virtuales de números solos, o hasta gráficos (este es muy bueno, recomendable usarlo!!!)

De antemano, sabemos que es IMPORTANTE, no acceder a sitios que contengan teclados virtuales (por tanto con información sensible) desde lugares públicos, (llámese ciber, aeropuerto, hoteles, etc), dado que es más sencillo un ataque desde ahí.

Pero no siempre la seguridad de estos teclados es la mejor, algunos llegan al punto de guardar en “campos ocultos” los datos digitados sin cifrar, para luego ser enviados en métodos GET o POST, otros guardan una cookie en texto plano con esta información, sin contar con los que guardan toda la información digitada en la cache del navegador.

Existen métodos como la suplantación del teclado en la cache del navegador, que permiten a un atacante, sin modificar la pagina de la entidad bancaria o el sitio que contenga el teclado virtual, reemplazarlo con otro que además de enviar la información al sitio donde debería ir, también envía una copia de la misma a ellos y para esto solo es necesario que el usuario visite un sitio malicioso, para después acceder a la pagina legitima de la entidad.

Los atacantes casi siempre están un paso adelante, keyloggers indetectables, troyanos que graban videos, y aplicaciones que utilizamos para manejo de proxys, las cuales son de utilidad en el traslado de los paquetes hacia el destino, no se habla de un esnifeo, sino que se habla de la traslación de esos paquetes, que NO ESTAN CIFRADOS en el momento que los utilizamos en NUESTRO ORDENADOR.

La clave ingresada, sea pulsada o por teclado virtual, no está cifrada en su mayoría (al menos de cada 10 bancos que testee, 2 estaban cifrados), y pude capturar lo ingresado por teclado virtual, en TEXTO PLANO!!!!, en otros bancos, capture el hash que realizo el teclado virtual, pero no hay como un buen traductor (HASHONLINE).

CONCLUSION Y RECOMENDACIONES

De lado del cliente:

  • Utilizar software para la administración de contraseñas como LastPass.com o similares
  • Realizar nuestras transacciones desde equipos seguros y ojala siempre desde el mismo.
  • Utilizar diferentes claves SEGURAS para cada sitio (ayuda mucho usar software de administración de contraseñas)

De lado del sitio web:

  • CIFRA TODO, cada etapa del camino que recorre la información debe ser cifrada
  • Si vas a almacenar la información temporalmente en alguna parte, asegúrate que esta este cifrada y que sea borrada cuando no se necesite
  • Utiliza un teclado que cambie cada la posición de las teclas cada vez que el usuario entre y ojala que maneje símbolos que acordaran utilizar mutuamente con anterioridad.
  • No te quedes con el “OK, tengo todo controlado”, piensa mejor ¿¿tengo todo controlado??

Como conclusion, no nos podemos confiar del candadito y el teclado virtual pensando que son medidas altamente seguras y que nuestra informacion estará segura con ellas, como vimos anterioremente existen muchas formas de atacar estas medidas

Artículo cortesía de Oscar Leonardo BanchieroTwitter: @banchiero

3 comentarios:

  1. Una de las herramientas que hizo hace un par de años mi amigo shark0 es el KeyBank, en este le indicas el "title" de la web o webs en la que quieres capturar el teclado virtual, y cuando el malware detecta que esta abierta la web, toma las capturas de los clicks y los manda por correo, además también es keylogger. Así que de poco sirve desordenar las teclas, vaya xD. El KeyBank se estubo vendiendo durante un tiempo, aunque realmente los bancos tienen más protecciones y sabiendo sólo esas credenciales es dificil "hacer algo malo" ya sea con pharming u otras técnicas.Felicidades a Oscar por la entrada, y gracias Juanan!Un saludo.

    ResponderEliminar
  2. [...] El lunes Oscar nos hablaba de la Inseguridad de los teclados virtuales. [...]

    ResponderEliminar