Cada vez se hace mas evidente que la mayoría de las páginas web no tienen en cuenta la importancia de la protección de los datos; páginas con contenidos 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 escenarios 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 sentado 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 nuestra “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 cibercafé, 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 página 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 probé, 2 estaban cifrados), y pude capturar lo ingresado por teclado virtual, en TEXTO PLANO!!!!; en otros bancos, capturé el hash que realizó el teclado virtual, pero no hay como un buen traductor (HASHONLINE).

CONCLUSIÓN 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 esté cifrada y que sea borrada cuando no se necesite,
  • Utiliza un teclado que cambie la posición de las teclas cada vez que el usuario entre y, ojalá, que maneje símbolos que acordarán 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 información estará segura con ellas, como vimos anterioremente existen muchas formas de atacar estas medidas.

Flu- Project