Si eres el administrador de un sitio de comercio electrónico y tienes instalado un sistema de gestión de contenidos (Content Management System – CMS) en el cual se aceptan pagos con tarjeta, puedes estar en riesgo y no lo sabes.
Todos los artículos de la serie "Análisis de incidentes con tarjetas de pago":
- ¿Cómo proceder ante un compromiso de datos de tarjetas de pago?
- 11 formas mediante las cuales se pueden robar tus datos de tarjeta de pago y cómo protegerte
- Si usas Magento, PrestaShop, WooCommerce u otro CMS en tu sitio web de comercio electrónico, puedes estar en riesgo
- Si cumplo con PCI DSS, ¿Podría verme afectado por ransomware?
- El incidente de OnePlus y su relación con PCI DSS
- Las lecciones que nos deja el incidente de Ticketmaster
- En relación con el incidente de robo de tarjetas ocurrido en Chile, ¿Los bancos afectados deberían cumplir con PCI DSS?
Conforme con diferentes investigaciones llevadas a cabo por la empresa de seguridad Sucuri, los ataques contra plataformas CMS de comercio electrónico (tales como Magento o Prestashop y diferentes complementos de e-commerce para WordPress (WooCommerce) y Drupal (DrupalCommerce)) se han incrementado notablemente, focalizándose en la extracción no autorizada de datos de tarjetas de pago y credenciales de acceso empleados por los clientes.

Gráfico de distribución de CMS afectados por malware (fuente: Sucuri)
Lamentablemente, muchos de los comercios afectados (que por lo general no cumplen con los requerimientos de PCI DSS) no se dan cuenta del ataque sino hasta mucho tiempo después, permitiendo que los delincuentes extraigan datos confidenciales durante un lapso lo bastante largo para que sus ataques sean fructíferos en términos económicos.
Entre los diferentes tipos de ataques a estas plataformas de comercio electrónico se encuentran los siguientes:
- Ataques contra componentes vulnerables y no actualizados, facilitando la manipulación no autorizada de ficheros para la captura de credenciales de administración y datos de tarjetas de pago
- Uso de actualizaciones (patch) falsas, que permiten la instalación de componentes maliciosos para capturar datos de tarjetas de pago (por ejemplo, con pagos vía POST)
- Uso de componentes adicionales (plugins o extensiones) inseguros
- Inyección de contenido malicioso (por lo general código JavaScript) que permite efectuar redirección a sitios maliciosos a través de iFrame
- Ataques contra los servidores de FTP, SCP, SFTP o consolas de administración de los servicios de hosting en donde la plataforma de comercio electrónico está instalada
- Extracción de datos de tarjeta de pago capturados empleando correos electrónicos o imágenes (esteganografía)
- Uso de técnicas de phishing, orientadas a engañar al cliente final para que ingrese sus credenciales de acceso o sus datos de tarjetas de pago en páginas maliciosas
No hay una plataforma CMS de comercio electrónico mejor que otra en términos de seguridad. Muchas veces todo depende de cómo esté configurado el sistema, la instalación de actualizaciones y controles adicionales. Por ello, desde PCI Hispano invitamos a nuestros lectores a implementar las siguientes recomendaciones desde la perspectiva de PCI DSS con el fin de no ser víctima de este tipo de ataques:
- Emplear de forma exclusiva centros autorizadores (empresas que se encargan de confirmar si los datos de tarjeta enviados por el cliente son válidos y gestionar el cobro) homologados por PCI DSS
- Analizar la forma como se capturan y envían los datos de tarjeta de pago a dicho centro autorizador (empleando un iFrame, a través de POST, usando una API o JavaScript, etc.)
- Dependiendo de este método de captura y envío de datos, proceder con el despliegue de controles y reporte de cumplimiento de PCI DSS en función del Cuestionario de Auto-Evaluación relacionado. Puedes encontrar más información en el artículo «¿Quieres poner en marcha o tienes una tienda online? Sigue estos consejos para cumplir con PCI DSS«
- Si aplica a tu entorno, realizar los escaneos trimestrales de ASV conforme con el estándar PCI DSS
De forma adicional al cumplimiento normativo, a continuación listamos una serie de controles que optimizarán los niveles de seguridad de tu sitio web de comercio electrónico y – por ende – la confianza de tus propios clientes:
- NUNCA almacenes datos de tarjetas de pago si no los necesitas
- NUNCA almacenes los datos confidenciales de autenticación (CVV2) después de una transacción
- Actualizar de forma constante los componentes de la plataforma de comercio electrónico (incluyendo plugins y extensiones), comprobando que las actualizaciones provienen directamente del fabricante (no instalar actualizaciones o mejoras publicadas en sitios web no confiables)
- Utilizar contraseñas robustas para el acceso a las consolas de administración de la plataforma
- Emplear controles adicionales como CAPTCHA para evitar ataques automatizados que buscan acceso no autorizado con credenciales débiles
- Hasta donde sea posible, emplear controles de acceso multifactor (por ejemplo Google Authenticator o Authy) para los accesos administrativos a la plataforma. Esto con el fin de prevenir que si las credenciales de acceso han sido vulneradas (nombre de usuario y contraseña), el atacante pueda ingresar al sitio web únicamente con esos datos.
- Utilizar HTTPS en tu sitio web (con soporte para TLS 1.2, preferiblemente)
- Cambiar la configuración por defecto y fortalecer la seguridad del CMS que estás usando:
- Realizar copias de seguridad (backup) de tu sitio web de forma periódica. Sin embargo, ten presente que si tu sitio web es comprometido, muy seguramente las copias de seguridad que hayas realizado desde el momento del incidente también puedan estar comprometidas
- Usar controles de seguridad adicionales para comercio electrónico – tales como 3D-Secure – con el fin de minimizar el uso fraudulento de tarjetas
- Monitorizar todos los pedidos realizados en tu tienda y mantener un inventario de todas las órdenes de compra generadas, para detectar potenciales comportamientos anómalos (por ejemplo: múltiples intentos de compra de un mismo producto con diferentes tarjetas de pago en un umbral de tiempo muy corto, múltiples compras por cantidades menores con una única tarjeta, diferentes productos facturados a un mismo cliente pero pagado con diferentes tarjetas, productos enviados al extranjero comprados con tarjetas locales, etc.)
- Tener a la mano los datos de contacto de tu centro autorizador, banco y de las marcas de pago por si eres víctima de un ataque y crees que tienes datos de tarjetas de pago comprometidas
Si adicionalmente cuentas con acceso al sistema operativo del servidor, puedes usar estos otros controles (o pedirle a tu proveedor que los implemente):
- Emplear herramientas que permitan la monitorización de integridad de los ficheros de la plataforma de comercio electrónico, alertando por si se detecta una manipulación no autorizada
- Emplear de forma periódica herramientas para la búsqueda de datos de tarjetas de pago almacenadas en el servidor. Esto para detectar potenciales brechas de seguridad y/o errores en el software que permitan el almacenamiento inseguro de estos datos
- Instalar una herramienta antimalware, que permita detectar y reaccionar frente a potenciales infecciones
- Usar un sistema de WAF (Web Application Firewall), ya sea instalado en el mismo servidor o provisto por un proveedor en la nube
- Emplear sitios web para la evaluación online de seguridad, como SiteCheck, SafeWeb, WebSite Protection, Unmask Parasites, Scan Verify o HackerTarget. Estos sitios te permitirán efectuar verificaciones básicas de seguridad para detectar si tu sitio web ha sido reportado en una lista negra o se encuentra distribuyendo spam o malware.
Ten presente que la seguridad no es una tarea al margen. Se trata de una actividad continua que requiere tiempo, personal y presupuesto, por lo que hay que tomársela de forma seria y más cuando tus clientes están depositando su confianza (y sus datos de tarjetas de pago) en tu sitio web.