Vous êtes sur le site public du Cert-IST
Claviers virtuels contre " keylogger"

Date :02 Septembre 2005

Publication: Article

Face à la menace que représentent les " keylogger" (programmes enregistrant les évènements du clavier) pour les services bancaires en ligne, de nombreuses banques proposent depuis peu, ou vont bientôt proposer, à leurs clients, d'entrer leurs codes d'authentification depuis un clavier virtuel.

Principe des claviers virtuels

L'idée est de présenter un clavier sur l'écran du client, via une image "bitmap" dans la page HTML, et de permettre via une applet Java ou un javascript, une saisie des codes d'authentification, en cliquant sur les touches de ce clavier avec la souris.

Les informations saisies sont ensuite postées lors de la validation du formulaire par le client de la même manière que lorsqu'elles ont été saisies depuis le clavier.

Les informations saisies de cette manières échappent aux applications malveillantes qui enregistrent les frappes au clavier pour les envoyer vers des attaquants potentiels.

Limites de cette solution

La première faiblesse de cette solution est due à la possibilité pour une application malveillante de récupérer les données postées vers le serveur, avec une fonction capable de contrôler les entrées-sorties du navigateur de la victime qu'elle souhaite espionner.

Certaines banques ont trouvé un moyen de pallier cette faiblesse : les codes d'authentification étant numériques, les claviers proposés au client doivent être composés des 10 chiffres disposés dans une image de type "bitmap". Si ces chiffres sont placés de manière aléatoire dans une matrice, lorsque le client entre son code personnel et valide sa saisie, ce sont les coordonnées des cases de la matrice choisies par le client qui sont retournées au serveur de la banque. Ainsi, un attaquant capable d'écouter les informations postées obtient seulement des coordonnées internes à une matrice dont il ne connaît pas le contenu à un instant donné.

La seconde possibilité d'attaque contre la solution des claviers virtuels consiste à réaliser des captures d'écrans couplées aux clics de la souris, lorsque une connexion à un site bancaire est détectée.

Cette technique peut sembler compliquée par rapport à un "keylogger", mais des programmes de démonstration circulent déjà sur Internet, dont certains ont fait l'objet de présentation lors de conférences auxquelles le Cert-IST a participé. De plus, il semblerait que certains chevaux de Troie l'aient déjà implémentée (cf. l'article de "Websense Security Labs" http://www.websensesecuritylabs.com/alerts/alert.php?AlertID=262)

Conclusion

La saisie de codes d'authentification par un clavier virtuel marque une prise en compte de la part des banques des problématiques de la sécurité des transactions sur Internet.

Cette technique bien que plus sécurisée que la saisie directe au clavier, n'est cependant pas une solution hautement sécurisée comme peuvent l'être les authentifications fortes par cartes à puce ou par des mots de passe à usage unique (calculés à partir d'une question posée –"challenge"- par le serveur par exemple).

L'autre avantage de ces deux dernières solutions dans la quelle le client n'a pas à envoyer un mot de passe fixe sur Internet, est qu'elles ne sont pas vulnérables à des attaques de type "phishing".

Pour plus d'information :

Informations de banques sur le clavier virtuel

 
Programmes de démonstration d’attaques: http://securityfocus.com/archive/1/407472/30/210/threaded