Faiblesse du protocole HSRP de Cisco
Date : 29 Juin 2005
Le protocole HSRP (Hot Standby Routing Protocol) est un protocole propriétaire de "continuité de service" implémenté dans les routeurs Cisco pour la gestion des "liens de secours".
Ce protocole a déjà fait l'objet d'un article dans la partie "Failles n'ayant pas fait l'objet d'avis" du Bulletin Sécurité n°45 du mois de mai 2001. Cet article concernait la faiblesse du mécanisme d'authentification des requêtes HSRP.
Ce mois-ci, ce protocole a été de nouveau montré du doigt pour de nouvelles faiblesses dans les mécanismes d'authentification et pour l'ouverture intempestive de ports TCP/UDP sur les équipements implémentant HSRP.
Description de HSRP :
HSRP sert à augmenter la tolérance de panne sur le réseau en créant un routeur virtuel à partir de 2 (ou plus) routeurs physiques : un " actif " et l'autre (ou les autres) "en attente" (ou "standby") en fonction des priorités accordées à chacun de ces routeurs.
HSRP est un protocole propriétaire aux équipements Cisco et il n'est pas activé par défaut sur ces derniers.
Les communications HSRP entre les routeurs participant au routeur virtuel se font par l'envoi de paquets Multicast (224.0.0.2) vers le port 1985 des routeurs concernés.
Faiblesse des mécanismes d'authentification de HSRP :
Comme nous l'avons déjà mentionné dans le bulletin n°45, le protocole HSRP utilise pour authentifier les requêtes un mot de passe qui transite en clair sur le réseau (même principe que les noms de communauté SNMP - Simple Network Management Protocol). Au-delà de cette faiblesse, il existe aussi un problème dans la gestion des adresses IP par HSRP. En effet, bien que les messages HSPR sont de type Multicast, les paquets de type Unicast sont acceptés et traités par HSRP. Cela signifie que les paquets HSRP ayant pour adresse de destination celle du routeur seront traités par ce dernier sans contrainte (identifiants du problème chez Cisco : CSCdu38323 et CSCdx12138). Ce comportement peut permettre des attaques à distance en s'affranchissant des contraintes de sécurité liées au trafic Multicast (le trafic Multicast peut être parfois interdit au niveau de la politique de sécurité des routeurs).
Ouverture intempestive du port relatif à HRSP (port 1985) :
Il a été constaté dans certaines circonstances que sur certaines versions de Cisco IOS (11.2.x, 12.1.x), le port 1985 relatif au protocole HSRP était ouvert même si HSRP n'était pas configuré. Ce phénomène peut être propice à l'inondation de ce port jusqu'à la saturation des ressources de l'équipement.
Selon Cisco, ce problème a été corrigé dans les versions 12.2 (identifiants du problème chez Cisco : CSCdt64533).
Il est à noter que des outils exploitant ces vulnérabilités ont été diffusés sur l'Internet.
Solutions temporaires et améliorations futures de Cisco:
En terme de solutions temporaires, voici une liste de palliatifs permettant de sécuriser une architecture HSRP.
- Filtrer sur les équipements de bordure le port 1985.
- Filtrer sur les équipements de bordure le trafic Multicast vers l'adresse 224.0.0.02.
- Filtrer sur les routeurs participant à l'architecture HSRP, les paquets à destination du port 1985 du routeur s'ils ne proviennent pas des autres routeurs membres du "groupe" HSRP.
- Utiliser un mot de passe complexe (les mots de passe comme "cisco" sont à éviter).
Pour une sécurité plus optimale, Cisco propose d'utiliser IPSec ou un autre protocole : VRRP (Virtual Router Redundancy Protocol).
De son côté Cisco a prévu deux types d'amélioration pour son protocole HSRP :
- utilisation de mécanisme de hachage de type MD5 afin de sécuriser les mots de passe HSRP.
- vérification plus stricte des adresses IP de destination dans les paquets relatifs à HSRP.
Pour plus d'information :
- Document de Cisco sur HSRP : http://www.cisco.com/univercd/cc/td/doc/cisintwk/ics/cs009.htm
- RFC de HSRP (RFC 2281) : http://www.ietf.org/rfc/rfc2281.txt
- Document de Cisco sur VRRP : http://www.cisco.com/warp/public/471/vrrp.html
- Problèmes du protocole HSRP :
- Bug CSCdu38323 : (archive de SecurityFocus) : http://online.securityfocus.com/bid/4949
- Archive de SecurityFocus) : http://online.securityfocus.com/archive/1/275587
- Réponses de Cisco : http://online.securityfocus.com/archive/1/275963 et http://online.securityfocus.com/archive/1/276522