Se acercan el Black Friday y la temporada navideña, y se prevé que los compradores vuelvan a gastar cantidades récord este año. Los sitios web minoristas, grandes y pequeños, pueden esperar mucho interés de los compradores que buscan ofertas, y mucho interés de los ciberdelincuentes que buscan sacar provecho de esos compradores, robando los datos de su tarjeta de crédito con sigilosos skimmers de tarjetas.
Los skimmers de tarjetas, o skimmers web, son piezas de software malicioso que los delincuentes utilizan en sitios web legítimos para robar los datos de las tarjetas de crédito de los compradores. Los skimmers leen los detalles a medida que los usuarios los ingresan en los formularios de pago de los sitios, o reemplazan los formularios de pago con falsificaciones convincentes. Incluso se ha visto a los atacantes agregando páginas de pago completas a sitios que no aceptan pagos. Los skimmers pueden robar los datos de la tarjeta en tiempo real, a medida que se escriben, incluso antes de que la víctima haga clic en «enviar» en el formulario de pago.
Los skimmers permiten a los piratas informáticos robar silenciosamente a todos los clientes que realizan una compra en un sitio web infectado, hasta que son descubiertos y eliminados. Los productos Malwarebytes detectan skimmers de tarjetas y nuestro equipo de Threat Intelligence los rastrea e investiga. Sabemos que la actividad de lectura de tarjetas tiende a aumentar en línea con los días de compras ocupados, y los propietarios de las tiendas deben estar muy atentos antes de la temporada navideña.
En este artículo, explicaremos los pasos básicos que debe seguir para proteger su sitio web contra los skimmers de tarjetas. Hacer bien estos conceptos básicos también protegerá su sitio web contra una variedad de otras ciberamenazas.
Pero antes de ver cómo proteger su sitio, veamos por qué debería hacerlo, si solo tiene una pequeña tienda familiar.
Por qué no eres demasiado pequeño para ser pirateado
Si cree que su sitio web es demasiado pequeño para ser de interés para los ciberdelincuentes, piénselo de nuevo. No les importa lo pequeño que sea su sitio. En realidad. De hecho, no se preocupan por usted en absoluto y es posible que ni siquiera vean su sitio web.
Los ciberdelincuentes no ingresan a los sitios web uno por uno, utilizando su mejor suposición para averiguar su contraseña como lo hacen en las películas. Utilizan programas informáticos para escanear Internet en busca de sitios web vulnerables. Hay millones de sitios web vulnerables y escanear todo Internet para encontrarlos es rápido, barato y fácil.
Cuando encuentran un sitio en el que pueden ingresar, inyectan un skimmer de tarjetas, automáticamente.
Su objetivo es entrar en miles de sitios web a la vez y el proceso está automatizado y puede ejecutarse de forma continua. Efectivamente, a los delincuentes no les cuesta nada irrumpir en el sitio web más pequeño, por lo que cada sitio web, por pequeño que sea, es un objetivo atractivo.
Los sitios web sin una forma de pago aún pueden ser segmentados o monetizados de otras maneras, por lo que incluso si su sitio no vende nada, aún está en riesgo.
Asegurar su sitio web
Con una Internet llena de posibles objetivos entre los que elegir, no tiene que hacer mucho para que su sitio web sea menos atractivo para los atacantes. Como dice el viejo refrán, no tienes que dejar atrás al oso que te persigue, ¡solo tienes que dejar atrás a las demás personas que huyen del oso!
Entonces, ¿cómo te mueves un poco más rápido que los demás?
Paso 0, mantenga su computadora segura
El primer paso para mantener la seguridad de su sitio web es asegurarse de que su computadora, y las computadoras que pertenezcan a cualquier otra persona que administre el sitio, sean seguras. Si su computadora tiene malware, no importa qué tan seguro sea su sitio web, porque los delincuentes pueden simplemente robar su contraseña o iniciar sesión en su sitio web desde su computadora, haciéndose pasar por usted.
Mantenga su software actualizado con correcciones de seguridad e instale una solución antivirus moderna , un administrador de contraseñas y un complemento de seguridad para su navegador, como BrowserGuard .
Establezca contraseñas seguras. Nunca los comparta, nunca los reutilice
Una de las formas más fáciles de ingresar a un sitio web es adivinar una contraseña de administrador para el software que ejecuta el sitio web: su Sistema de administración de contenido (CMS). Si un atacante puede hacer eso, puede hacer lo que quiera en el sitio web, incluso agregar un skimmer de tarjetas y desmantelar cualquier defensa que tenga.
Así como no buscan sitios web manualmente, los atacantes tampoco adivinan las contraseñas manualmente. También tienen programas de computadora para eso. Y una vez que su escáner encuentre su sitio web, otro programa informático se conectará felizmente las 24 horas del día, los 7 días de la semana, tratando de adivinar su contraseña. Eventualmente seguirán adelante, pero es posible que hayan hecho miles de intentos antes de hacerlo.
La buena noticia es que puedes mejorar seriamente tu juego de contraseñas evitando algunos malos hábitos:
- Contraseñas incorrectas. Los ciberdelincuentes no adivinan las contraseñas al azar, utilizan listas de contraseñas populares. Los diez mil contraseñas más comunes están llenos de secuencias fáciles de tipo como
123456
,1111
yqwertyuiop
, o que están hechos de nombres y palabras comunes comomonkey
,michael
otrustno1
. Si su contraseña está en esa lista, o se parece a las contraseñas de esa lista, su sitio web está en problemas. - Contraseñas compartidas. Si comparte una contraseña con alguien, no tiene idea de si la está almacenando de forma segura o con quién podría compartirla. La única forma de garantizar que las contraseñas permanezcan en secreto es no compartirlas nunca. Dé a cada uno su propia cuenta, con su propia contraseña, y dígales que no la compartan.
- Contraseñas que ha usado en otros lugares. Junto con las contraseñas comunes, los delincuentes también utilizan listas de nombres de usuario y contraseñas expuestas en violaciones de datos (esto se denomina relleno de credenciales ). Es probable que haya perdido al menos una contraseña en una violación de datos. Si nunca usa la misma contraseña dos veces, el relleno de credenciales no lo puede atrapar.
- Todos son administradores. A menudo es conveniente darles a todos los que trabajan en un sitio una cuenta de administrador, para que su trabajo no se interrumpa al negarles el acceso a algo. Pero cada inicio de sesión de administrador por separado ofrece a los delincuentes otra vía potencial de entrada. Ahorre acceso de nivel de administrador para las personas que lo necesiten y apunte a la menor cantidad de administradores posible.
Puede familiarizarse con la mayoría de estos malos hábitos agregando autenticación de dos factores (2FA) a su sitio. 2FA obliga a los usuarios a proporcionar otra información con su contraseña cuando inician sesión, como un código de un solo uso de una aplicación. Cualquier CMS de sitio web decente tendrá una opción 2FA incorporada o complementos 2FA que son fáciles de encontrar e instalar.
Si su empresa utiliza una red privada virtual (VPN) para proporcionar acceso remoto y seguro a los sistemas de la empresa, también puede limitar el acceso a la pantalla de inicio de sesión de su sitio web a los usuarios de la VPN de la empresa.
Mantenga actualizado el software del sitio web, todos los días
Otra forma fácil de ingresar a un sitio web es explotar una vulnerabilidad de software en el servidor web, CMS o complementos que utiliza su sitio web. Una vulnerabilidad es una falla de codificación que permite a los atacantes hacer cosas que se supone que no pueden hacer, como agregar archivos a su sitio web o acceder a su back-end sin iniciar sesión. Cuando los proveedores de software encuentran vulnerabilidades en su software, brindan un parche de seguridad que soluciona el problema.
Su sitio web solo está protegido contra ese problema cuando aplica el parche.
Los delincuentes a menudo invierten los parches de ingenieros para averiguar qué vulnerabilidades corrigen y luego intentan usar esas vulnerabilidades para ingresar a sitios web que aún no han sido parcheados. Pueden hacer esto extremadamente rápido.
En 2014, Drupal, un CMS muy popular, lanzó una actualización por una falla de seguridad grave. Los delincuentes hicieron ingeniería inversa a la actualización y la estaban utilizando para hacerse cargo de sitios web en cuestión de horas. Más tarde, el equipo de seguridad de Drupal hizo el extraordinario anuncio de que si no había actualizado su sitio web dentro de las siete horas posteriores al lanzamiento del parche, entonces debería «considerar que es probable que su sitio ya esté comprometido».
Asegúrese de saber de quién es el trabajo de mantener el sitio web parcheado. Esto puede ser algo que las personas que crearon y mantienen su sitio web harán por usted, o un trabajo que usted debe hacer usted mismo. Hagas lo que hagas, no asumas que alguien más debe hacerlo.
Si usa WordPress, debería actualizarse automáticamente con correcciones de seguridad. Puede verificar esto iniciando sesión y yendo a Panel de control > Actualizaciones . Sin embargo, tenga en cuenta que WordPress no actualizará la mayoría de los complementos automáticamente . Las vulnerabilidades en los complementos son comunes y probablemente la mayor amenaza para su sitio web, por lo que, como mínimo, deberá iniciar sesión con regularidad para verificar y aplicar actualizaciones de complementos.
Lo mismo ocurre con otros CMS: debe iniciar sesión con regularidad para ver si hay actualizaciones que deban aplicarse. Le sugerimos que también vaya al sitio web de su proveedor de CMS (y también a los sitios de cualquier proveedor de complementos) y vea si tienen una lista de correo donde anuncian parches. Regístrese para recibir alertas si algo urgente necesita su atención.
Finalmente, este consejo se aplica a todos los sitios web bajo su control. Es bastante común que las empresas ejecuten varios sitios web en el mismo servidor. Estos pueden ser diferentes sitios web para diferentes propósitos o versiones de prueba y puesta en escena de su sitio principal. Si alguno de esos sitios web se ve comprometido, les da a los atacantes una ruta potencial para contaminar de forma cruzada todos los demás sitios en el servidor. Los sitios de prueba y puesta en escena a menudo se descuidan y, a menudo, se exponen accidentalmente a Internet, lo que los convierte en un punto vulnerable particularmente suave.
Utilice un firewall de aplicaciones web (WAF)
Un firewall de aplicaciones web (WAF) es un dispositivo o servicio basado en la nube que filtra los datos que se envían a su sitio web, eliminando los elementos que parecen maliciosos, como los ataques XSS o SQLi . También pueden evitar que los datos no autorizados (como los detalles de la tarjeta de crédito de un skimmer del lado del servidor) abandonen su sitio web si se ve comprometido.
Los WAF usan un libro de reglas para reconocer entradas y salidas maliciosas o no autorizadas, lo que significa que a menudo pueden brindar protección mucho antes que los parches. Todo lo que un proveedor de WAF necesita saber para crear una nueva regla es qué entrada utilizan los atacantes para comprometer los sitios web. Para crear un parche, un proveedor necesita saber qué entrada están usando los atacantes, pero también cómo esa entrada afecta su software y cómo solucionarlo sin romper nada.
Los WAF agregan complejidad a su entorno y pueden requerir actualizaciones periódicas, pero brindan una capa adicional útil de defensa para su sitio web. Nunca debe usar un WAF como alternativa a los parches, pero usar uno podría salvarlo si pierde un parche, es demasiado lento para aplicar uno o si los atacantes están usando una técnica de día cero que su CMS o proveedor de complementos no tiene. parcheado todavía.
Proteger a los usuarios de dependencias deshonestas
Las páginas web suelen estar compuestas por varios elementos independientes, como secuencias de comandos, imágenes, como botones, widgets para compartir, etc., extraídos de varios lugares diferentes. De hecho, no es raro que las páginas individuales tengan decenas o incluso cientos de tales dependencias, y que se extraigan de muchos dominios diferentes: código analítico y publicitario de Google, tal vez un botón Tweet de Twitter, imágenes extraídas de una entrega de contenido. Red (CDN), etc.
Los diferentes elementos solo se ensamblan en una sola página en el último minuto cuando se visualiza en un navegador web, y ese proceso se repite en la máquina de cada usuario, cada vez que se visualiza la página.
Cada dependencia es una posible puerta trasera a sus páginas web. Si un atacante puede comprometer un sitio que aloja una de sus dependencias, puede usarlo para inyectar un skimmer de tarjetas en su página cuando es ensamblada por un navegador web, sin comprometer nunca su sitio web. No puede controlar las contraseñas o los parches en los sitios de los que depende, por lo que debe tomar medidas para proteger a sus usuarios de dependencias comprometidas.
Integridad de los subrecursos
La integridad de los subrecursos es una forma de protección contra manipulaciones para scripts y hojas de estilo. Si un atacante compromete un script de terceros en el que se basa su sitio web, puede usarlo para inyectar un skimmer de tarjetas en sus páginas.
En junio de 2019, Malwarebytes Threat Intelligence descubrió exactamente este tipo de ataque en la página oficial de los Washington Wizards del sitio web NBA.com. Los atacantes habían logrado alterar un script que el sitio utilizaba y que estaba alojado en un sitio web de almacenamiento de Amazon S3.
La integridad de los subrecursos protege contra este tipo de ataque mediante el uso de huellas digitales (hashes criptográficos) para verificar que los elementos cargados por <script>
o las <link>
etiquetas no se hayan alterado.
Por ejemplo, supongamos que su sitio web utiliza la versión 3.6 de la popular biblioteca jQuery JavaScript. Sin la integridad de los subrecursos, la etiqueta de secuencia de comandos se vería así:
<script src = "https://code.jquery.com/jquery-3.6.0.js">
Con Subresource Integrity, la etiqueta de secuencia de comandos se ve así:
<script src = "https://code.jquery.com/jquery-3.6.0.js" Integrity = "sha256-H + K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk =" crossorigin = "anónimo">
Cuando un navegador ensambla su página, descargará el código jQuery y creará su propia huella digital criptográfica a partir de él, y la comparará con la huella digital en la etiqueta. Si las huellas digitales no coinciden, el navegador asumirá que el código jQuery se ha visto comprometido y no lo ejecutará.
Política de seguridad de contenido
A veces, en lugar de cambiar una dependencia existente, los atacantes pueden encontrar suficiente influencia para agregar una nueva dependencia a su sitio, desde un sitio web que controlan.
La Política de seguridad de contenido (CSP) es una simple adición a su sitio web que puede proteger contra esta forma de ataque. Funciona enviando a los navegadores web una lista de los nombres de dominio en los que confía su sitio web y lo que confía en ellos para hacer.
Por ejemplo, digamos que su sitio web es example.com
y su sitio web incluye código de Google Analytics, que se carga desde el analytics.google.com
dominio. Su encabezado CSP diría que confía en su propio sitio para proporcionar todas las formas de contenido, y confía en Google Analytics para proporcionar scripts, y nada más. La instrucción real se ve así:
Política de seguridad de contenido: default-src 'self'; script-src analytics.google.com
Si un ciberdelincuente infiltra un script de lectura de tarjetas en su sitio desde el que se cargó example.xyz
, los navegadores web se negarán a ejecutar el skimmer de tarjetas. Por lo tanto, aunque su sitio web se haya visto comprometido, no afectará a sus usuarios.
La CSP no es perfecta. En un ataque serio, un atacante podría obtener suficiente acceso a su sitio para eliminar las instrucciones de CSP por completo, pero en muchas situaciones no lo hará.
Puede ver si su sitio web ya tiene un encabezado CSP (y otros encabezados de seguridad útiles también) al verificarlo en securityheaders.com .
Tirando de todo junto
Asegurar su sitio y sus dependencias contra ataques es de vital importancia, pero a veces no se da cuenta de que es vulnerable hasta que es demasiado tarde, o su integridad de sub-recursos y CSP bloquean silenciosamente una dependencia deshonesta y nunca se entera de ello.
En ambos casos, desea algo que le diga tan pronto como comience el problema. Entonces, el último paso para proteger su sitio es utilizar un servicio de monitoreo de integridad de terceros que vea su sitio desde el punto de vista de sus usuarios. Estos servicios pueden encontrar skimmers de tarjetas que se escabullen a través de la red y, lo que es más importante, le dicen que hay algo que debe arreglar.
Los servicios de verificación de integridad automatizados son como usuarios que trabajan en su nombre, que visitan periódicamente páginas web importantes, como su pago, extraen todas las dependencias en tiempo real, buscan cualquier cosa que no debería estar allí y le avisan si encuentran algo.
Aunque hemos profundizado mucho en este artículo, mantener los sitios web seguros es principalmente una cuestión de configurar algunos servicios y luego hacer algunas cosas simples, una y otra vez. Al hacer de estas cosas un hábito, fortalecerá enormemente su sitio contra los skimmers de tarjetas y otros ataques, y mantendrá a sus usuarios seguros durante la temporada navideña y más allá.