Attaque par force brute

Attaque par force brute
Deep Crack, circuit dédié à l'attaque par force brute de DES.

L'attaque par force brute est une méthode utilisée en cryptanalyse pour trouver un mot de passe ou une clé. Il s'agit de tester, une à une, toutes les combinaisons possibles. Cette méthode de recherche exhaustive ne réussit que dans les cas où le mot de passe cherché est constitué de peu de caractères. Ces programmes tentent toutes les possibilités de mot de passe dans un ordre aléatoire afin de berner les logiciels de sécurité qui empêchent de tenter tous les mots de passe dans l'ordre.

Pour contrer cette méthode, il suffit simplement de choisir des mots de passe d'une grande longueur ou des clés suffisamment grandes. Ainsi, l'attaquant devra mettre beaucoup de temps pour trouver le bon mot de passe. Cette méthode est très sensible aux capacités de calcul des machines effectuant l'algorithme.

Cette méthode est souvent combinée avec l'attaque par dictionnaire et par table arc-en-ciel pour trouver le secret plus rapidement.

Sommaire

Explication mathématique

Si le mot de passe contient N caractères, indépendants (la présence d'un caractère ne va pas influencer un autre) et uniformément distribués (aucun caractère n'est privilégié), le nombre maximum d'essais nécessaires se monte alors à :

  • 26N si le mot de passe ne contient que des lettres de l'alphabet totalement en minuscules ou en majuscules ;
  • 52N si le mot de passe ne contient que des lettres de l'alphabet, avec un mélange de minuscules et de majuscules ;
  • 62N si le mot de passe mélange les majuscules et les minuscules ainsi que les chiffres.

Il suffit en fait d'élever la taille de « l'alphabet » utilisé à la puissance N. Il s'agit ici d'une borne supérieure et en moyenne, il faut deux fois moins d'essais pour trouver le mot de passe (si celui-ci est aléatoire). En réalité, bien peu de mots de passe sont totalement aléatoires et le nombre d'essais est bien inférieur aux limites données ci-dessus (grâce à la possibilité d'une attaque par dictionnaire).

Le tableau ci-dessous donne le nombre maximum d'essais nécessaires pour trouver des mots de passe de longueurs variables.

Type 3 caractères 6 caractères 9 caractères
lettres minuscules 17 576 308 915 776 5,4 × 1012
lettres minuscules et chiffres 46 656 2 176 782 336 1,0 × 1014
minuscules, majuscules et chiffres 238 328 5,6 × 1010 1,3 × 1016

Un ordinateur personnel est capable de tester plusieurs centaines de milliers voire quelques millions de mots de passe par seconde. Cela dépend de l'algorithme utilisé pour la protection mais on voit qu'un mot de passe de seulement 6 caractères, eux-mêmes provenant d'un ensemble de 62 symboles (minuscules ou majuscules accompagnés de chiffres), ne tiendrait pas très longtemps face à une telle attaque.

Dans le cas des clés utilisées pour le chiffrement, la longueur est souvent donnée en bits. Dans ce cas, le nombre de possibilités (si la clé est aléatoire) à explorer est de l'ordre de 2NN est la longueur de la clé en bits. Une clé de 128 bits représente déjà une limite impossible à atteindre avec la technologie actuelle et l'attaquant doit envisager d'autres solutions cryptanalytiques si celles-ci existent. Il faut cependant prendre en compte que la puissance du matériel informatique évolue sans-cesse (voir Loi de Moore) et un message indéchiffrable à un moment donné peut l'être par le même type d'attaque une dizaine d'années plus tard.

Limiter la recherche exhaustive

Pour éviter des attaques par force brute, la meilleure solution est :

  • d'allonger le mot de passe ou la clé si cela est possible ;
  • utiliser la plus grande gamme de symboles possibles (minuscules, majuscules, ponctuations, chiffres); l'introduction de caractères nationaux (Â, ÿ...) rend plus difficile le travail des pirates (mais parfois aussi l'entrée de son mot de passe quand on se trouve à l'étranger) ;
  • pour éviter d'avoir à faire face à une attaque par dictionnaire, faire en sorte que le mot de passe soit aléatoire ;
  • et pour une sécurité optimum, empêcher de dépasser un nombre maximal d'essais en un temps ou pour une personne donnée.

Dans les applications, on peut aussi introduire un temps d'attente entre l'introduction du mot de passe par l'utilisateur et son évaluation. L'éventuel attaquant devrait dans ce cas attendre plus longtemps pour pouvoir soumettre les mots de passe qu'il génère. Le système peut aussi introduire un temps d'attente après plusieurs essais infructueux, ceci dans le but de ralentir l'attaque. Les systèmes de mots de passe comme celui d'Unix utilisent une version modifiée du chiffrement DES. Chaque mot de passe est accompagné d'une composante aléatoire appelée sel dont le but est de modifier la structure interne de DES et éviter ainsi une recherche exhaustive en utilisant du matériel spécialement conçu pour DES.

Deux brevets principaux existent à ce sujet :

  • Un des laboratoires Bell consistant à doubler le temps d'attente après chaque essai infructueux, pour le faire redescendre ensuite en vol plané après un certain temps sans attaques.
  • Un de la compagnie IBM consistant à répondre « Mot de passe invalide » après N essais infructueux en un temps T, y compris si le mot de passe est valide[1] : le pirate a alors toutes les chances de rayer de façon erronée le mot de passe valide en le considérant invalide. De plus, cette méthode empêche toute attaque visant à un déni de service pour l'utilisateur.

En théorie et avec suffisamment de temps, l'attaquant peut toujours trouver le mot de passe, mais lorsque ce temps dépasse la décennie, il ne pourra pas en escompter un grand profit, et le mot de passe aura de toute façon changé. Il change même à chaque fois si l'on emploie le principe du masque jetable.

Le problème est tout autre si l'attaquant récupère directement le fichier des hashs des mots de passe ; plus rien ne l'empêche alors de tester chez lui des mots de passe à la vitesse de son(es) ordinateur(s). C'est pourquoi dans tous les UNIX modernes ces hashs sont généralement situés dans le fichier /etc/shadow, lisible uniquement par l'utilisateur root. Une compromission de cet utilisateur permet par conséquent de récupérer ce fichier, et ainsi de lancer une attaque par force brute sur son contenu.

Notes et références

Voir aussi

Articles connexes

Liens externes



Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Attaque par force brute de Wikipédia en français (auteurs)

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • Attaque Par Force Brute — Deep Crack, circuit dédié à l attaque par force brute de DES. L attaque par force brute est une méthode utilisée en cryptanalyse pour trouver un mot de passe ou une clé. Il s agit de tester, une à une, toutes les combinaisons possibles. Cette… …   Wikipédia en Français

  • Recherche par force brute — Recherche exhaustive La recherche exhaustive ou recherche par force brute, est un terme qui s applique à une catégorie de méta algorithmes. C est une technique extrêmement simple, mais très générale, qui consiste à énumérer tous les candidats… …   Wikipédia en Français

  • Attaque par brute force — Attaque par force brute Deep Crack, circuit dédié à l attaque par force brute de DES. L attaque par force brute est une méthode utilisée en cryptanalyse pour trouver un mot de passe ou une clé. Il s agit de tester, une à une, toutes les… …   Wikipédia en Français

  • Attaque Par Dictionnaire — L attaque par dictionnaire est une méthode utilisée en cryptanalyse pour trouver un mot de passe ou une clé. Elle consiste à tester une série de mots de passe potentiels, les uns à la suite des autres, en espérant que le mot de passe utilisé pour …   Wikipédia en Français

  • Attaque par biais statistique — Cryptanalyse La cryptanalyse s oppose, en quelque sorte, à la cryptographie. En effet, si déchiffrer consiste à retrouver le clair au moyen d une clé, cryptanalyser c est tenter de se passer de cette dernière. Même si on décrit les cryptanalystes …   Wikipédia en Français

  • Attaque par rencontre au milieu — Cryptanalyse La cryptanalyse s oppose, en quelque sorte, à la cryptographie. En effet, si déchiffrer consiste à retrouver le clair au moyen d une clé, cryptanalyser c est tenter de se passer de cette dernière. Même si on décrit les cryptanalystes …   Wikipédia en Français

  • Attaque par dictionnaire — L attaque par dictionnaire est une méthode utilisée en cryptanalyse pour trouver un mot de passe ou une clé. Elle consiste à tester une série de mots de passe potentiels, les uns à la suite des autres, en espérant que le mot de passe utilisé pour …   Wikipédia en Français

  • Attaque Par Canal Auxiliaire — Les attaques par canaux auxiliaires font partie d une vaste famille de techniques cryptanalytiques qui exploitent des propriétés inattendues d un algorithme de cryptographie lors de son implémentation logicielle ou matérielle. En effet, une… …   Wikipédia en Français

  • Attaque par canaux auxiliaires — Attaque par canal auxiliaire Les attaques par canaux auxiliaires font partie d une vaste famille de techniques cryptanalytiques qui exploitent des propriétés inattendues d un algorithme de cryptographie lors de son implémentation logicielle ou… …   Wikipédia en Français

  • Attaque par canaux cachés — Attaque par canal auxiliaire Les attaques par canaux auxiliaires font partie d une vaste famille de techniques cryptanalytiques qui exploitent des propriétés inattendues d un algorithme de cryptographie lors de son implémentation logicielle ou… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”