Autenticar transacciones, no a las personas

Buenas,

Me declaro seguidor de Schneier por múltiples razones. Una de las muchas es que este hombre es bastante claro cuando emite opinión, y tiene la poco común habilidad de generar una conversación entre 300 personas con un post de una línea. Algo que muchos ya quisiéramos para nosotros :)

Cualquiera que siga a este señor se habrá dado cuenta de que lleva años (al menos desde 2005) haciendo críticas constructivas sobre la poca utilidad de la doble autenticación en banca en línea y en general, en cualquier actividad en Internet que requiera autenticación fuerte. También es frecuente ver a Bruce criticando que la seguridad se acabe delegando en los usuarios, porque al igual que para cierto segmento de usuarios con conocimiento suficiente y con un mínimo perfil tecnológico los mecanismos para advertir el fraude (alertas al móvil, correos avisando de transacciones, etc.) funcionan francamente bien, para el resto de los mortales no sucede igual. Basta con no tener informado el móvil o no tener acceso frecuente al correo para que estos mecanismos pierdan su utilidad.

La doble autenticación ha sido atacada ya en numerosas ocasiones, unas veces de manera sofisticada (con ataques man in the middle) y otras de manera cutre, pero efectiva (troyanizando una máquina y forzando a que, por ejemplo, el usuario introduzca todas las cifras de su tarjeta de coordenadas). En el mismo ensayo que cité antes, Schneier vaticinó que los primeros adoptantes experimentarían mejoras en los niveles de fraude consumado, ya que los atacantes irían a por los blancos más fáciles, pero que al final los atacantes irían ampliando sus miras. No se equivocaba.

Buscar posibles soluciones para paliar los problemas que supone la creciente sofisticación del malware, y que por consiguiente los sistemas de doble autenticación sean cada vez el objetivo de los ataques, puede parecer imposible, pero no lo es. Una manera de abordar el problema ya la documentamos recientemente, empleando autenticadores EMV. Pero hay una manera mucho más sencilla y económica de dificultar al máximo los quebrantos en entornos financieros en línea: los mTANs para autenticar transacciones.

La última experiencia que tengo a nivel usuario con mTANs (Mobile Transaction Authentication Number) es la que ha implementado Openbank cuando se invocan transferencias a cuentas que no son propias. Una reacción comprensible y normal, y que yo personalmente alabo, ya que Openbank no usa autenticación de doble factor, y la única protección que ofrece a la clave de operaciones es solicitar fragmentos de la misma, lo cual, ante un troyano, hace sonar las sirenas: son 8 posiciones, y tarde o temprano, se repiten. Este método de confirmación sólo funciona ya para traspasos entre cuentas propias, es decir, para autorizar transacciones que no salen de la entidad ni del ámbito del usuario.

La idea de un mTAN es muy sencilla, y muy efectiva. Se trata de generar un identificador único para cada transacción en particular que es enviado al usuario por un canal alternativo, usualmente, un mensaje SMS. La ventaja de un mTAN es que está asociado a un movimiento concreto de una manera íntima, siendo usualmente generado por la infraestructura de banca a distancia teniendo en consideración cuenta origen, cuenta destino, importe, divisa, tipo de operación, fecha y hora. En cristiano: un mTAN es un código de autorización que sólo es válido para una transacción que esté definida por esos parámetros.

Para entendernos y explicarlo de una manera muy sencilla, imaginaos que queremos transferir 100 euros de nuestra cuenta del banco 1 a nuestra cuenta del banco 2. La aplicación de banca a distancia generará un código teniendo en cuenta todos los parámetros, y asociará a la transacción un código que es enviado al usuario por SMS (por ejemplo, Ej54Ke8732w). El usuario tiene que usar ese número y volverlo a introducir en la aplicación de banca a distancia como única manera de autenticar la transacción. En caso de no introducirlo, o introducirlo de una manera incorrecta, la transacción simple y llanamente, no se realizará.

¿Y cuál es la ventaja? Los troyanos financieros están diseñados para para atacar la parte más débil de la cadena, y esa suele ser el usuario. El uso de mTANS cubre perfectamente este escenario, ya que si un troyano interceptase la mTAN y tratase de modificarla, la transacción quedaría anulada. Quizás logren tu usuario y tu contraseña, y puedan ver si tienes pasivo o no, cuáles son tus sitios favoritos para deslizar la tarjeta o cuáles son tus preferencias como inversor, pero a priori no pueden robarte el dinero. Otro tema es que con la información sustraída se presenten en la puerta de tu casa y te extorsionen en vivo y en directo, como ya ha sucedido alguna vez. Afortunadamente, estos escenarios no son los frecuentes, y no deberíamos temer por ellos.

La doble autenticación, pese a no representar por sí misma la solución a los problemas, no debe ser menospreciada, ya que puede ser parte de un sistema donde, por ejemplo, usemos la tarjeta de coordenadas en autenticación de la persona y los mTANs para autenticar las transacciones. Es igualmente factible emplear mTANs para ambos procesos. No obstante, que nadie piense que los mTANs son la panacea. Hay casos documentados donde se vulnera el sistema atacando la fuente receptora de los mTANs, los teléfonos (SIM swap fraud), y sobre el tapete la posibilidad de comprometer el sistema de generación y validación de los mTANs es factible. Extremamente complicado, pero es una posibilidad. Dicho esto, remarcar que la autenticación de transacciones por mTANs no es un método invencible, pero desde luego, a día de hoy, son mucho más efectivos que limitarse a autenticar a los usuarios.

Explicado el mecanismo, sus pros y sus contras, debo forzosamente coincidir con Schneier: el camino a seguir es autenticar transacciones y no a las personas. Creo igualmente conveniente que es hora de dejar de confiar ciegamente en los dobles factores de autenticación como la solución a nuestros males. El crimen organizado no explota vulnerabilidades en la autenticación, con lo que la doble autenticación no parece la solución al problema. Adicionalmente, tal y como sostiene Schneier, el hecho de concentrar esfuerzos para autenticar usuarios y no a las transacciones provoca que al final las estrategias de defensa se basen en defenderse de tácticas criminales en concreto y no de la actividad criminal en sí. No creo que sea el camino ni para atajar el problema, ni para reducir su impacto.

La época donde la doble autenticación frenaba a los amigos de lo ajeno hace tiempo que ha terminado, y mi previsión es que durante 2010 notaremos incrementos en los ataques contra estros sistemas. No creo que se produzca un alza muy notoria, ya que siguen existiendo blancos fáciles que confían en la autenticación simple, y además, desarrollar esquemas de ataque complejos no es algo que se logre de un día para otro, pero creo que veremos desarrollarse a la industria del malware en este sentido. El tiempo me dará o quitará la razón :)

Un saludo,

El futuro del malware en cajeros automáticos

Hola,

Aunque no es un informe recién salido del horno, Trustwave publicó el pasado mes de Mayo un informe en el que se realiza un interesante estudio de malware en autoservicios financieros aka cajeros automáticos. Un claro ejemplo de la profesionalización que se ha alcanzado en el bando de los chicos malos, ya que el bicho, entre otras prestezas, permite a los atacantes obtener mediante la impresora financiera del propio cajero todos los datos capturados o incluso provocar la expulsión del dispensador para sacar de él los billetes.

Sirva este ejemplo para reflexionar sobre a qué nos estamos enfrentando. La contaminación deliberada de cajeros es un tema que no goza de la popularidad de otras ramas del crimen organizado, como la troyanización de equipos de usuario, el spam, las farmacias en línea ilegítimas y otras actividades delictivas similares, con lo que es difícil documentarse con casos reales bien trazados. El informe de Trustwave es uno de ellos.

Afortunadamente la seguridad física y en algunos casos lógica que tiene un cajero son suficientes, por norma general, para amedrentar a los posibles atacantes, pero este es un nicho candidato a ser objetivo para el año 2010. Aunque la tasa de incidentes por cajero operativo no es representativa, ya que la amplísima mayoría de los mismos están bien protegidos, la progresiva conversión de unidades financieras especializadas en PCs convencionales con periféricos ha abierto las puertas a posibles oportunidades.

Para que os hagáis una idea, en Reino Unido el 90% de los cajeros son Wintel. Atrás quedaron los terminales basados en OS/2, siendo ahora la tónica del mercado la instalación de terminales que corren Windows XP Embedded, una edición especial de XP Professional en la que es posible elegir qué componentes queremos instalar mantieniendo la disponibilidad plena de Windows API, lo que lo hace ideal para montar encima aplicaciones de cajeros. Además la gran mayoría de los clientes corporativos tiene experiencia y recursos para mantener cómodamente soluciones Windows, existen infinidad de productos para gestionar su funcionamiento, los periféricos financieros funcionan bien y sin complicaciones en Windows, y el desarrollo de aplicaciones para estas plataformas es relativamente sencillo. Es un sistema atractivo para operar cajeros.

Pero no todo podía ser de color rosa en esta historia, ya que sabemos que los troyanos sienten la misma predilección por Windows que las corporaciones a la hora de seleccionarlo como plataforma, y es ahí donde se abre la veda que antes apenas existía para OS/2. Si ya era duro encontrar desarrolladores para funciones legítimas, no os digo nada sobre reclutar criminales para desarrollar funciones maliciosas en el sistema de IBM.

A buen seguro, y volviendo al título del post, tendremos dos meses por delante plagados de opiniones sobre lo que nos deparará el 2010 en lo que a seguridad se refiere. Además del sempiterno auge del malware en dispositivos móviles (ese que hasta el día de hoy nunca se ha producido, y que se lleva pronosticando años) no es descartable que los analistas mencionen el malware en terminales financieros en sus informes de tendencias, además de las típicas vaguedades generalistas que suelen incluír, como todos a la nube si o no, este será el año de Linux en el escritorio sí o no, o todos tendremos pantallas a lo Minority Report sí o no.

Yo no suelo hacer predicciones, pero sin que sirva de precedentes, voy a hacer una. Algunos la veréis obvia, y otros consideraréis que todavía es pronto para mojarse, pero creo que en 2010 vamos a ver muchos incidentes protagonizados por malware en cajeros. La razón que me lleva a pensar esto es que durante 2009 los troyanos han alcanzado un nivel de sofisticación espectacular, con lo que creo que los amigos de lo ajeno están definitivamente preparados para ir a por la pasta contante y sonante que reside en los cajeros mediante métodos alternativos al clonado y obtención del PIN.

Esto, junto al hecho de que 2009 no ha sido precisamente un año de alegría y champán en cuanto a dotaciones presupuestarias e inversiones en seguridad, me hace pensar que a buen seguro veremos avances en este campo. Sinceramente, espero equivocarme por el bien de todos.

Un saludo, y comentamos el año que viene. Entre tanto, sentíos libres de escribir aquí vuestras previsiones, si es que alguien quiere frotar un poco la bola de cristal, claro :)