SecureM

Aller au contenu | Aller au menu | Aller à la recherche

La Bruteforce

La Bruteforce... c'est un nom un peu bourrin je vous l'accorde ^^
Mais pourtant ça veut bien dire ce que ça veut dire : la force brute.

Mais commençons par le début : kesskécé ?

La Bruteforce : utilité

La Bruteforce est une attaque informatique visant à trouver une bonne séquence de caractères : un code.
On va donc "forcer" le code comme on forcerait une porte. Cette attaque utilise la puissance de l'ordinateur, qui est capable d'essayer plusieurs centaines de combinaisons à la minute...

La cible est généralement un système demandant un mot de passe, ou bien un mot de passe crypté qu'il faut décrypter - j'en reparlerai plus tard.

On a donc un système demandant un mot de passe. Par exemple une page de connexion à une interface d'administration. On a déjà le nom d'utilisateur mais pas le mot de passe.
Le bruteforceur a pour but de trouver ce mot de passe en les essayant... tous.

La Bruteforce : essayer toutes les combinaisons possibles

Quand je vous disais que c'était un truc de bourrin...
Ce procédé est aussi appelé attaque incrémentale parce qu'elle essaie chaque mot de passe possible l'un après l'autre :
Par exemple pour un code numérique à 4 caractères :
  • 0000
  • 0001
  • 0002
  • ...
  • 0010
  • 0011
  • ...
  • 0156
  • ...
  • 5910
  • ...
  • 9999
En pratique le bruteforceur n'atteindra que rarement 9999, puisqu'en envoyant chaque code au système, celui-ci répondra inlassablement "Code faux" jusqu'à que le bon code soit essayé... "Code valide, vous êtes maintenant connecté !"
Vous imaginez ? Ca fait froid dans le dos non ?
Surtout que les protections existantes ne sont pas nombreuses : on est obligé de laisser un utilisateur envoyer son code pour qu'il puisse se connecter...
Lorsque le réseau délivre 5000 tentatives de connexions à la minute, il fait parfaitement son travail !

La Bruteforce : protections

Voici les moyens les plus efficaces et les plus utilisés pour lutter contre la bruteforce :
  1. La limitation du nombre de connexions échouées : on fixe par exemple une limite de 5 tentatives ratées avant le blocage de l'utilisateur, par exemple pour une durée de 24H. Le problème majeur présenté par cette technique - qui est cependant la plus répandue car plus facile à mettre en place - est qu'elle bloque un ordinateur / une adresse IP pour un certain temps, ce qui peut être regrettable dans le cadre d'un poste public, ou pire d'un serveur piraté qui ne pourrait plus se connecter à un autre serveur (par exemple un serveur de base de données qui bloquerait le serveur web) ...
  2. Le placement d'un délai minimum entre deux tentatives : par exemple pas plus d'une tentative en 30 secondes, ce qui est raisonnable pour un humain normal, mais augmenterait considérablement le temps mis pour bruteforcer le mot de passe...
    Cette technique est plus difficile à mettre en place, mais est plus intelligente que la première.
  3. Les deux mon capitaine ! C'est en effet le mélange des deux principales solutions qui marche le mieux, et qui est par exemple utilisé sur les système Unix/Linux.
Et encore je ne vous ai pas parlé des autres solutions, qui restent grosso modo des remake de ces deux solutions...
Vous pourrez ainsi voir fail2ban, qui bloque automatiquement les IPs suspectes ...

La Bruteforce : performances et solution ultime

Mais LA meilleure solution pour éviter de voir une attaque par bruteforce réussir, c'est... d'avoir un bon mot de passe !
Plus "strong" sera ton mot de passe, plus de temps mettra ton attaquant à le trouver ! dixit un jour un petit personnage vert dont je ne me souviens plus du nom...
Ainsi, un mot de passe de 6 caractères ou moins est très vulnérable (moins de 24H environ pour le trouver) ;
Un mot de passe avec uniquement des minuscule aussi, c'est pourquoi je préconise un mot de passe de 7-8 caractères au moins, avec des majuscules, des minuscules, des chiffres et des caractères spéciaux.
Enfin, évitez par pitié les mots courants ou les noms ! Ces mots de passe sont particulièrement vulnérables aux attaques par dictionnaire (Dictionary Attacks) et aux Rainbow Attacks (pas la pêche de traduire ^^)

Le mot de passe idéal est par exemple la première lettre de chaque mot d'une phrase : personnellement j'utilise souvent - par exemple - "Je suis un joueur de ce jeu formidable qu'est ***" qui donne > j$1j2cjfqe***
Avouez que c'est plus dur à trouver que sebastien42 !

La défense ultime contre la Bruteforce est donc de choisir un mot de passe suffisamment long :)

Les attaques par dictionnaire et les Rainbow Attacks

Il existe 3 types d'attaques BruteForce :
  • La Bruteforce incrémentale, qui essaie TOUTES les combinaisons dans l'ordre. (AAA AAB AAC ...)
  • Les Dictionary Attacks : on essaie tous les mots du dictionnaire, ce qui est nettement moins lourd que l'attaque incrémentale (beaucoup moins de possibilités).
  • Les Rainbow Attacks : on essaie tous les mots du dictionnaire, avec d'autres lettres, chiffres, symboles, etc... C'est une sorte de remix des deux précédents. Et la plus efficace.


J'étofferai sûrement cet article dans les jours qui viennent si je ne suis pas trop pris.
A bientôt, en espérant que cet article vous a été utile :)

TPE : Le piratage informatique

Aujourd'hui, nous avons passé l'oral du TPE, qui compte je vous le rappelle pour le baccalauréat coefficient 2.
Dans notre groupe de quatre, nous avons choisi le piratage informatique comme thème, et joins à ce message le dossier et la présentation que nous avons réalisés.

Au programme : le Hacking (histoire, grands noms, types de hackers), puis les injections SQL, réalisée par Victor B., le phishing, réalisé par Patrick E., puis la Bruteforce, réalisé par Victor A., et pour finir, la faille DNS, que j'ai moi-même présenté.
Nous avons effectuée une démonstration de bruteforce sur les ordinateurs de la salle, où l'examinateur rentrait un mot de passe numérique à 4 chiffres sur le serveur, et un autre ordinateur client le bruteforçait en moins de 4 secondes =D

Le dossier n'est peut-être pas parfait, mais j'espère qu'il pourra vous aider, vous éclairer, ou au moins vous faire découvrir le piratage informatique =D

Télécharger le dossier (PDF)
Télécharger la présentation (Présentation OpenDocument)