Les attaques de Soft-token et les mitigations

2fa

Nous en parlions il y a quelques jours, l’authentification-forte (2FA) via des OTP reçus par SMS est considérée comme obsolète par le NIST. Qu’en est-il des soft-tokens sur smartphone?

Plusieurs solutions ont été évoquées, et parmi elles, l’autre méthode qui exploite les téléphones / smartphones (facteur, il faut le dire, que tout un chacun porte constamment sur lui), est le “soft-token” ou l’utilisation “d’application OTP-token sur smartphone”.

De telles applications, à l’heure actuelle, sont loin d’être jugées dépréciées et sont d’ailleurs recommandées dans bien des cas.

On note les applications “soft-token” de génération d’OTP temporaire (code à 6 chiffres toutes les 30 secondes par exemple), tel Google Authenticator :

2fa-apps-2-500

Ces applications permettent de réaliser de la 2FA (facteur “ce que l’on possède : le smartphone”), tout en étant déconnecté du réseau. Seul un secret partagé et une synchronisation temporelle avec le serveur sont nécessaires.

Mais il y a également les “soft-token” de type “Swipe”, qui se démocratisent et séduisent de nombreux clients/entreprises. Un simple geste de “dévérouillage” suffit pour réaliser le second-facteur.

Notre partenaire PingIdentity avec  sa solution PingID, ainsi que inWebo proposent de telles solutions sur smartphones :

pingid

Toutefois il y a des risques et des attaques existent à l’encontre de ces applications.

Bernhard Mueller, un expert sécurité de VantagePoint a mis à disposition une étude analytique complète, technique et agrémentée de PoC illustrant les faiblesses de ces systèmes. Il en résulte plusieurs conseils et bonnes-pratiques pour amoindrir (mitiger) les attaques visant les soft-tokens, que nous vous synthétisons ici.

Note : l’analyse réalisée ne concerne que les applications soft-tokens de génération d’OTP temporels (pas les swipe).

Soft token apps for Android and iOS are modern implementations of the second factor. Many soft token products consider the mobile operating system as trusted, but provide little additional protection of the secret data in case the default containerization mechanisms are broken. Unfortunately, an increase in mobile banking Trojans and root malware is expected in the coming years. When the victim’s device is rooted, soft token apps that don’t implement additional protections are exposed to (remote) cloning attacks.

Plusieurs stratégies de mitigations :

  • Activer la fonctionnalité du PIN
    • Une des défenses illustrée dans ce paper consiste à activer la fonctionnalité du PIN code arbitraire dans les soft-tokens. La génération des OTP doit dépendre de ce PIN code. En guise d’exemple, la solution de notre partenaire RSA SecurID réalise 5 rondes de chiffrement symétrique AES avant de délivrer l’OTP, et le PIN-code est utilisé dans la dernière ronde. Si le PIN-code n’est pas défini par l’usager, alors c’est la valeur par défaut “0000” qui est utilisée, affaiblissant ainsi la sécurité globale et ouvrant la voie à du cloning de soft-tokens plus aisé.
    • Un attaquant dérobant la configuration du soft-token de votre smartphone ne disposera pas de ce PIN-code, et donc aura 3 chances sur 10 000 pour déterminer l’OTP (avant verrouillage).
  • Conscience & sécurité
    • Un autre aspect, plus général, consiste à s’informer et être conscient de la sécurité. En effet, un smartphone “rooté” et/ou “jailbreaké” permet à l’utilisateur (et aux applications) de disposer de tous les privilèges sur l’équipement. Ainsi les malwares peuvent plus facilement atteindre les configurations de ces soft-tokens et les dérober.
    • De plus, éviter de vous connecter à vos comptes (bancaires) depuis le même équipement que celui générant les OTP : l’authentification forte est amoindrie, car ce n’est plus “ce que l’on sait” et “ce que l’on possède”, mais dans ce scénario, l’OTP sert plus de second password que d’un réel second facteur.
  • Une meilleure protection pour les applications sensibles
    • Les applications “soft-tokens” sont particulièrement sensibles. Il convient aux éditeurs / développeurs de ces applications de les rendre particulièrement robustes à l’ingénierie inverse et au clonage. Obfuscation, anti-tampering, device-binding, sont des techniques réduisant considérablement les chances de clonage d’application et repoussant la plupart des hackers.
    • Ces applications doivent idéalement implémenter les mécanismes de sécurité issus de l’OWASP, notamment la défense en profondeur (DID) ainsi que la Resiliency Against Reverse Engineering (RARE).

Les OTP par SMS sont donc à présent jugés dépréciés, mais garder à l’esprit que l’authentification-forte au travers d’un smartphone et d’une application peut être sujette à de nombreuses attaques. Consultez le paper (Hacking Soft-tokens paper) de Bernhard Mueller si vous souhaitez de plus amples informations sur le sujet.

Pour d’autres mécanismes d’authentification-forte, référez-vous à notre précédent article État des lieux : les solutions d’authentification-forte (2FA).

Sources & ressources :