miércoles, 15 de agosto de 2007

Fraude a la banca electrónica con OTP

No es nada nuevo y además era previsible. Los usuarios de entidades
que han implantado sistemas basados en OTP comienzan a sufrir con
regularidad ataques de phishing y troyanos.

Los sistemas de autenticación OTP (One Time Password), que al español
se traduciría como "contraseña de un solo uso", son aquellos que
requieren una contraseña nueva cada vez que se utiliza. Una especie de
contraseña de usar y tirar, que minimiza el impacto de que un tercero
pueda capturarla.

La idea es que si alguien o algo espía y averigua que introduzco la
clave "390827" para entrar o firmar una operación en mi banca
electrónica, ese dato no le servirá para suplantarme. Ya que la
próxima vez que entre en mi banca electrónica la clave será
otra diferente: "220948".

Por norma general los sistemas OTP están asociados a unos tokens
hardware que son los que generan la clave correcta en función de
determinados parámetros (clave anterior, sincronización por tiempo con
el servidor de autenticación, etc). A efectos prácticos, el caso más
común es que el usuario cuente con un dispositivo, similar a un
llavero o una tarjeta, que al pulsar un botón devuelve en su pantalla
la nueva clave. Algunos ejemplos gráficos cortesía de Google:
http://images.google.com/images?svnum=10&q=one+time+password

Este sistema de autenticación se empieza a prodigar cada vez más entre
entidades bancarias como clave de firma u operaciones, en combinación
con el usuario y contraseña estática de toda la vida. Es decir, para
entrar a nuestra cuenta nos pediría usuario y contraseña normales, y
para realizar algunas operaciones sensibles, como por ejemplo una
transferencia, nos solicitaría la contraseña dinámica OTP.

Con la combinación de ambos sistemas tenemos la tan traida y llevada
autenticación por doble factor: algo que el usuario sabe (el usuario y
contraseña estática), y algo que el usuario tiene (el hardware OTP).
La idea es que si al usuario le sustraen el usuario y contraseña
estática el estafador no pueda realizar transacciones, y si el usuario
pierde el token OTP tampoco puedan aprovecharlo porque no conocen el
usuario y contraseña de acceso. En resumen, complican la vida al
hipotético atacante.

Un ejemplo de pseudo token OTP primitivo y económico, tal vez más
cotidiano entre usuarios españoles, es la tarjeta de coordenadas con
claves que algunas entidades utilizan como contraseña de operaciones.
Suele tratarse de una tarjeta de plástico, similar a una tarjeta de
crédito, con una matriz de casillas que contienen diferentes claves
impresas. Cada vez que realizamos una operación la entidad nos pedirá
una coordenada, por ejemplo la C4 (fila C, columna 4), y tendremos
que introducir la contraseña de esa casilla.

Aunque estos sistemas de autenticación de doble factor son siempre más
robustos que el tradicional usuario y contraseña estática, no son
infalibles. De hecho hasta la fecha se han dado contados ataques más o
menos sofisticados: páginas de phishing normales y corrientes
solicitando la próxima clave del token hardware (en caso de que el
algoritmo de generación esté basado en la anterior clave y no
sincronizado con el tiempo), páginas de phishing que realizan ataques
"hombre en medio" en tiempo real en caso de que el OTP si esté basado
en la sincronización del tiempo, pasando por algunos más rústicos pero
no menos efectivos como pedir al usuario que envíe una fotocopia por
fax de su tarjeta de coordenadas, hasta los troyanos más avanzados
que inclusive burlan esquemas basados en la firma digital.

Si bien las debilidades de estos sistemas suelen ser conocidas (aunque
de vez en cuando alguien se sorprende cuando hablamos de los posibles
vectores de ataque, sobre todo contra la firma digital), su
implantación supone un aumento real de la seguridad para el cliente y,
hasta la fecha, un descenso de las campañas de fraude contra la
entidad.

Es lógico pensar que dada dos entidades bancarias, una que utiliza
usuario y contraseña estática frente a otra que utiliza doble factor
de autenticación, el estafador fije su atención en la que tiene el
sistema de autenticación más débil. No en vano, el estafador siempre
busca la mayor rentabilidad, y ésta la encuentra en el sistema de
autenticación tradicional: menor esfuerzo en el ataque (diseñar una
página de phishing es muy simple) y mayor cantidad de posibles
víctimas (el usuario tan sólo tiene que introducir su usuario y
contraseña y le servirá para suplantarlo indefinidamente).

Así era, y sigue siendo, sin embargo se observa con preocupación el
aumento de ataques contra sistemas OTP. Lo que hasta la fecha se
venía observando como ataques aislados o pruebas de concepto,
comienza a repetirse con cierta regularidad.

Un ejemplo reciente contra sistemas OTP puede verse en:
http://blog.hispasec.com/laboratorio/233

Es natural que a medida que se popularicen estos sistemas de
autenticación también evolucionen las estafas y ataques. En algunos
casos ni siguiera es necesario un avance tecnológico, basta con
la picaresca para hacer caer el eslabón más débil del sistema.

Ésto no debe ser excusa para que las entidades que utilizan
exclusivamente contraseñas estáticas no evolucionen e implementen
nuevos sistemas de autenticación. Aunque no hay sistema infalible,
la contraseña estática es la más vulnerable a todos los ataques.

El OTP tradicional, aunque es mucho más robusto y recomendable que
la contraseña estática, empieza a ser un objetivo, hay que seguir
avanzando. Al fin y al cabo, no deja de ser una carrera de fondo
en la que de vez en cuando las entidades deben dar un tirón, para
distanciarse del pelotón, diferenciarse, y dejar de ser una
víctima rentable ante los ataques mayoritarios.


Bernardo Quintero
bernardo@hispasec.com


Más información:

Phishing al OTP de Banamex (NetKey)
http://blog.hispasec.com/laboratorio/233