19Aug
Les attaques en force brute sont assez simples à comprendre, mais difficiles à protéger. Le cryptage est mathématique, et à mesure que les ordinateurs deviennent plus rapides en mathématiques, ils deviennent plus rapides à essayer toutes les solutions et à voir lequel correspond.
Ces attaques peuvent être utilisées contre tout type de cryptage, avec plus ou moins de succès. Les attaques de force brute deviennent plus rapides et plus efficaces chaque jour qui passe, à mesure que le matériel informatique est plus récent et plus rapide.
Brute-Force Notions de base
Les attaques Brute-Force sont simples à comprendre. Un attaquant a un fichier crypté - disons, votre base de données de mots de passe LastPass ou KeePass. Ils savent que ce fichier contient des données qu'ils souhaitent voir, et ils savent qu'il existe une clé de chiffrement qui les déverrouille. Pour le décrypter, ils peuvent commencer à essayer chaque mot de passe possible et voir si cela aboutit à un fichier déchiffré.
Ils le font automatiquement avec un programme informatique, donc la vitesse à laquelle quelqu'un peut brutalement forcer le cryptage augmente au fur et à mesure que le matériel informatique devient de plus en plus rapide, capable de faire plus de calculs par seconde. L'attaque par force brute commencerait probablement par des mots de passe à un chiffre avant de passer à des mots de passe à deux chiffres et ainsi de suite, en essayant toutes les combinaisons possibles jusqu'à ce que l'on travaille.
Une "attaque de dictionnaire" est similaire et essaie des mots dans un dictionnaire - ou une liste de mots de passe communs - au lieu de tous les mots de passe possibles. Cela peut être très efficace, car beaucoup de gens utilisent des mots de passe faibles et communs.
Pourquoi les attaquants ne peuvent pas imposer de force aux services Web
Il existe une différence entre les attaques en force brute en ligne et hors ligne. Par exemple, si un attaquant veut pénétrer brutalement dans votre compte Gmail, il peut commencer à essayer tous les mots de passe possibles, mais Google les coupera rapidement. Les services qui fournissent l'accès à ces comptes limiteront les tentatives d'accès et interdiront les adresses IP qui tentent de se connecter autant de fois. Ainsi, une attaque contre un service en ligne ne fonctionnerait pas très bien car très peu de tentatives peuvent être faites avant que l'attaque ne soit stoppée.
Par exemple, après quelques tentatives infructueuses de connexion, Gmail vous affichera une image CATPCHA pour vérifier que vous n'êtes pas un ordinateur essayant automatiquement les mots de passe. Ils vont probablement arrêter vos tentatives de connexion complètement si vous avez réussi à continuer assez longtemps.
D'autre part, supposons qu'un attaquant ait arraché un fichier crypté de votre ordinateur ou ait réussi à compromettre un service en ligne et à télécharger de tels fichiers cryptés. L'attaquant dispose maintenant des données cryptées sur son propre matériel et peut essayer autant de mots de passe qu'il le souhaite. S'ils ont accès aux données cryptées, il n'y a aucun moyen de les empêcher d'essayer un grand nombre de mots de passe dans un court laps de temps. Même si vous utilisez un cryptage fort, il est avantageux de protéger vos données et de vous assurer que les autres utilisateurs n'y ont pas accès.
Hashing
Des algorithmes de hachage puissants peuvent ralentir les attaques par force brute. Essentiellement, les algorithmes de hachage effectuent un travail mathématique supplémentaire sur un mot de passe avant de stocker une valeur dérivée du mot de passe sur le disque. Si un algorithme de hachage plus lent est utilisé, il faudra des milliers de fois plus de travail mathématique pour essayer chaque mot de passe et ralentir considérablement les attaques par force brute. Cependant, plus le travail est important, plus le travail d'un serveur ou d'un autre ordinateur est important à chaque fois que l'utilisateur se connecte avec son mot de passe. Le logiciel doit équilibrer la résilience contre les attaques par force brute avec l'utilisation des ressources.
Vitesse Brute-Force
La vitesse dépend du matériel. Les agences de renseignement peuvent créer du matériel spécialisé uniquement pour les attaques par force brute, tout comme les mineurs Bitcoin construisent leur propre matériel spécialisé optimisé pour l'extraction Bitcoin. Quand il s'agit de matériel grand public, le type de matériel le plus efficace pour les attaques par force brute est une carte graphique( GPU).Comme il est facile d'essayer plusieurs clés de chiffrement à la fois, de nombreuses cartes graphiques fonctionnant en parallèle sont idéales.
A la fin de l'année 2012, Ars Technica a rapporté qu'un cluster de 25 GPU pouvait casser chaque mot de passe Windows sous 8 caractères en moins de six heures. L'algorithme NTLM utilisé par Microsoft n'était pas assez résilient. Cependant, lorsque NTLM a été créé, il aurait fallu beaucoup plus de temps pour essayer tous ces mots de passe. Cela n'a pas été considéré comme une menace suffisante pour Microsoft pour renforcer le cryptage.
La vitesse augmente et dans quelques décennies, nous pouvons découvrir que même les algorithmes cryptographiques les plus puissants et les clés de cryptage que nous utilisons aujourd'hui peuvent être rapidement utilisés par les ordinateurs quantiques ou tout autre matériel que nous utiliserons dans le futur.
Protection de vos données contre les attaques de force brute
Il n'y a aucun moyen de vous protéger complètement. Il est impossible de dire à quel point le matériel informatique sera rapide et si l'un des algorithmes de cryptage que nous utilisons aujourd'hui présente des faiblesses qui seront découvertes et exploitées à l'avenir. Cependant, voici les bases:
- Protégez vos données cryptées là où les attaquants ne peuvent pas y accéder. Une fois que vos données sont copiées sur leur matériel, ils peuvent essayer des attaques en force brute contre eux à leur guise.
- Si vous exécutez un service qui accepte les connexions via Internet, assurez-vous qu'il limite les tentatives de connexion et bloque les personnes qui tentent de se connecter avec de nombreux mots de passe différents sur une courte période. Le logiciel serveur est généralement configuré pour le faire dès la sortie de la boîte, car c'est une bonne pratique de sécurité.
- Utilisez des algorithmes de chiffrement puissants, tels que SHA-512.Assurez-vous de ne pas utiliser d'anciens algorithmes de chiffrement avec des faiblesses connues et faciles à résoudre.
- Utilisez des mots de passe longs et sécurisés. Toute la technologie de chiffrement dans le monde ne va pas vous aider si vous utilisez "mot de passe" ou le très populaire "hunter2".
Les attaques par force brute sont un sujet de préoccupation lors de la protection de vos données, du choix des algorithmes de cryptage et de la sélection des mots de passe. Ils sont également une raison de continuer à développer des algorithmes cryptographiques plus solides - le cryptage doit suivre la rapidité avec laquelle il est rendu inefficace par le nouveau matériel.
Crédit d'image: Johan Larsson sur Flickr, Jeremy Gosney