Carteras digitales: máxima usabilidad, ¿máxima seguridad?
Introducción La mayoría de nosotros estamos ya más que acostumbrados al uso de carteras digitales en el móvil. Rara vez llevamos tarjetas bancarias físicas con nosotros en nuestra vida diaria y nuestros viajes, al menos en mi caso. Si también eres un “heavy user” de tu cartera digital en el móvil, la investigación presentada en este artículo científico te interesará. Se analizan las vulnerabilidades encontradas en el estudio, el impacto que tienen, y veremos que proponen los investigadores para su remediación y sacaremos conclusiones. Carteras digitales Por empezar por el principio, definamos las carteras digitales y su utilidad. Son una nueva forma de tecnología de pago que proporciona una manera segura y conveniente de realizar pagos “sin contacto” a través de dispositivos inteligentes como un teléfono móvil. Las aplicaciones más conocidas son: Gpay (Android), ApplePay (iOS), PayPal, etc. Desde la aplicación podemos incorporar las tarjetas de nuestro banco, autorizar el uso de esta nueva forma de pago y a partir de allí llevar la tarjeta en nuestro móvil y realizar pagos o incluso retirar dinero de los cajeros usando la tecnología NFC de nuestro terminal móvil. Sin duda una mejora significativa a la usabilidad y comodidad del usuario ya que hoy día el teléfono es “de facto” el primer elemento que nos aseguramos de tener antes de salir de casa y, con la cartera digital y la digitalización de los sistemas nacionales de identificación (como ya es el caso del carnet de conducir en España y pronto el DNI) casi el único necesario junto a las llaves. Pero la interesante investigación que mencionamos plantea si el equilibrio entre la usabilidad, incontestable, y la seguridad es el adecuado, planteando una serie de preguntas: Autenticación: ¿Cuál es la efectividad de las medidas de seguridad impuestas por el banco y la aplicación de cartera digital para agregar una tarjeta a la cartera? Autorización: ¿Puede un atacante realizar pagos utilizando una tarjeta robada a través de una cartera digital? Autorización: ¿Las acciones de la víctima, es decir, (a) bloquear la tarjeta y (b) reportar la tarjeta robada y solicitar un reemplazo, son suficientes para prevenir pagos maliciosos con tarjetas robadas? Control de acceso: ¿Cómo puede un atacante eludir las restricciones de control de acceso a tarjetas robadas? En definitiva, el pago a través de carteras digitales agrega un nuevo actor a la película: la aplicación de cartera digital y su integración en los dispositivos inteligentes junto a la confianza de los bancos en estas. Es precisamente ese nuevo ecosistema de pagos digitales, que admite una delegación de autoridad descentralizada, lo que la hace susceptible a varios ataques. Tabla resumen de los hallazgos de la investigación presentadas la semana pasada en la conferencia de seguridad USENIX. A continuación analizaremos con más detalle las principales debilidades/vulnerabilidades encontradas por los investigadores y resumidas en la anterior tabla. Los bancos confían demasiado en las carteras digitales sin comprobar la propiedad de las tarjetas. Autenticación: Proceso de añadir tarjetas a la cartera digital Según la investigación, el principal problema reside en el hecho de que algunos bancos no imponen la autenticación multifactor (MFA) y permiten a los usuarios agregar una tarjeta a una cartera mediante la autenticación basada en el conocimiento, un procedimiento para el cual los atacantes pueden usar datos y información personal filtrados o expuestos por la víctima para hacerse pasar por el verdadero titular de la tarjeta al agregar la tarjeta a la cartera digital. ✅ Por ejemplo, un atacante puede agregar una tarjeta robada a su cartera digital utilizando el código postal, la dirección de facturación u otros detalles personales de la víctima que pueden descubrir fácilmente en internet o que pueden ser incluidos con el paquete de tarjetas robadas por parte de un vendedor en la dark web. En multiples ocasiones se deja al usuario de la cartera decidir por el mecanismo de autenticación a utilizar entre los disponibles en los acuerdos entre el banco y la aplicación de cartera dígital, cuando, en realidad, se debería optar siempre por aquel más seguro de entre los disponibles. Autorización: Momento del pago En el momento del pago a menudo, al menos es mi caso, se utiliza la opción de uso de parámetros biométricos para aceptar los pagos en un terminal de venta y esto por diseño no es correcto al 100%. Es una autenticación fuerte desde la perspectiva técnica, pero sin embargo no estamos demostrando lo que se requiere en el uso de una tarjeta física (la posesión de la tarjeta y nuestro uso legítimo de ella, por ejemplo con un clásico PIN) sino la posesión de un terminal inteligente y de una tarjeta disponible en una cartera digital, y eso no es lo mismo. Numerosos bancos permiten el uso de la misma tarjeta en varios terminales, algo útil, por ejemplo, para aquellos usuarios que utilizan más de un terminal o por ejemplo para padres de familia que permiten el uso de ciertas tarjetas bancarias a sus hijos. ⚠️ Sin embargo, esto facilita la labor de los atacantes en el caso de hacerse con una tarjeta robada, aprovechando el tiempo entre la sustracción y la notificación de pérdida, si consiguen asociar la tarjeta a su cartera digital, a partir de entonces podrán hacer uso de ella para futuros pagos simplemente por ser dueños de un terminal propio, algo que logicamente cumplen. Autorización: ¿Qué sucede con las tarjetas robadas? Un resultado todavía más sorprendente de la investigación, es la falta de rigor en procesos críticos, como la notificación de bloqueo o robo de una tarjeta por parte de la víctima. Los investigadores hallaron que incluso si la víctima detecta que su tarjeta fue robada, bloquear y reemplazar la tarjeta no funciona al 100%, y el atacante aún puede usar la tarjeta previamente agregada en su cartera sin requerir (re)autenticación. El problema principal aquí es que los bancos asignan a las carteraa digitales un PANid (Identificación del Número de Cuenta Principal) y un token de pago cuando agregan una tarjeta. Cuando se reemplaza una tarjeta, algunos bancos emiten un nuevo PANid y un token de pago a todas las carteras donde se agregó la tarjeta, asumiendo que todas las carteras están controladas por el propietario legítimo. Esos tokens permiten a los atacantes continuar usando sus carteras digitales, pero ahora autorizados para realizar compras con la tarjeta reemitida. ⚠️ Esto es grave, un claro ejemplo de confianza excesiva entre el banco y la cartera digital: asumiendo que las tarjetas en las carteras digitales son legítimas, asocian el nuevo identificador de la tarjeta al mismo token de pago ya presente con la antigua tarjeta permitiendo un uso fraudulento, aún en el caso de que dicha tarjeta haya sido reportada al banco por la víctima. Control de acceso: Pagos one-time vs recurrentes El útlimo punto a destacar de la investigación realizada, es la diferencia entre las políticas impuestas por los bancos a pagos individuales y pagos recurrentes. Los bancos permiten, en su mayoría, los pagos recurrentes aún sobre tarjetas bloqueadas con el objetivo de generar el mínimo impacto en los clientes en sus servicios, pongamos por ejemplo, una suscripción a Netflix o algo similar. Sin embargo, es la tienda online la que tiene la exclusiva potestad de definir y etiquetar si un pago se marca como recurrente o un one-shot. La comprobación de la veracidad de la naturaleza recurrente de un pago, deja mucho que desear, según han descubierto los investigadores empiricamente, pudiendo pagar por servicios, que en buena lógica, no deberían ser recurrentes ni por las características del mismo, como la compra de una tarjeta regalo o el alquiler de un coche, ni por el importe de cada pago, ni por la cadencia en los mismos. Este déficit en la validación de los pagos recurrentes puede permitir a un atacante utilizar una tarjeta robada para pagos que serían bloqueados si fuesen etiquetados como one-shot, con la complicidad de un negocio complice, o simplemente buscando los comercios que definen por defecto así sus pagos. Mitigaciones Repasemos las medidas que los autores proponen para paliar las deficiencias detectadas en su investigación. Autenticación: Esto se puede prevenir fácilmente imponiendo la MFA y enviando un SMS o notificación push al número de teléfono de la víctima, un desafío que no muchos atacantes podrían superar al menos de una manera pasiva. Autorización: Una vez que la cartera digital está autenticada y se emite un token de pago, el banco utiliza el token indefinidamente, que nunca expira. Esto establece una confianza incondicional hacia la cartera que ni expira ni cambia, incluso en eventos críticos como la pérdida de la tarjeta, la pérdida del dispositivo y la eliminación de la tarjeta. Los bancos deberían adoptar un protocolo de autenticación continua, autenticar la cartera digital y refrescar el token de pago periódicamente, como mínimo después de eventos críticos como la pérdida de la tarjeta. Pagos recurrentes: Hoy día, el banco se basa en la etiqueta de tipo de transacción asignada por el comerciante para decidir el mecanismo de autorización. El banco realmente debería evaluar los metadatos de la transacción y validarlos (por ejemplo, tiempo, frecuencia y tipo de servicio/producto), con la información del historial de transacciones para evaluar si la transacción es de un cierto tipo o no. Se necesitan mejores medidas de seguridad para evitar el fraude y el abuso en los pagos móviles. Conclusiones Este estudio está basado en entidades bancarias americanas, pero con mucha probabilidad sea extensible a otras entidades bancarias a nivel mundial. La confianza de los bancos en las carteras digitales es a día de hoy excesiva y busca una interacción fluida con el usuario final, algo bueno por naturaleza, se deberían revisar cuidadosamente los procesos críticos como la agregación de una tarjeta a una cartera para bastionarlos y asegurar la pertenencia legítima de la tarjeta por parte del usuario y realizar una comprobación periodica de que esto sigue siendo así, a lo largo del tiempo. La biometría no garantiza la autenticación fuerte en los pagos con carteras digitales. El uso de la biometría para realizar un pago tiene “visos” de autenticación fuerte, pero en el caso de las carteras digitales, no comprueba lo esencial para un pago sino que un un usuario posee de forma legitima un terminal, nada realmente relacionado con la tarjeta que estamos utilizando. Este desfase de diseño es un agujero de seguridad por donde los atacantes pueden colarse… huele a que hay que mejorar bastante los “casos de abuso” en el ciclo de desarolllo seguro de aplicaciones de carteras digitales y su integración con entidades bancarias. Como dicen en Galicia, Amiguiños sí, pero a vaquiña polo que vale.
28 de agosto de 2024