Certains semblent se complaire à croire que les phishers remplissent patiemment des bases de données et n'utilisent le contenu que bien plus tard. Dans ce type de monde[1], un tel modèle d'authentification à double facteur présente un intérêt, le second facteur issu du token étant alors expiré. Mais dans le vrai monde, il y a une attaque qu'on appelle ""Man In The Middle"". Bien connue des cryptographes et des spécialistes réseau, elle consiste à s'insérer entre les deux parties d'un échange de manière à effectuer un certain nombre d'action malicieuses parmi lesquelles l'usurpation d'identité figure en bonne place. Et c'est exactement ce qu'il va se passer ici.

Méthode d'attaque classique, l'utilisateur est appâté par un courrier classique lui demandant de revalider con compte en s'authentifiant sur une fausse page hébergée en Russie sur laquelle on va lui demander son login, son password et le nombre renvoyé par son token. Mais au lieu de stocker les informations, le site va se connecter directement chez Citibank et réaliser la fraude immédiatement, dans la fenêtre de validité du token. Boooooom, headshot[2] !

Après les claviers virtuels, c'en est donc fait du double facteur. Brutal retour à la dure réalité pour cette banque et leçon de vie aussi : les phishers ne sont pas des abrutis, ils utilisent juste ce qui suffit à l'instant T, améliorant leurs méthodes lorsque cela s'avère nécessaire. D'où une question qui trotte dans la tête de pas mal de monde depuis pas mal de temps : quand est-ce que les banques se décideront enfin à passer à des vrais systèmes reposant sur des systèmes qui tiennent la route. On pensera évidemment aux tokens cryptographiques avec certificat personnel embarqué. Solution coûteuse, personne n'en doute. Mais l'est-elle plus que le déploiement d'une demi-douzaine de systèmes consécutifs tous aussi vulnérables les uns que les autres ? On pensera également aux échanges hors-bande, comme la transmission via SMS d'un token vers un numéro GSM dûment enregistré, solution déployée dans certains contextes depuis plus de 5 ans et qui est apparue il y a peu sur les interfaces Web de ma banque pour la validation des comptes destinataires de virement. Bref, quand est-ce qu'on arrêtera de rustiner ? Peut-être le jour à la règlementation se fera plus sévère, dans la mesure où le coût occasionné par le phishing semble très largement couvert par les assurances.

Allez hop, on passe du coq à l'âne avec OpenDNS qui n'est en définitive pas une mauvaise idée. L'idée de base est de fournir un système de DNS[3] rapide et stable, sans ajout logiciel, s'appuyant sur une grosse infrastructure dédiée (peering, caches, etc.). Et vu la qualité du service de DNS de certains FAI, ça pourrait se révéler, rien que de ce point du vue, intéressant. À cette offre s'ajoutent deux principaux services ajoutés. Le premier est la correction des erreurs de frappe. Si le nom ne résoud pas, vous êtes automatiquement redirigé vers un moteur de recherche qui va essayer de corriger l'erreur, à défaut de vous proposer des alternatives. Le second concerne la sécurité. Si le site demandé est connu comme étant malicieux par le système, vous êtes automatiquement redirigé vers une page vous signalant l'attaque.

On peut alors faire le parallèle avec le plugin SiteAdvisor dont je vous entretenais il y a quelques temps. Mettre à disposition des utilisateurs lambda des systèmes préventifs qui permettent de les informer sur la dangerosité des sites qu'ils consultent, en voici une idée qu'elle est bonne, en particulier si ça permet aux utilisateurs de ne pas aller sur les sites de phishing, en particulier pour les clients de Citibank ! Encore que dans le cas du phishing, il faille avoir un sacré réactivité dans la détection des sites de phishing... D'abord parce que la correction automatique d'URL mal tapée ne se déclenche que si la requête DNS renvoit un NXDOMAIN et ne bloquera donc pas un site à orthographe approchant, puisque le domaine existera bel et bien. Ensuite parce que si le site ne figure pas dans leur base de phishing, l'accès n'en sera évidemment pas bloqué. De plus, énormément de sites de phishing sont installés sur des machines compromises, dans des sous-répertoires de sites tout ce qu'il y a de plus corrects, et peuvent être accédés via des proxyfications diverses et variées.

La tâche s'annonce donc hardue, sans compter l'aspect course contre la montre. C'est peut-être ce qui explique le manque d'initiatives genre RBLs dans ce domaine. À ce sujet, on remarquera l'annonce d'un projet de ce type, PhishTank. À suivre...

Notes

[1] Qui a parlé de bisounours ? <cc>

[2] En parlant de Pure Pwnage, le 11 est sorti :)

[3] Passez tout de même jeter un coup d'œil la charte de confidentialité.