Blog

Qué es el formjacking y cómo se puede prevenir

Qué es el formjacking y cómo se puede prevenir

Formjacking es el uso de código malicioso para intentar robar la información ingresada en los formularios de pago, o de inicio de sesión de los sitios web. Básicamente, este código intercepta los datos ingresados por el cliente y los envía a un servidor de comando y control en poder del ciberdelincuente.

Esa acción no suele afectar el rendimiento del sitio web, lo que hace que sea difícil de detectar, a no ser que se disponga de herramientas de análisis de comportamiento, o de monitoreo del tiempo de ejecución

Los datos interceptados pueden ser:

  • Números de tarjetas de crédito.
  • Contraseñas.
  • Información de identificación personal (PII).

La información robada se puede vender en la web oscura, ser utilizada para intentar retirar dinero de la cuenta asociada, o iniciar sesión en diversos servicios.

Si sirve de consuelo, en el caso de tiendas en línea, la compra se completará con normalidad y el cliente recibirá los productos que ha adquirido.

Pero la vaina le puede salir carisma.

Como funciona.

En el pasado, la mayoría de desarrolladores de páginas web empleaban editores como Microsoft Frontpage, Bluefish etc.

Por supuesto, no eran invulnerables, pero proporcionaban cierto control sobre el código insertado en las páginas.

Hoy en día, la mayoría de los sitios web modernos utilizamos múltiples soluciones tecnológicas:

  • Sistemas de gestión de contenidos.
  • Plantillas de terceros.
  • Complementos como sistemas de pago con tarjeta.
  • Software de comercio electrónico, como por ejemplo Magento.
  • Sistemas de comentarios.
  • Formularios de contacto.

Estas aplicaciones, excepto las diseñadas e implementadas por los propios administradores del sitio, son mantenidas y gestionadas por muchos proveedores diferentes repartidos por todo el mundo.

Sistema de gestión de contenidos

Y ellos son los encargados de garantizar que sus aplicaciones sean seguras, y de proporcionar actualizaciones y parches de seguridad.

Muchas son gratuitas, pero otras no.

En el segundo caso, muchas veces, el cliente deja de pagar, y las aplicaciones quedan desactualizadas, por lo que a corto plazo acaban por presentar vulnerabilidades.

También es posible que el desarrollador discontinúe la aplicación, o cierre el chiringuito.

Esto ofrece a los piratas informáticos la posibilidad de atacar por varios frentes.

Código malicioso insertado en complementos y módulos

Por ejemplo, muchos insensatos implementan en sus sitios web frameworks, plantillas y otros complementos de pago obtenidos de modo ilegal, que acostumbran a tener código malicioso incrustado.

Malware en Joomla

Si no tienen la experiencia suficiente para detectarlo y eliminarlo, pueden estar infectando su portal con puertas traseras y scripts maliciosos que ponen en riesgo los dispositivos de sus visitantes.

Código JavaScript para manipular un sitio web

Cuando alguien quiere visitar un sitio web, envía una solicitud desde su navegador al servidor donde está alojada la página, que responde devolviéndole un documento HTML.

Este documento HTML, la mayoría de veces, y en función del servidor, se envía a través de un conjunto de aplicaciones de seguridad como firewalls de aplicaciones web, conexiones seguras (SSL, TLS) etc.

Una vez recibidas por el navegador del visitante, las referencias a JavaScript de terceros que contienen se interpretan, ejecutan y el sitio web se carga en el navegador del usuario.

Un JavaScript de terceros, entre otras funciones legítimas, se puede utilizar para rastrear y registrar las visitas a la página, insertar anuncios publicitarios, botones de redes sociales y formularios.

Por lo tanto, no todo el código JavaScript es malicioso y no todos los servidores web son vulnerables.

Sin embargo, cualquier JavaScript de terceros alojado en un servidor externo puede convertirse en el catalizador de estos ataques, que viven fuera del perímetro de seguridad estándar. (WAF, SSL / TLS).

La naturaleza silenciosa de estos ataques permite que a veces puedan pasar desapercibidos durante meses o años, lo que hace que las soluciones de seguridad sean poco eficientes detectando este tipo de comportamientos.

Para inyectar el código malicioso, en la mayoría de los casos, los piratas informáticos aprovechan una vulnerabilidad en el servidor web.

Pero también en complementos de terceros, o aprovechando que un gestor de contenidos como Drupal, Joomla, WordPress, PHP-Fusion, etc., está desactualizado.

¿Puedo protegerme del Formjacking?

Directamente no.

Debido a que el ataque ocurre en el lado del cliente, no se descarga ni instala ningún tipo de malware en el dispositivo de la víctima.

Tenemos que confiar en los procedimientos de seguridad de cada sitio que visitamos, que a veces no pueden o no quieren tomar las precauciones necesarias para garantizar que los atacantes no alteren su código.

Por lo general, no verificamos el código HTML de un sitio web antes de visitarlo para ver si contiene código JavaScript malicioso, e incluso si lo hiciéramos, la mayoría de nosotros no sabríamos qué buscar.

Los ciberdelincuentes acostumbran a ofuscar los scripts maliciosos (normalmente en Base64) para ocultar el código y así evitar su detección.

Es cierto que hoy en día, la mayoría de las entidades bancarias implementan sistemas de autenticación mediante firma digital para confirmar los pagos en línea.

Esto se lleva a cabo mediante una aplicación del propio banco instalada en el teléfono móvil.

Si bien es una excelente medida en caso de robo, perdida o uso fraudulento de las tarjetas, no sirve para evitar el formjacking.

Una buena idea es usar complementos en el navegador como bloqueadores de eventos JavaScript, que dificulten la entrada de código malicioso.

Luminous es una extensión experimental para Google Chrome y Mozilla Firefox, que identifica, analiza y bloquea código y eventos JavaScript en estos navegadores.

Otra posibilidad es utilizar tarjetas de crédito en lugar de tarjetas de débito para comprar en línea.

Si alguien utiliza engañosamente los datos de la tarjeta de crédito, en el peor de los casos, solamente podrá gastar el límite establecido por la entidad bancaria.

En este sentido, muy recomendable considerar el uso de una tarjeta de prepago.

Estas tarjetas, ofrecidas por la mayoría de entidades bancarias, solamente tiene el saldo que nosotros queramos cargarle de forma puntual, por lo que son muy útiles para realizar compras en línea.