Los clientes de bancos de hoy en día pueden perder su dinero si los cibercriminales logran robar sus datos de acceso a bancos en línea. Para ayudar a prevenir el robo de datos bancarios en línea, muchos bancos han comenzado a repartir dispositivos de seguridad para software y lectores de tarjetas a sus clientes para verificar su identidad en Internet. Cuando un cliente utiliza su servicio de banca en línea, el sitio bancario pide al usuario que compruebe que es el titular de la cuenta. Para ello, cada usuario tiene un código de acceso único que se revisa junto a la información del dispositivo de seguridad o que se ingresa mediante el lector de tarjetas cómo y cuándo se pide.
A primera vista este sistema parece hermético. Aún si un cibercriminal roba los datos de acceso a una cuenta de banco en línea, no podrán utilizarla sin el lector de tarjetas. Pero existen cibercriminales que han logrado burlar este sistema. Algunos programas maliciosos obligan al verdadero titular a autorizar transferencias bancarias de sus cuentas a las de los cibercriminales. Veamos el ejemplo de Zeus, un troyano popular, para ilustrar cómo funciona esta técnica.
Tras establecerse en el ordenador de la víctima, Zeus intercepta todos los datos que pasan a través del buscador web. Puede que cambie los datos, por ejemplo, agregando códigos maliciosos al del sitio. En este caso, el usuario va a ver la versión alterada del sitio.
Primero, veamos cómo funciona el sistema de manejo de cuentas en condiciones normales, sin la presencia de un troyano. El usuario ingresa su nombre de usuario y contraseña. Si la información es correcta, el sistema permite al usuario ingresar a su cuenta de banco. Cuando el usuario quiere transferir dinero, el sistema bancario le pedirá que registre su tarjeta de identificación utilizando el lector de tarjetas conectado al ordenador del usuario para autorizar la transferencia. Es así como los desarrolladores han diseñado este sistema.
… Pero los cibercriminales tienen un As bajo la manga.
Así es como se ve normalmente un sitio bancario.
La página de inicio original del sistema de banca en línea contiene un recordatorio
Allí se dice que no se necesita un lector de tarjetas para acceder a la cuenta. Ahora veamos la misma página cuando el ordenador del usuario está infectado con ZeuS:
La página de inicio alterada por Zeus, sin el recordatorio
El archivo de configuración de Zeus contiene la dirección de la página de inicio del banco. El troyano modifica el código en el sitio de descarga, como se pide, para que el usuario no vea el recordatorio original sobre el lector de tarjetas. Además, se añaden enlaces al código que debería dirigir a un script en el sitio web legítimo del banco.
Zeus ha modificado el código de la página del banco
El sitio web del banco no contiene este script. Cuando el buscador sigue este enlace, otra función dentro del troyano lo intercepta.
El archivo de configuración de Zeus contiene instrucciones del cibercriminal sobre las direcciones o datos que se deben reemplazar.
Instrucciones del troyano para reemplazar URLs
En el ejemplo de arriba, la línea en el archivo de configuración contiene una instrucción para tomar todas las solicitudes del primer URL y redirigirlas a otra dirección URL. Como resultado, cuando el usuario intente revisar la página bancaria original, los redirigirán a la página modificada por Zeus que contiene el script malicioso.
Aquí vemos lo que hace este script paso a paso.
Si se verifica el usuario, se envían los datos interceptados (nombre de usuario, contraseña y código PIN) al cibercriminal (Zeus inserta su propio formulario en línea al código de la página, donde pide al usuario que escriba su contraseña y código PIN).
El usuario escribe sus datos en el sistema y espera que aparezca la página relevante para que se pueda manejar la cuenta. Sin embargo, el script retrasa la aparición de la página en el buscador. Para evitar levantar sospechas cuando la página no abre de inmediato, el script malicioso muestra el siguiente mensaje:
Como ahora se tiene acceso al sistema y el cliente está esperando los resultados de la supuesta revisión de configuración, el script no tarda en realizar las transacciones como si fuera el titular legítimo de la cuenta.
Un usuario podría tener acceso a múltiples cuentas. En ese caso, el script busca la cuenta con la mayor cantidad de dinero. El script revisa todos los enlaces hasta que encuentra la página de transacciones.
Para agregar un nuevo destinatario, el script emula un click del ratón en el enlace relevante de esta página:
Preparando un pago
Imitando la adición de un nuevo destinatario
El centro de comando del troyano pasa información detallada sobre la transacción: Nombre del destinatario, datos de la cuenta, Sort Code, destino de la transacción, comentarios y, por supuesto, la cantidad de dinero a ser transferida. Estos detalles se utilizan para llenar el formulario en línea.
Se puede iniciar la transacción cuando se ha especificado el destinatario. Sólo falta un paso importante: el usuario debe confirmar la transferencia utilizando el lector de tarjetas.
El script realiza todas estas acciones muy rápido. Mientras tanto, el usuario sigue esperando los resultados de la supuesta revisión de configuración. Durante ese tiempo, el usuario recibe el siguiente mensaje:
Al principio del proceso de verificación, el troyano escondió el recordatorio que decía que no se necesitaba el lector de tarjetas para ingresar al sistema y, como el usuario está seguro de que el banco envió el mensaje, lo más probable es que la tarjeta esté insertada en el lector. Si todo sigue su plan, lo único que debe hacer el script es presionar en el botón “Realizar Pago” para confirmar la transferencia de forma definitiva.
Y adiós al dinero…
Después de realizar la transacción, el script esconde todos los rastros de la transferencia: cambia el balance de la cuenta de vuelta a cómo el usuario esperaba que fuera, esconde el destinatario que agregó el script, esconde cualquier información relacionada en la columna de pagos realizados, etc. Como resultado, puede que pase algún tiempo antes de que el usuario se de cuenta de que falta dinero en su cuenta.
A pesar de que la protección antivirus está mejorando la seguridad de los bancos y modernizando sus sistemas en línea de forma constante para evitar que los cibercriminales accedan a ellos, los escritores de virus no se dan por vencidos y hacen todo lo posible para robar el dinero de la gente. Esto significa que los usuarios de bancos en línea necesitan estar más que atentos.
Si tu banco te dice que un dispositivo USB o un lector de tarjetas sólo se debe utilizar para confirmar las transacciones, utilízalo sólo con ese propósito, sin importar qué solicitudes de confirmación recibas ni cuán genuinas se vean.
Javascript malicioso vs. lector de tarjetas