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,

11 comentarios sobre “Autenticar transacciones, no a las personas

  1. Hola Sergio.
    Actualmente en los pagos realizados por Visa y La Caixa emplean el metodo mTANs, expuesto por ti y yo, aun siendo un usuario avanzado, he de decir que aporta un nuevo grado más de seguridad y por tanto de tranquilidad en el uso diaro de los pagos electronicos.

    Saludos

  2. Me parece que esta web VENDE HUMO, un poco como Enrique Dans.
    Se ve a la legua que no tienes conocimientos informáticos, y que simplemente hablas de lo que dicen los manuales que se debería hacer o dejar de hacer. Me apuesto el portátil desde el que escribo a que ni has programado un exploit en tu vida (por no hablar de descubrirlo…).
    Sería mejor que cerraras este blog, desvirtúas la labor de la gente que controla.

  3. Hola Yomismo,

    Tengo dos preguntas. La primera, ¿qué tiene que ver lo que cuentas con los mTANs y la autenticación de transacciones?

    La segunda. ¿Dónde debo acudir para aprender todo eso que dices que desconozco? Confieso que me esfuerzo y tengo algunas referencias en este campo que trato de seguir para mejorar mi conocimiento, pero si me facilitas tu blog o tus papers para aprender y documentarme, yo encantado.

    Un abrazo.

  4. Buenas Sergio,

    Los sistemas que utilizan validación OTP hace años que se están utilizando, la banca ha tardado un poco aplicarlos, es curioso el nombre mTANs ;p.

    Felicitaciones por tus artículos,

  5. n3cr05,

    No me cabe duda de que no son nada nuevo, pero bueno, tampoco han sido soluciones muy extendidas por múltiples razones: no todo el mundo tiene su móvil informado, y no siempre ha sido barato comprar paquetes de mensajes SMS. Y no hace mucho que la gran mayoría de personas hacían cola en las oficinas :)

    Un saludo, y me alegro de que te guste el blog.

  6. Hola Sergio, A tenor de la ltimos ataques a las
    autenticaciones via TAM
    (http://www.cio.co.uk/news/3414901/eurograbber-online-banking-scam-netted-245m/),
    qu alternativas seguras nos quedan? Si se han de proponer mtodos
    alternativos de autenticacin de transacciones, solo nos quedara ya
    como razonablemente segura la autenticacin de dos factores mediante
    token fsico (tipo RSA)? Sabemos que el conste de proporcionar estos
    tokens a cientos de miles de clientes es alto, y requerira de un
    estudio exhaustivo y un anlisis de riesgo. cul es tu punto de
    vista? Gracias de nuevo por tu blog. Un abrazo, Fernando.

Comentarios cerrados.