Vulnérabilité particulière des clients VPN de Cisco

Date :20 Juin 2005

Publication: Article

Contexte :

Lors des connexions de type VPN ("Virtual Private Network") à travers le protocole IPSec, plusieurs schémas d'authentification IKE (Internet Key Exchange - RFC 2049) peuvent être employés sur un client VPN :

  • le certificat numérique,
  • le secret partagé ("pre-shared secret"),
  • l'identifiant de groupe et son mot de passe associé.

Ce dernier type d'authentification, qui est une extension du protocole IKE, utilise le protocole "XAUTH"(eXtended AUTHentication - Draft IETF 1999)" qui n'a cependant pas été normalisé par l'IETF. Néanmoins, "XAUTH"est implémenté dans de nombreux produits VPN, dont ceux de Cisco.

L'authentification par identifiant de groupe et mot de passe permet à un ensemble d'utilisateurs de partager une même clé afin de s'authentifier. Cette méthode est notamment utilisée lors de connexions sécurisées sur des accès publics. Elle permet également "d'authentifier" un groupe de machines depuis lequel l'utilisateur est autorisé à se connecte (la configuration de l'identifiant de groupe et de son mot de passe s'effectue sur le client VPN).

Ce type d'authentification IKE peut être suivi par une seconde authentification "système" plus standard de type identifiant/mot de passe(RADIUS, ...) .

Analyse de la vulnérabilité :

Une vulnérabilité a été découverte lorsque ce mode d'authentification est utilisé sur le client VPN de Cisco. En effet, bien que le mot de passe de groupe soit chiffré (l'identifiant étant en clair) sur le disque dur du PC hébergeant le client VPN, il ne l'est pas en mémoire. Ainsi, sur des systèmes Microsoft Windows et Linux utilisés en libre service ou configurés exclusivement par l'administrateur (de manière à cacher ce mot de passe aux utilisateurs du poste), un utilisateur local peut avoir accès à ce mot de passe en le capturant en mémoire.

La connaissance de ce mot de passe peut ensuite être utilisée afin de détourner des sessions utilisateurs par des attaques de type "Man-in-the-middle" en simulant un serveur VPN. En effet, si l'authentification IPSec utilise un schéma de type identifiant de groupe et mot de passe de groupe (durant la phase 1) via le protocole d'authentification XAUTH, une personne malveillante ayant connaissance de cette information en simulant sur son poste un serveur VPN (côté utilisateur) et un client VPN (côté serveur VPN légitime) afin de dérober l'identifiants/mot de passe applicatif de la victime pour :

  • détourner (écouter) les connexions de la victime vers le serveur légitime,
  • se connecter sous l'identité de cette dernière aux services offerts par une connexion VPN légitime.

Ce type d'attaque reste néanmoins complexe à réaliser (détournement de la connexion vers un serveur VPN pirate, nécessité d'avoir une authentification spécifique, ..).

Solutions :

Il n'existe pas de correctif à ce problème. Cisco recommande d'utiliser une infrastructure à clé publique ("PKI") afin de contourner ce problème.

Dans le courant du quatrième semestre 2004, Cisco mettra au point une fonctionnalité dans les équipements VPN empêchant l'attaque de type "Man-In-The-Middle".

Pour plus d'information :

·         Avis de Cisco : http://www.cisco.com/warp/public/707/cisco-sn-20040415-grppass.shtml