Assiste.com
cr 01.04.2012 r+ 22.10.2024 r- 22.10.2024 Pierre Pinard. (Alertes et avis de sécurité au jour le jour)
Sommaire (montrer / masquer) |
---|
L'attaque en « force brute » est l'une des méthodes utilisées en cryptanalyse pour tenter de casser un cryptage. Le principe en lui-même de l'attaque en « force brute » ne vise pas exclusivement les mots de passe mais c'est dans ce domaine que ce type d'attaques est essentiellement utilisé. L'attaque en « force brute » vise un mot de passe à la fois.
Il y a deux usages de la « force brute » :
Un cybercriminel s'est procuré un identifiant et le hashcode du mot de passe associé à cet identifiant (ou des listes d'identifiants et les hashcodes des mots de passe associés. On ne se souci pas du moyen mis en oeuvre pour les obtenir (piratage d'un serveur, écoute par sniffer, etc.). La question n'est pas là.
L'attaque en « force brute » commence lorsque l'on dispose du couple identifiant et chiffre clé dont on ne peut rien faire. Il faut remonter du chiffre clé au mot de passe d'origine. Il faut casser le chiffre clé qui, normalement ne permet pas de remonter à la chaîne de caractères qui a servi à le générer.
Puisque le cryptage du mot de passe est à sens unique (univoque), il n'y a pas de formule pour décrypter le hashcode. La seule méthode possible est donc de recommencer : crypter toutes les combinaisons possibles de caractères autorisés, avec le même algorithme (MD5, SHA-1, etc.), jusqu'à obtenir un hashcode identique à celui détenu. Il faut donc également savoir quel est l'algorithme qui a été utilisé. On peut le deviner par la longueur du hashcode (16 caractères, c'est du MD5, 20 caractères c'est du SHA-1, etc.).
En utilisant du matériel spécialisé (réseau botNet ou ordinateur à base de matériel spécialement développé pour les attaques en « force brute », etc.), et après un certain temps de calcul, on fini par trouver le mot de passe à l'origine du hashcode détenu. On peut alors usurper l'identité du titulaire en utilisant son couple identifiant / mot de passe.
Le temps de calcul est totalement dépendant de :
Le puissance du matériel utilisé pour le calcul
La longueur des mots de passe (le nombre N maximum de caractères)
Le jeu de caractères utilisés.
Pour simplifier, les jeux de caractères autorisés/utilisés par les autorités d'identification des sites Web sont classés, arbitrairement, en 4 types (il y a bien d'autres jeux de caractères intermédiaires comme éviter d'utiliser les caractères similaires [ 0 O I 1 l ]), éviter d'utiliser le caractère espace, etc.) :
Type 1 : Les 26 lettres de l'alphabet
Toutes les 26 lettres de l'alphabet, et seulement ces 26 lettres, en majuscules seulement ou en minuscules seulement. Ce jeu de caractères est très restrictif et un mot de passe court (8 à 12 caractères) est cassable en quelques secondes ou quelques minutes par attaque en force brute ou par dictionnaire ou avec des tables arc en ciel.
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Ou
abcdefghijklmnopqrstuvwxyz
Type 2 : Le type 1 augmenté des 10 chiffres
Amplitude : 36 caractères.
Très restrictif et cassable très rapidement.
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
Ou
abcdefghijklmnopqrstuvwxyz0123456789
Type 3 : Les types 1 ou 2 ou insensibles à la case
Amplitude : 52 ou 62 caractères.
Restrictif et cassable assez rapidement.
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
ou
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
Type 4 : Le type 3 avec plus ou moins de caractères spéciaux et accentués
Type 3 augmenté d'un nombre plus ou moins restreint de caractères spéciaux et de caractères accentués (jeu de 90 à plus de 100 caractères).
C'est le seul type recommandé. Dans les évaluations de temps de calcul en attaque par force brute ou de volume mémoire en attaques par dictionnaire exhaustif, nous retiendrons un type 4 à 100 caractères.
Exemples de jeux de caractères :
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789,?;.:/!§%µ
Ou
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789²&é"'(-è_çà)=#{[|\^@]}^¨$£¤ù%*µ,?;.:/!§
Le nombre de combinaisons possibles qu'il va falloir calculer est égal à :
Nombre de combinaisons possibles=(Pi=1 x N) + (Pi=2 x N) + (Pi=3 x N) + (Pi=4 x N) etc. jusqu'à ce que i=P
En moyenne, il faut calculer la moitié des combinaisons possibles, ce qui peut prendre plusieurs vies si le mot de passe d'origine est long.
|
|
Type 1 : Jeu de 26 caractères (tout majuscules ou tout minuscules) | |||||||
---|---|---|---|---|---|---|---|
Mots de passe de : | |||||||
8 caractères | 9 caractères | 10 caractères | 11 caractères | 12 caractères | 13 caractères | 14 caractères | |
Rang 1 | 26 | 26 | 26 | 26 | 26 | 26 | 26 |
Rang 2 | 676 | 676 | 676 | 676 | 676 | 676 | 676 |
Rang 3 | 17 576 | 17 576 | 17 576 | 17 576 | 17 576 | 17 576 | 17 576 |
Rang 4 | 456 976 | 456 976 | 456 976 | 456 976 | 456 976 | 456 976 | 456 976 |
Rang 5 | 11 881 376 | 11 881 376 | 11 881 376 | 11 881 376 | 11 881 376 | 11 881 376 | 11 881 376 |
Rang 6 | 308 915 776 | 308 915 776 | 308 915 776 | 308 915 776 | 308 915 776 | 308 915 776 | 308 915 776 |
Rang 7 | 8 031 810 176 | 8 031 810 176 | 8 031 810 176 | 8 031 810 176 | 8 031 810 176 | 8 031 810 176 | 8 031 810 176 |
Rang 8 | 208 827 064 576 | 208 827 064 576 | 208 827 064 576 | 208 827 064 576 | 208 827 064 576 | 208 827 064 576 | 208 827 064 576 |
Rang 9 | 5 429 503 678 976 | 5 429 503 678 976 | 5 429 503 678 976 | 5 429 503 678 976 | 5 429 503 678 976 | 5 429 503 678 976 | |
Rang 10 | 141 167 095 653 376 | 141 167 095 653 376 | 141 167 095 653 376 | 141 167 095 653 376 | 141 167 095 653 376 | ||
Rang 11 | 3 670 344 486 987 780 | 3 670 344 486 987 780 | 3 670 344 486 987 780 | 3 670 344 486 987 780 | |||
Rang 12 | 95 428 956 661 682 200 | 95 428 956 661 682 200 | 95 428 956 661 682 200 | ||||
Rang 13 | 2 481 152 873 203 740 000 | 2 481 152 873 203 740 000 | |||||
Rang 14 | 64 509 974 703 297 200 000 | ||||||
Type 1 - Combinaisons possibles (mots de passe possibles) | |||||||
217 180 147 158 | 5 646 683 826 134 | 146 813 779 479 510 | 3 817 158 266 467 290 | 99 246 114 928 149 500 | 2 580 398 988 131 890 000 | 67 090 373 691 429 000 000 | |
Type 1 - Temps de calcul nécessaire pour construire un dictionnaire intégral (en jours) - En rouge ce qui est " jouable ". | |||||||
En 2007 | 0 | 0,03 | 0,66 | 17 | 447 | 11 628 | 302 319 |
En 2009 | 0 | 0 | 0 | 1 | 20 | 517 | 13 463 |
Type 1 - Mémoire de stockage nécessaire, en teraoctets, pour un tel dictionnaire contenant "Mot de passe", Hash MD5, Hash SHA-1 (Recherches par dichotomie, Recherche par B-Tree) | |||||||
9 556 | 254 101 | 6 753 434 | 179 406 439 | 4 763 813 517 | 126 439 550 418 | 3 354 518 684 571 | |
19 112 | 508 202 | 13 506 868 | 358 812 877 | 9 527 627 033 | 252 879 100 837 | 6 709 037 369 143 | |
Type 2 : Jeu de 36 caractères (tout majuscules ou tout minuscules + 10 chiffres) (cas de certains algorithmes de chiffrement qui ne tiennent pas comptes des majuscules/minuscules (insensibles à la case) et mettent le mot de passe à plat - par exemple l'algorithme de chiffrement LanManager Hash sous Windows, qui commence par transformer les minuscules en majuscules) | |||||||
Mots de passe de : | |||||||
8 caractères | 9 caractères | 10 caractères | 11 caractères | 12 caractères | 13 caractères | 14 caractères | |
Rang 1 | 36 | 36 | 36 | 36 | 36 | 36 | 36 |
Rang 2 | 1 296 | 1 296 | 1 296 | 1 296 | 1 296 | 1 296 | 1 296 |
Rang 3 | 46 656 | 46 656 | 46 656 | 46 656 | 46 656 | 46 656 | 46 656 |
Rang 4 | 1 679 616 | 1 679 616 | 1 679 616 | 1 679 616 | 1 679 616 | 1 679 616 | 1 679 616 |
Rang 5 | 60 466 176 | 60 466 176 | 60 466 176 | 60 466 176 | 60 466 176 | 60 466 176 | 60 466 176 |
Rang 6 | 2 176 782 336 | 2 176 782 336 | 2 176 782 336 | 2 176 782 336 | 2 176 782 336 | 2 176 782 336 | 2 176 782 336 |
Rang 7 | 78 364 164 096 | 78 364 164 096 | 78 364 164 096 | 78 364 164 096 | 78 364 164 096 | 78 364 164 096 | 78 364 164 096 |
Rang 8 | 2 821 109 907 456 | 2 821 109 907 456 | 2 821 109 907 456 | 2 821 109 907 456 | 2 821 109 907 456 | 2 821 109 907 456 | 2 821 109 907 456 |
Rang 9 | 101 559 956 668 416 | 101 559 956 668 416 | 101 559 956 668 416 | 101 559 956 668 416 | 101 559 956 668 416 | 101 559 956 668 416 | |
Rang 10 | 3 656 158 440 062 980 | 3 656 158 440 062 980 | 3 656 158 440 062 980 | 3 656 158 440 062 980 | 3 656 158 440 062 980 | ||
Rang 11 | 131 621 703 842 267 000 | 131 621 703 842 267 000 | 131 621 703 842 267 000 | 131 621 703 842 267 000 | |||
Rang 12 | 4 738 381 338 321 620 000 | 4 738 381 338 321 620 000 | 4 738 381 338 321 620 000 | ||||
Rang 13 | 170 581 728 179 578 000 000 | 170 581 728 179 578 000 000 | |||||
Rang 14 | 6 140 942 214 464 820 000 000 | ||||||
Type 2 - Combinaisons possibles (mots de passe possibles) | |||||||
2 901 713 047 668 | 104 461 669 716 084 | 3 760 620 109 779 060 | 135 382 323 952 046 000 | 4 873 763 662 273 660 000 | 175 455 491 841 852 000 000 | 6 316 397 706 306 670 000 000 | |
Type 2 - Temps de calcul nécessaire pour construire un dictionnaire intégral (en jours) - En rouge ce qui est " jouable ". | |||||||
En 2007 | 0,01 | 0,47 | 17 | 610 | 21 962 | 790 627 | 28 462 569 |
En 2009 | 0 | 0 | 1 | 27 | 976 | 35 139 | 1 265 003 |
Type 2 - Mémoire de stockage nécessaire, en teraoctets, pour un tel dictionnaire contenant "Mot de passe", Hash MD5, Hash SHA-1 (Recherches par dichotomie, Recherche par B-Tree) | |||||||
127 675 | 4 700 775 | 172 988 525 | 6 362 969 226 | 233 940 655 789 | 8 597 319 100 251 | 315 819 885 315 333 | |
255 351 | 9 401 550 | 345 977 050 | 12 725 938 451 | 467 881 311 578 | 17 194 638 200 502 | 631 639 770 630 667 | |
Type 3 : Jeu de 62 caractères (majuscules + minuscules + 10 chiffres) | |||||||
Mots de passe de : | |||||||
8 caractères | 9 caractères | 10 caractères | 11 caractères | 12 caractères | 13 caractères | 14 caractères | |
Rang 1 | 62 | 62 | 62 | 62 | 62 | 62 | 62 |
Rang 2 | 3 844 | 3 844 | 3 844 | 3 844 | 3 844 | 3 844 | 3 844 |
Rang 3 | 238 328 | 238 328 | 238 328 | 238 328 | 238 328 | 238 328 | 238 328 |
Rang 4 | 14 776 336 | 14 776 336 | 14 776 336 | 14 776 336 | 14 776 336 | 14 776 336 | 14 776 336 |
Rang 5 | 916 132 832 | 916 132 832 | 916 132 832 | 916 132 832 | 916 132 832 | 916 132 832 | 916 132 832 |
Rang 6 | 56 800 235 584 | 56 800 235 584 | 56 800 235 584 | 56 800 235 584 | 56 800 235 584 | 56 800 235 584 | 56 800 235 584 |
Rang 7 | 3 521 614 606 208 | 3 521 614 606 208 | 3 521 614 606 208 | 3 521 614 606 208 | 3 521 614 606 208 | 3 521 614 606 208 | 3 521 614 606 208 |
Rang 8 | 218 340 105 584 896 | 218 340 105 584 896 | 218 340 105 584 896 | 218 340 105 584 896 | 218 340 105 584 896 | 218 340 105 584 896 | 218 340 105 584 896 |
Rang 9 | 13 537 086 546 263 600 | 13 537 086 546 263 600 | 13 537 086 546 263 600 | 13 537 086 546 263 600 | 13 537 086 546 263 600 | 13 537 086 546 263 600 | |
Rang 10 | 839 299 365 868 340 000 | 839 299 365 868 340 000 | 839 299 365 868 340 000 | 839 299 365 868 340 000 | 839 299 365 868 340 000 | ||
Rang 11 | 52 036 560 683 837 100 000 | 52 036 560 683 837 100 000 | 52 036 560 683 837 100 000 | 52 036 560 683 837 100 000 | |||
Rang 12 | 3 226 266 762 397 900 000 000 | 3 226 266 762 397 900 000 000 | 3 226 266 762 397 900 000 000 | ||||
Rang 13 | 200 028 539 268 670 000 000 000 | 200 028 539 268 670 000 000 000 | |||||
Rang 14 | 12 401 769 434 657 500 000 000 000 | ||||||
Type 3 - Combinaisons possibles (mots de passe possibles) | |||||||
221 919 451 578 090 | 13 759 005 997 841 600 | 853 058 371 866 182 000 | 52 889 619 055 703 300 000 | 3 279 156 381 453 600 000 000 | 203 307 695 650 123 000 000 000 | 12 605 077 130 307 700 000 000 000 | |
Type 3 - Temps de calcul nécessaire pour construire un dictionnaire intégral (en jours) - En rouge ce qui est " jouable ". | |||||||
En 2007 | 1 | 62 | 3844 | 238328 | 14 776 336 | 916 132 832 | 56 800 235 584 |
En 2009 | 0 | 3 | 171 | 10 592 | 656 726 | 40 717 015 | 2 524 454 915 |
Type 3 - Mémoire de stockage nécessaire, en teraoctets, pour un tel dictionnaire contenant "Mot de passe", Hash MD5, Hash SHA-1 (Recherches par dichotomie, Recherche par B-Tree) | |||||||
9 764 456 | 619 155 270 | 39 240 685 106 | 2 485 812 095 618 | 157 399 506 309 773 | 9 962 077 086 856 050 | 630 253 856 515 383 000 | |
19 528 912 | 1 238 310 540 | 78 481 370 212 | 4 971 624 191 236 | 314 799 012 619 546 | 19 924 154 173 712 100 | 1 260 507 713 030 770 000 | |
Type 4 : Jeu de 100 caractères (majuscules + minuscules + 10 chiffres + 38 caractères spéciaux et accentués) | |||||||
Mots de passe de : | |||||||
8 caractères | 9 caractères | 10 caractères | 11 caractères | 12 caractères | 13 caractères | 14 caractères | |
Rang 1 | 100 | 100 | 100 | 100 | 100 | 100 | 100 |
Rang 2 | 10 000 | 10 000 | 10 000 | 10 000 | 10 000 | 10 000 | 10 000 |
Rang 3 | 1 000 000 | 1 000 000 | 1 000 000 | 1 000 000 | 1 000 000 | 1 000 000 | 1 000 000 |
Rang 4 | 100 000 000 | 100 000 000 | 100 000 000 | 100 000 000 | 100 000 000 | 100 000 000 | 100 000 000 |
Rang 5 | 10 000 000 000 | 10 000 000 000 | 10 000 000 000 | 10 000 000 000 | 10 000 000 000 | 10 000 000 000 | 10 000 000 000 |
Rang 6 | 1 000 000 000 000 | 1 000 000 000 000 | 1 000 000 000 000 | 1 000 000 000 000 | 1 000 000 000 000 | 1 000 000 000 000 | 1 000 000 000 000 |
Rang 7 | 100 000 000 000 000 | 100 000 000 000 000 | 100 000 000 000 000 | 100 000 000 000 000 | 100 000 000 000 000 | 100 000 000 000 000 | 100 000 000 000 000 |
Rang 8 | 10 000 000 000 000 000 | 10 000 000 000 000 000 | 10 000 000 000 000 000 | 10 000 000 000 000 000 | 10 000 000 000 000 000 | 10 000 000 000 000 000 | 10 000 000 000 000 000 |
Rang 9 | 1 000 000 000 000 000 000 | 1 000 000 000 000 000 000 | 1 000 000 000 000 000 000 | 1 000 000 000 000 000 000 | 1 000 000 000 000 000 000 | 1 000 000 000 000 000 000 | |
Rang 10 | 100 000 000 000 000 000 000 | 100 000 000 000 000 000 000 | 100 000 000 000 000 000 000 | 100 000 000 000 000 000 000 | 100 000 000 000 000 000 000 | ||
Rang 11 | 10 000 000 000 000 000 000 000 | 10 000 000 000 000 000 000 000 | 10 000 000 000 000 000 000 000 | 10 000 000 000 000 000 000 000 | |||
Rang 12 | 1 000 000 000 000 000 000 000 000 | 1 000 000 000 000 000 000 000 000 | 1 000 000 000 000 000 000 000 000 | ||||
Rang 13 | 100 000 000 000 000 000 000 000 000 | 100 000 000 000 000 000 000 000 000 | |||||
Rang 14 | 10 000 000 000 000 000 000 000 000 000 | ||||||
Type 4 - Combinaisons possibles (mots de passe possibles) | |||||||
10 101 010 101 010 100 | 1 010 101 010 101 010 000 | 101 010 101 010 101 000 000 | 10 101 010 101 010 100 000 000 | 1 010 101 010 101 010 000 000 000 | 101 010 101 010 101 000 000 000 000 | 10 101 010 101 010 100 000 000 000 000 | |
Type 4 - Temps de calcul nécessaire pour construire un dictionnaire intégral (en jours) - En rouge ce qui est " jouable ". | |||||||
En 2007 | 46 | 4552 | 455 166 | 45 516 560 | 4 551 656 031 | 455 165 603 068 | 45 516 560 306 818 |
En 2009 | 2 | 202 | 20 230 | 2 022 958 | 202 295 824 | 20 229 582 359 | 2 022 958 235 859 |
Type 4 - Mémoire de stockage nécessaire, en teraoctets, pour un tel dictionnaire contenant "Mot de passe", Hash MD5, Hash SHA-1 (Recherches par dichotomie, Recherche par B-Tree) | |||||||
444 444 444 | 45 454 545 455 | 4 646 464 646 465 | 474 747 474 747 475 | 48 484 848 484 848 500 | 4 949 494 949 494 950 000 | 505 050 505 050 505 000 000 | |
888 888 889 | 90 909 090 909 | 9 292 929 292 929 | 949 494 949 494 949 | 96 969 696 969 697 000 | 9 898 989 898 989 900 000 | 1 010 101 010 101 010 000 000 |
|
Attaque en « force brute » pour casser un cryptage.
Les encyclopédies |
---|