En la era dorada de las compras en línea de hoy, los consumidores ingresan a Internet, ingresan algunos detalles de tarjetas de crédito y reciben productos felices en su puerta, seguros sabiendo que su proveedor en línea es bien conocido, investigado y, por lo tanto, su sitio web para estar seguro , ¿verdad? ¿Sabías que los hackers pueden robar los datos de tu tarjeta de crédito con solo unas líneas de JavaScript?

Los ataques a sitios web con el propósito de recopilar datos enviados por usuarios no son nuevos. Magento, la plataforma de comercio electrónico de código abierto, ha sido el objetivo de tales ataques durante años .

Al comprometer sitios web que también se utilizan como plataformas de pago, recolectar números de tarjetas de crédito y otra información privada de identificación personal (PII) sobre la marcha es un proceso sorprendentemente fácil y lucrativo.

En cierto sentido, este es el equivalente digital al raspado con tarjeta de crédito  , un proceso de obtención de los detalles de la tarjeta de crédito de alguien en un cajero automático. De la misma manera que los delincuentes pueden alterar el cajero automático, también pueden hacerlo con la página de pago de un sitio web.

En los últimos meses, ha habido un aumento constante de estos ataques tras los sitios web más pequeños y las principales empresas. Esta publicación del blog revisará algunos de los eventos más recientes que hemos presenciado y ofrecerá algunas técnicas de mitigación para una amenaza que pretende volar bajo el radar.

Compromisos de terceros

Los atacantes pueden comprometer un sitio web utilizando muchas técnicas diferentes, a menudo explotando vulnerabilidades o contraseñas débiles. Cuando eso no es posible, a menudo se dirigen a una biblioteca de terceros en la que se basa el sitio, lo que tal vez no sea tan seguro.

Un beneficio adicional de los compromisos de terceros es la escalabilidad del ataque. Al piratear a un solo proveedor, puede afectar a un grupo completo de sitios web que dependen de él.

El código malicioso a continuación se adjuntó a un script legítimo y confiable en un formato ofuscado. Este es el trabajo de  Magecart,  el nombre que recibe un grupo de actores de amenazas responsables de varios ataques de alto perfil recientemente.

Después de decodificar el script, podemos ver el código responsable de recopilar los datos cuando los clientes presionan el botón de pago. A nivel de red, esto parece una solicitud POST donde cada campo (nombre, dirección, número de tarjeta de crédito, fecha de vencimiento, CVV, etc.) se envía en formato Base64 al servidor deshonesto ( info-stat [.] Ws ) controlado por los criminales:

Este tipo de ataque ocurre de manera transparente tanto para el comerciante como para el cliente. En contraste con las violaciones que involucran bases de datos filtradas donde la información puede estar encriptada, los skimmers web pueden recopilar sus datos en texto claro y en tiempo real.

Caso de British Airways

Entre agosto y septiembre de 2018, British Airways sufrió un ataque de Magecart durante 15 días , que fue objeto de un gran enfoque para no levantar sospechas de los visitantes o administradores del sitio.

Se manipuló una biblioteca de JavaScript y se mezcló en el flujo de pagos de una manera que se mezcló perfectamente con el fondo. De hecho, la secuencia de comandos se cargó desde la página de información de reclamos de equipaje y los atacantes incluso pagaron por un certificado SSL para el servidor al que enviaron los datos robados. Podrían haber usado un certificado gratuito como hacen muchos otros estafadores, pero es probable que quieran evitar las banderas rojas y hacer que todo parezca lo más legítimo posible. Si no hubieran tomado tantas precauciones, bien podrían haberse descubierto mucho antes.

En términos de datos robados, los atacantes lograron reclamar tanto la PII como los detalles de pago. El ataque fue tan completo que Magecart incluso pudo pasar datos de usuarios de aplicaciones móviles, debido a que partes del sitio se cargaron dentro de la aplicación y los atacantes aseguraron que tenían algunas piezas de código específico para dispositivos móviles listas y en espera.

El hecho de que pudieron realizar tal ataque, además de tener tanto acceso interno al propio sitio de British Airways, es profundamente alarmante. No es solo que la información de pago se ponga a disposición de las aerolíneas diariamente, sino que se trata de detalles del pasaporte, fechas de nacimiento y otra información increíblemente personal. Afortunadamente, British Airways confirmó que no se tomaron datos de viaje. Pero en términos de posibles consecuencias, incluidas las inevitables fugas de datos posteriores al ataque y los intentos de chantaje, este ataque por encima de todos los demás podría haber sido catastrófico.

Mitigaciones

No existe una bala de plata para prevenir los ataques de rozamiento web, pero todavía hay medidas que se pueden tomar para mitigar los riesgos.

Comerciantes (del lado del servidor)

La operación de un sitio web de comercio electrónico conlleva ciertas responsabilidades, especialmente si la información de pago se maneja a través de él. Generalmente, es una práctica más segura (y más fácil) externalizar el manejo de transacciones financieras a partes más grandes y confiables. El cumplimiento de PCI y los riesgos asociados con la recopilación de datos pueden ser abrumadores, especialmente para los propietarios de sitios que prefieren centrarse en el aspecto comercial de las cosas.

Hay demasiados aspectos de la seguridad del sitio web para cubrir aquí sobre cómo evitar que su propio sitio sea hackeado, por lo que nos centraremos en un escenario de compromiso de terceros.

La verificación de la integridad de los recursos de terceros es un aspecto de seguridad que se ha pasado por alto, pero puede proporcionar grandes beneficios al cargar contenido externo. La realidad es que un sitio web generalmente no puede albergar todo el contenido en sí, y tiene más sentido confiar en CDN y otros proveedores por razones de velocidad y costo.

Esta relación no significa necesariamente tener que superar los problemas experimentados por un tercero. Si bien en este post nos hemos centrado en los ladrones de tarjetas de crédito, existen otras amenazas que pueden difundirse a través de bibliotecas de terceros. Por este motivo, la implementación de medidas de seguridad como la Política de seguridad de contenido (CSP) y la  Subresource Integrity(SRI) puede ayudar a mitigar muchos problemas.

Consumidores (del lado del cliente)

Una cosa a tener en cuenta como consumidores es que estamos depositando nuestra confianza en las tiendas en línea donde compramos. Por esta razón, puede ser conveniente evitar los sitios más pequeños que quizás no tengan el mismo nivel de seguridad que los más grandes. Por supuesto, con casos como British Airways o Newegg , este consejo muestra sus limitaciones.

El uso de complementos del navegador como NoScript puede evitar que JavaScript se cargue desde sitios no confiables y, por lo tanto, reduce la superficie de ataque. Sin embargo, tiene las mismas deficiencias cuando el código malicioso está incrustado en recursos ya confiables.

Magecart y otros skimmers web se pueden mitigar en la capa de exfiltración, bloqueando las conexiones a dominios conocidos y direcciones IP utilizadas por los atacantes. Sin embargo, no es una prueba completa, considerando lo trivial que es registrar nuevas propiedades. Pero la reutilización de la infraestructura es algo que todavía vemos con bastante frecuencia.

Continuaremos monitoreando estas amenazas y agregaremos indicadores de compromiso (IOC) relacionados a nuestra base de datos para proteger a nuestros clientes de Malwarebytes.