¿es Fintonic seguro? (I)

¿seguro?


Esta entrada va a resultar un rollo: larga, con poca información relevante, llena de capturas, trazas de tráfico, código fuente "des-ensamblado", etc. Así que voy a hacer dos cosas: 1) un resumen ejecutivo, y 2) dividir la información en dos entradas.

Atentos, el resumen: FINTONIC es un servicio interesante que te ayuda a llevar las cuentas de tu economía doméstica. Para ello guarda tus claves de los bancos que configures (las claves para acceder online a tus cuentas en tus bancos). He analizado la versión WEB y las apps para Android e IOS y, "lamentablemente", no he encontrado ninguna vulnerabilidad. Todo esto habría sido más divertido si hubiera encontrado un montón de agujeros de seguridad muy graves ("si pones como login PEPE puedes ver los datos de cualquier usuario", por ejemplo).

En realidad, me comprometí a probar el servicio y dar mi opinión y, aunque no he descubierto nada grave, quiero enseñar aquí lo que he probado. También me apetecía probar algunas técnicas aprendidas en el curso "Smartphone Apps Hacking and Reversing" de Vulnex


FINTONIC es un agregador de información financiera personal. En breve: creas una cuenta en Fintonic, das de alta en tu cuenta de Fintonic tus bancos (con tus datos de identificación de cada banco, normalmente NIF y clave de consulta de movimientos) y, a partir de ahí, la plataforma actualiza diariamente tus movimientos y te muestra esta información de forma agregada. Agrupa tus gastos por categorías, muestra un cuadro de situación de cuentas, tarjetas de crédito, hipotecas, préstamos, cartera de valores, fondos, etc.

Tiene tres versiones: WEB, Android (más de 10.000 descargas) e IOS.

Estos datos no son míos (por suerte)


Personalmente, el servicio me ha gustado bastante, sobre todo porque:
  1. Agrupa gastos relacionados de cuentas diferentes. Por ejemplo, si tienes tres viviendas es probable que los gastos de luz no estén en la misma cuenta o que pagues la gasolina con varias tarjetas diferentes pero te gustaría ver todos los gastos de gasolina agrupados,
  2. Muestra la información de carteras de inversión y productos financieros de forma natural. En algunos bancos es difícil saber cuánto valen tus acciones o cuál es el valor actual de un fondo, por ejemplo.
  3. Es gratuito para el usuario final aunque, como dice el axioma de Internet, el usuario se convierte de alguna manera en "producto": Fintonic "vende" a otras empresas el acceso a sus clientes (las empresas pueden enviar sus ofertas a los clientes en forma de "recomendaciones de ahorro / inversión / ...").
  4. La versión Android, que es la que uso habitualmente, está muy bien hecha. Bien estructurada, datos claros, no hay información confusa, etc. Esto es relevante, ¿imaginas una aplicación financiera que mostrara "-620.000€" y no supieses de donde sale ese número?
Por supuesto, hay revisiones más completas de Fintonic, por ejemplo en el propio dossier de prensa de Fintonic.

¿Es seguro FINTONIC?
Antes de responder categóricamente a esto, habría que definir los riesgos a los que se enfrenta una aplicación de este tipo, el nivel de protección que tiene el servicio y si las medidas de seguridad ofrecidas son proporcionales al valor de lo que se quiere proteger y a los potenciales "ataques" que podría recibir el servicio.

En mi opinión, el riesgo principal para los usuarios de Fintonic es que sus claves caigan en manos de terceros con malas intenciones. Las claves de los bancos que se dan de alta en Fintonic son las claves de consulta, es decir, no hace falta meter tarjetas de coordenadas, ni ningún otro mecanismo usado para validar transacciones (1). Por otra parte, la clave de acceso a Fintonic no parece guardarse (2) y el usuario debe teclearla cada vez (tanto el identificador, una dirección de e-mail, como la clave de acceso). Si estas claves se ven comprometidas sólo nos arriesgamos a que un atacante pudiera conocer nuestra situación financiera, los productos bancarios que tenemos, las cuentas que manejamos, etc. Desagradable, por supuesto, pero no muy peligroso para nuestro patrimonio.

(1) Por supuesto, hay mecanismos de seguridad que son imposibles de almacenar en ningún sitio, como validaciones en dos pasos basados en SMS o tarjetas que generan tokens de seguridad.
(2) Fintonic no guarda las claves pero en la versión Web se podría extraer el usuario y la clave tecleadas de un volcado de la memoria del sistema (como expliqué aquí). 

Por lo que he visto hasta el momento, no es fácil interceptar las claves del usuario. Si un atacante captura el tráfico entre la aplicación y el servicio (con un esquema MiTM sobre una conexión WI-FI, por ejemplo) sólo vería un montón de peticiones cifradas (3). Por otra parte, las apps (tanto Android como IOS) no almacenan las claves de los bancos del usuario que están en el servidor y, por otra parte, no parecen exponer alegremente la información de acceso a Fintonic.
(3) Fintonic usa, como primera opción, TLS_RSA_WITH_RC4_128_MD5 en Android y Web; TLS_ECDHE_RSA_WITH_RC4_128_SHA en IOS. No he probado a intentar hacer downgrade a protocolos menos seguros.

Así que sólo quedan tres posibles vías de ataque:
  • Acceder a los servidores de Fintonic y extraer la información de los clientes directamente de las plataformas de servicio. No he gastado ni un segundo en investigar cuán seguros son los servidores de Fintonic; básicamente porque lo que quería probar eran las aplicaciones. Tampoco me pareció "elegante" intentar jugar con una plataforma que está en servicio.
  • Meter un rootkit en los terminales Android o IOS para capturar la clave del usuario y enviarla a algún servidor controlado por el atacante. Lo mismo se podría hacer con un keylogger en el PC (para la versión Web del servicio). Por supuesto hay poca defensa ante un rootkit aparte de no instalar aplicaciones de origen dudoso, evitar el uso de terminales "rooteados" o "jailbreakeados", etc. Estas medidas de protección básicas son, claramente, responsabilidad del usuario.
  • Capturar la clave del usuario mientras este la teclea en su móvil en un lugar público. Parece algo de sentido común pero no hay que teclear las claves de uno en presencia de otras personas.

En la próxima entrada describiré las pruebas que realicé con las diferentes versiones de la aplicación y los resultados de las mismas. A continuación el trailer de la siguiente entrada.


Reversing en IOS

Reversing en Android

Una captura de tráfico (MiTM)

<¿es Fintonic seguro? (I) />

24 comentarios:

  1. le he echado un vistazo a este post antes de instalarlo.. me quedo más tranquilo

    ResponderEliminar
  2. Lo mismo digo, voy a registrarme y a configurar la App. Creo que no debe ser mucho más inseguro ya que desde la web del banco también entro tecleando los códigos desde un PC. Saludos

    ResponderEliminar
  3. Muy buen trabajo. Gracias por publicar tus conclusiones. Un saludo.

    ResponderEliminar
  4. Con este post me quedo mas tranquila! Gracias :)

    ResponderEliminar
  5. Desde luego, si no formas parte del equipo de Fintonic, me parece una información muy interesante para los que desconfiamos de todas estas cosas y nos das seguridad en confiar en el programa. gracias .

    ResponderEliminar
  6. GRACIAS POR LA INFORMACIÓN, ME HA RESULTADO MUY ÚTIL

    ResponderEliminar
  7. Solo mi opinión:No hay nada seguro y menos si los administradores de Fintonic administran las claves de los clientes.

    ResponderEliminar
  8. Además de las claves, esta empresa va a conocer tu economía y el dinero que tienes. Creo que esa información es muy personal y que hay que tener mucho cuidado con estas cosas en los tiempos que corren.

    ResponderEliminar
    Respuestas
    1. Totalmente de acuerdo, será seguro para un posible robo de patriminio pero no para tu intimidad financiera.

      Eliminar
  9. Yo no me fío... prefiero tener un programa "off line" en mi ordenador personal para estas cosas... nunca sabes dónde pueden ir a parar tus datos y más aún los financieros..

    ResponderEliminar
  10. A día de hoy no hay nada seguro.. pero al fin y a cabo, el mayor peligro es que puedan conocer las claves de acceso para ver los datos financieros de cada uno. No pueden hacer nada con el dinero. Y las claves siempre se pueden cambiar, de hecho yo las he cambiado varias veces. No reparamos en ocasiones en cosas más peligrosas como que cuando pagamos con tarjeta, el receptor físico de la tarjeta puede ver en todo momento nuestro código de control. Obviamente para que tener este código en su poder fuera útil, tendría que conocer el número de la tarjeta así como su fecha de caducidad...pero a saber.. No sé si haré uso de Fintonic, porque tengo otras maneras de gestionar mis gastos mensuales, pero aunque en un principio me dio algo de miedo, creo que no es tan peligroso como hacia donde nuestra mente se imagina que puede ser.
    Un saludo a todos!

    ResponderEliminar
    Respuestas
    1. Gracias al post y completamente en sintonía con el comentario. En mi caso con un sueldo obrero y una hipoteca creo que será mayor el beneficio que pueda obtener de la aplicación que el perjuicio de información financiera.

      Eliminar
    2. No es 100% anónimo, los textos tienen tu nombre, nombres de receptores etc. Y según que bancos, las credenciales supuestamente de lectura, tambien te permiten ciertas operaciones y por tanto, podrias llevarte un susto, porque el unico responsable eres tú.

      Eliminar
  11. Muchas gracias por compartir tus conclusiones.
    Me quedo bastante más tranquilo

    ResponderEliminar
  12. Desinstalando, gracias!!

    ResponderEliminar
  13. Desde luego, todavía queda gente ingenua.

    ResponderEliminar
  14. Muchas gracias por el blog. Muy útil.

    ResponderEliminar
  15. Muchas gracias por el blog. Muy útil.

    ResponderEliminar
  16. Gracias!! Uso Fintonic hace tiempo, sin ningún problema sino todo lo contrario, me parece una herramienta super útil con la que ahorras dinero pero también tiempo. Pero siempre que la recomiendo me encuentro con las resistencias de la gente hacia su seguridad. Da igual que expliques que tiene todas las garantías, que no puedes mover el dinero desde la app, mucha gente desconfía. Tu análisis quizás sea en algunas partes difícil de entender para cualquiera, pero en general es bastante revelador. Lo voy a compartir. Porque luego esas mismas personas compran cualquier cosa en cualquier sitio de internet sin miedo. Es un poco contradictorio ¿no?

    ResponderEliminar
  17. No es contradictorio. Con Fintonic estás cediendo tus credenciales bancarias que si bien son solo de lectura revelan toda tu informacion financiera. En caso de verse comprometidas estas credenciales, pones a disposicion de cualquiera todos tus datos personales (nombre, dni, domicilio, etc) ,numeros cuenta, de tarjeta de credito/debito, codigos PINs, codigo de comercio seguro, vamos que te quedas con el culo al aire y Fintonic hace como Poncio Pilatos, con el agravante que TODAS tus credenciales estan en un unico servicio, pudiendo dejarte en una situación tremendamente delicada en caso de poder acceder a sus servidores.En el caso que comentas de hacer transacciones online es mucho mas facil delimitar cortafuegos o establecer limites de visibilidad con tarjetas recargables, servicios tipo Paypal, etc con las garantias legales que ofrecen. Por tanto, ojito, no todo el monte es oregano.

    ResponderEliminar
  18. Hay banco como ING cuya clave es la misma para acceder que para operar: un código de 6 dígitos de los que te piden algunos aleatoriamente.

    En este caso, quedaría muy comprometido.

    ResponderEliminar
  19. Siendo tú el único responsable legal por ceder tus credenciales a un tercero. No es para tomar a la ligera la decision.

    ResponderEliminar