Principe de l'attaque
Une
attaque force brute n'est pas très raffinée mais elle a l'avantage
d'être l'un des moyens les plus efficaces pour les pirates d'accéder
à un système UNIX. Une attaque force brute est rien de plus que
la détection d'une paire identifiant utilisateur/mot de passe sur
un service qui cherche à authentifier l'utilisateur avant de lui
accorder l'accès. Les types de service les plus courants que l'on
peut percer par une méthode force brute sont :
-
Telnet
- File Transfer Protocol (FTP)
- Les commandes R (rlogin, rsh, etc.)
- Secure Shell (SSH)
- Post Office Protocol (POP)
- Hyper Text Transport Protocol (HTTP/HTTPS)
Des
services comme finger, rusers et sendmail sont utilisés pour identifier
des comptes utilisateurs sur un système cible. Dès que les pirates
disposent d'une liste de comptes utilisateur, ils peuvent se mettre
à chercher à obtenir un accès interpréteur de commandes au système
cible en détectant le mot de passe associé à l'un des identifiants.
Malheureusement, de nombreux comptes utilisateur ont soit un mot
de passe faible soit pas de mot de passe du tout. La meilleure illustration
de cet axiome est le compte "Joe" dont l'identifiant utilisateur
et le mot de passe sont identique. Si le nombre d'utilisateurs est
suffisamment important, tout système à au moin un comtes de type
Joe. A notre grand étonnement, nous avons trouvé des milliers de
comptes Joe au fil de nos inspections de sécurité. Pourquoi les
mots de passe mal choisis sont-ils si nombreux ? La réponse est
simple : les utilisateurs ne savent pas choisir des mots de passe
puissants et personne ne les oblige à le faire.
Bien
qu'il soit tout à fait possible de deviner des mots de passe manuellement,
la plupart d'entre eux sont détectés par un utilitaire de force
brute automatisé. Les pirates disposent de plusieurs outils pour
automatiser le processus de force brute, notamment :
Brute_web.c
Pop.c
Parades
La
meilleure défense contre la détection force brute est l'utilisation
de mots de passe puissants et difficiles à décrypter. Un mécanisme
de mot de passe à utilisation unique est le plus souhaitable.
Il
est important de mettre en place de bonnes procédures de gestion
de mots de passe. En voici quelques-unes :
-
S'assurer
que tous les utilisateurs ont un mot de passe valide.
-
Rendre
obligatoire un renouvellment de mot de passe tous les trentes
jours pour les comptes à droits protégés et tous les soixante
jours pour les utilisateurs courants.
-
La
longueur minimale du mot de passe doit être d'au moin six
caractères alphanumérique, huit de préférence.
-
Mettre
en oeuvre des outils de composistion de mot de passe qui interdisent
à l'utilisateur de choisir un mot de passe faible.
-
Ne
pas utiliser le même mot de passe sur tous les systèmes auxquels
vous vous connectez.
-
S'assurer
que les comptes par défaut comme setup et admin ne sont pas
dotés de mots de passe par défaut.
Voici quelques utilitaires gratuits qui rendent plus difficile la
détection force brute.
| S/Key |
Système
à mot de passe à utilisation unique. |
| Cracklib |
Outil
de composition de mot de passe |
| Npasswd |
Remplacement
de la commande passwd |
| Secure
Remote Password |
Un
nouveau mécanisme d'authentification sécurisé à base de mot
de passe et d'échange de clés sur tout type de réseau. |
| SSH |
Remplacement
de la commande "R" avec cryptage et authentification
RSA. |