Une attaque par dictionnaire est une méthodologie de piratage d'informations d'identification fréquemment utilisée pour compromettre les systèmes d'authentification en parcourant systématiquement des listes précompilées de mots de passe potentiels. Également appelée attaque par dictionnaire, cette technique exploite la tendance des utilisateurs à sélectionner des mots de passe basés sur des mots standard, des phrases fréquemment utilisées, des noms propres ou des combinaisons de caractères prévisibles. De plus, les attaquants utilisent fréquemment des méthodes basées sur des dictionnaires pour énumérer automatiquement les adresses e-mail valides pour les campagnes de spam.
Contrairement aux attaques par force brute, qui tentent de manière exhaustive toutes les permutations imaginables de caractères (consommant des ressources informatiques et du temps considérables), les attaques par dictionnaire exploitent des listes de mots prédéfinies contenant des mots de passe fréquemment sélectionnés ou divulgués, permettant des tentatives de compromission plus rapides et plus économes en ressources.
Les dictionnaires et les outils logiciels spécialisés permettant de réaliser des attaques par dictionnaire sont largement disponibles, à la fois dans le commerce et gratuitement au sein des ressources de la communauté de sécurité. Les dictionnaires ont des tailles allant de milliers à des millions d’entrées. Les administrateurs informatiques et les spécialistes de la sécurité utilisent généralement ces outils et dictionnaires de manière proactive (en effectuant des tests de sécurité, des évaluations de pénétration et des audits de mots de passe) pour évaluer la sensibilité de leurs systèmes à ce vecteur d'attaque.
Une technique d’atténuation courante consiste à appliquer des politiques de création de mots de passe qui rejettent automatiquement les informations d’identification dérivées exclusivement d’entrées de dictionnaire ou de listes de mots de passe prévisibles. Cependant, des politiques de filtrage de dictionnaire trop restrictives peuvent avoir un impact négatif sur l’expérience utilisateur et créer des difficultés dans la sélection de mots de passe conformes. Les professionnels de la sécurité doivent donc trouver un équilibre entre les exigences de complexité des mots de passe et les considérations pratiques d’utilisabilité.
Une autre politique essentielle consiste à éliminer les « comptes Joe » (comptes d’utilisateur dont le nom d’utilisateur et le mot de passe sont identiques), car ces comptes sont souvent les principales cibles des outils d’attaque par dictionnaire automatisés. Les administrateurs de sécurité doivent, au minimum, mettre en œuvre des contrôles interdisant la création de comptes Joe et appliquer des directives sur la complexité des mots de passe afin de minimiser les tentatives réussies de devinette d'informations d'identification.