Attaques par force brute : l’absence de protection des mots de passe

Même si la société Apple n’a jamais confirmé officiellement l’évènement, nous pouvons cependant croire qu’une simple lacune de sécurité au niveau de son service de stockage en ligne iCloud est bien à l’origine du scandale en 2014 du piratage de nombreux comptes d’utilisateurs. En effet, tout porte à croire que le manque de protection contre la méthode d’attaque par force brute est en cause, ce qui a permis notamment aux hackers de voler plusieurs photos privées de célébrités. A la suite de cette attaque, des mesures de protections ont rapidement étés prises par Apple. Notamment la mise en place d’un maximum de dix tentatives pour la saisie du mot de passe, si ce seuil maximum est dépassé, la procédure de connexion ou de login est alors bloquée et le titulaire du compte est avisé du problème. Avant ce scandale de piratage, il n’y avait aucune limite ou mesure pour pouvoir rentrer un mot de passe lors de la procédure de connexion, la planification d’une attaque de force brute n’était donc qu’une question de temps.

Que signifie la méthode de force brute ?

La méthode de recherche par force brute  ou recherche exhaustive est une méthode de résolution de problème dans les domaines de la cryptologie, de l’informatique et de la théorie des jeux. Cette méthode tient justement son nom du fait qu’elle soit basée sur l’utilisation et l’essai de toutes les solutions possibles, d’où également le terme de recherche exhaustive. Cette technique est utilisée quand il n‘ a pas de meilleur algorithme valable. Les hackers qui utilisent cette méthode sont particulièrement affutés à craquer des mots de passe et peuvent ainsi aisément accéder aux données personnelles. Pour cela, ils utilisent des logiciels avec un simple algorithme qui essaie rapidement et de manière successive un grand nombre de combinaisons de caractères comprenant des chiffres, des espaces et des lettres jusqu’à une longueur maximale définie.

Plus le mot de passe est court et simple, plus rapidement il peut être craqué avec la méthode de force brute. C’est bien pourquoi les mots de passe comprenant différents caractères sont généralement recommandés et il est aussi conseillé d’utiliser un système d’encodage pour les très grandes clefs ou mots de passe. Comme la quantité de puissance de calcul nécessaire pour réaliser une attaque par force brute devient de plus en plus facilement disponible, cela signifie que les tentatives d’attaques peuvent s’effectuer dans un laps de temps plus court, rendant une protection complète contre les attaques par force brute aujourd’hui quasiment indisponible.

Pourquoi prendre les attaques par force brute au sérieux ?

Etant considéré la simplicité de la méthode, on pourrait penser que les mesures de protections sont déjà appliquées, mais ce n’est malheureusement pas toujours le cas. Potentiellement chaque ordinateur qui est connecté à Internet est compromis. Dès qu’un hacker a accédé à votre système, ce qui arrive plus vite que vous ne le pensez, vos mots de passe ne sont alors plus hors de portée. En effet la plupart des systèmes d’exploitation exécutent des fichiers ou base de données ou les ID et mots de passe sont stockés. Pour Windows, les mots de passe et clefs sont par exemple dans le fichier .sam, et pour les systèmes Unixoid, ils peuvent être trouvés dans les dossiers .passwd ou .shadow.  

Les mots de passe dans ces fichiers ne sont bien évidemment pas stockés dans un texte clair et plein, ils sont effet encodés en utilisant un algorithme de chiffrement. Cependant un hacker peut tout de même avoir accès aux fichiers s’ils ne sont pas suffisamment protégés contre les accès non autorisés. Le hacker peut ainsi créer une copie du fichier et ensuite réaliser plusieurs attaques par force brute sans avoir à maintenir une connexion avec le système. En général il y a maintenant seulement trois variables qui déterminent combien de temps il sera nécessaire à la réussite de l’attaque.

  • La durée d’une simple étape de vérification.
  • La longueur du mot de passe
  • La complexité du mot de passe

La durée d’une simple étape de vérification, c’est à dire l’essai d’un possible mot de passe va dépendre de la puissance de calcul disponible de l’attaquant. Plus ce dernier à une puissance importante, le plus vite une tentative peut alors être réalisée, ainsi que la suivante. La longueur et la complexité du mot de passe augmentent logiquement le nombre de combinaisons possible et par conséquent le nombre de possibilités que doit tester le hacker pendant l’attaque de force brute. Voici en détail quels sont les effets de la longueur et de la complexité d’un mot de passe :

Set de caractère 26 caractères 72 caractères
Type de caractère Lettre minuscule Lettre majuscule et minuscule, caractères spéciaux et chiffres
Longueur maximale du mot de passe 8 caractères 8 caractères
Possibilité de combinaisons environ 209 milliards Environ 722 Billions
Puissance de calcul Environ 100 millions de valeur de hachage par seconde Environ 100 millions de valeur de hachage par seconde
Durée de vérification de la force brute environ 35 minutes environ 83 jours

Le tableau montre donc qu’avec un PC moderne, il faut seulement 35 minutes pour tester toutes les combinaisons possibles pour un mot de passe simple qui a un set de 26 caractères. Par contre, avec un set de 72 caractères avec la même puissance de calcul, cela prendrait environ 83 jours. Cependant cela ne doit pas être une raison de ne pas s’inquiéter. En effet la méthode de force brute peut être combinée avec l’attaque par dictionnaire et par table arc-en-ciel (an anglais rainbow table, est une structure de données pour retrouver un mot de passe à partir de son empreinte) afin de trouver efficacement le mot de passe et cela de manière bien plus rapide.

Comment se protéger contre les attaques par force brute ?

Que l’objectif d’une attaque de force brute soit le mot de passe de votre système central, ou comme dans l’exemple de l’ICloud pour obtenir des informations d’utilisateurs Apple, ces évènements montrent bien l'importance de se protéger contre les procédés de déchiffrement. En ce qui concerne les mots de passe du système privé, vous pouvez vous-même prendre les choses en main. En effet il suffit d’utiliser des combinaisons qui se composent de nombreux types de caractères différents. Dans le meilleur des cas, vous pouvez utiliser des caractères majuscules et minuscules, les caractères spéciaux et des chiffres pour vos mots de passe. Tout cela pour rendre plus difficile le piratage de vos clefs.

Mais la situation se complique pour la création de mots de passe pour les services en ligne. En effet vous êtes alors tributaire des exigences du fournisseur. En général un mot de passe classique comporte au maximum 8 caractères et est souvent limité aux chiffre et lettres, ce qui n’est pas optimal en matière de sécurité. Dans ce cas, vous devriez alors rechercher quelles précautions les opérateurs de site Web prennent afin de se protéger contre les attaques de force brute. Lorsque vous êtes exploitant d’un site Internet avec un mécanisme de login, c’est en effet votre responsabilité. Il existe pour cela deux approches possibles :

  • Sécuriser le mécanisme de mot de passe
  • Etablir une authentification multifactorielle

La sécurisation du mécanisme de mot de passe devrait être la base pour tout login, mais le scandale de l’ICloud a démontré que ce n’est malheureusement pas toujours le cas. Le but du mécanisme de protection est de rendre le travail du logiciel de force brute bien plus difficile. Cela signifie par exemple que lorsqu’un mot de passe incorrect est rentré plusieurs fois, aucune autre tentative ne peut être réalisée et la fonction de login est alors bloquée. De plus il est aussi possible d’augmenter le temps après et entre chaque tentative de login. Vous pouvez aussi choisir une étape supplémentaire, comme l’applique désormais Apple, qui est de bloquer entièrement le compte de l’utilisateur dans le cas où il y a plusieurs tentatives répétées de login.

De nombreux sites offrent maintenant aussi l’option d’une authentification multifactorielle. Cela entraine un processus de login plus compliqué puisque plusieurs composants sont nécessaires en plus du mot de passe. Cela peut être la réponse à une question secrète, la rentrée d’un code Pin, ou encore répondre à un test Captcha. Un test Captcha est un court test qui consiste à vérifier si le processus de login est bien réalisé par une personne et non comme dans le cas d’un logiciel de force brute, par un robot.

L’unité contre les attaques par force brute.

En plus de mesures présentées ci-dessus, il existe aussi quelques astuces pour se prémunir des attaques par force brute. Un logiciel de hacking fonctionne normalement avec différents modèles de reconnaissance de sorte que cela complique le système si les messages d’erreurs standards ne sont pas envoyés à l’utilisateur directement, mais sont envoyés sur un système externe, comme un site Internet différent. L’utilisation de noms différents pour les champs de saisie de texte sont restaurés après une tentative de login peut aussi apporter une difficulté supplémentaire pour les outils des hackers. L’utilisation d’une ou de plusieurs mesures est recommandé afin d’améliorer la protection de votre site Internet contre la méthode d’attaques par force brute.

Il existe aussi pour certaines applications et plateformes, des extensions et des outils spécifiques contre les attaques par force brute. L’extension Jetpack qui a été à la base créé pour faciliter la gestion de sites WordPress, contient un module intégré pour prévenir des attaques dangereuses basées sur une blacklist d’IP. Les adresses IP collectées dans cette liste sont celles qui ont étés reportés via des précédentes attaques par force brute sur des pages WordPress. Cette blacklist est bien évidemment constamment actualisée.