Где я могу найти словарь для проверки пароля? - PullRequest
6 голосов
/ 24 сентября 2008

Я работаю над алгоритмом проверки пароля, который должен проверять потенциальные пароли по словарю. Если пароль или какая-либо его часть можно найти в словаре, отклоните его. Функция достаточно проста, но где взять список слов? Есть ли уже веб-сервис для поиска слов? Я ковырялся в некоторых, но не нашел ничего, что кричит "Выбери меня!" Спасибо.

РЕДАКТИРОВАТЬ: Когда я задавал этот вопрос, я не думал о конкретных словарях паролей, таких как @Joe Skora, которые будут включать слова, которых можно было бы избежать. Итак, я расширю вопрос, включив этот тип словаря, и все остальное, о чем я мог бы не подумать при написании этой функции.

Платформа - C # / ASP.Net / SQL Server. Это только один компонент алгоритма для надежных паролей, который необходимо будет реализовать. Еще раз спасибо.

Ответы [ 9 ]

6 голосов
/ 24 сентября 2008

Поиск в Google в бесплатных словарях дает вам много свободно доступных словарей. Если вы загрузите их в базу данных, вы сможете быстро найти известное слово.

Однако не думаю, что это устранит атаки без перебора !

Вам стоит взглянуть на приложений для взлома паролей ! Самым простым расширением атаки по словарю является объединение слов. Кроме того, существуют другие типы атак, такие как замена персонажей, которые расположены близко друг к другу на клавиатуре. (Например: поверните d к f.)

Лучшее приложение для взлома паролей, которое я когда-либо видел, это John the Ripper . Если вы видите, какие атаки он использует, вы можете создать лучший генератор паролей.

Вам также следует изучить привычки пользователя , потому что типичный пароль - это неверный пароль . Например, большинство пользователей ставят цифры в конце своей парольной фразы, поэтому используется надежный пароль, в середине которого находится номер.

2 голосов
/ 09 октября 2008

Я получил список слов из здесь и загрузил его в свою базу данных. Удалены все слова длиной менее 3 символов.

Написал функцию C # для анализа каждой подстроки пароля (только на данный момент вперед) в строку xml.

Передайте строку XML в хранимый процесс, который создает временную таблицу из 1 столбца, в которой каждая подстрока создает строку.

Присоедините временную таблицу к моему списку слов, и если какие-либо строки будут возвращены, я знаю, что пароль содержит слово из словаря, и я знаю, какие подстроки совпадают.

Это хорошо работает, но я думаю, что в итоге мы немного изменим список слов, поскольку он может быть слишком ограничительным.

Спасибо за помощь в списке слов

Первоначально я пытался пойти по пути проверки орфографии, но я не нашел способа выполнить проверку орфографии без стороннего компонента (перераспределение было слишком дорогим, и мы продаем продукт), или когда требовалось, чтобы MS Word был включен. сервер.

2 голосов
/ 24 сентября 2008

Обычно

  • / USR / Dict / слова

или

  • / usr / share / dict / words

в зависимости от того, какой у вас Unix.

Доступно больше онлайн, таких как бесплатный многоязычный словарь

1 голос
/ 24 сентября 2008

Я думаю, что нет необходимости проверять словарь, особенно если вы хотите отклонить хотя бы часть своего пароля. В английском языке много маленьких слов, и расширение на многоязычные словари, возможно, предотвратит использование любого пароля разумного размера, при этом каждая вторая буква не будет обозначена как 'z' 'q' или 'y': 'a' 'on' ' в '' je '' um '' o ' и т. д.

Я не до конца понимаю, почему вы заботитесь о пароле в словаре, когда вы можете легко навязать другие простые правила:

Пароль с минимальной длиной 8 символов должен состоять из:

  • от 2 до 8 заглавных букв
  • от 2 до 8 строчных букв
  • от 2 до 8 цифр
  • от 1 до 4 специальных символов (*** + "% & / ()? - [] {} \ <> и т. Д.)
1 голос
/ 24 сентября 2008

Чтобы проверить надежный пароль, вы должны сделать больше, чем просто проверить слова в словаре. Но если в вашей платформе еще нет библиотеки, которая бы делала это (что это, кстати?), Просто относитесь к ней так, как будто вы хотите выполнить проверку орфографии. Если какая-либо часть пароля проходит проверку орфографии, она терпит неудачу.

У Microsoft есть библиотека для проверки орфографии .

Если вы специально хотите использовать веб-службу , учтите это .

1 голос
/ 24 сентября 2008

Существует несколько списков / баз данных общих (не относящихся к паролям) открытых лицензий. Мой любимый - Princeton WordNet

0 голосов
/ 24 сентября 2008

Проверьте все подстроки в предполагаемом пароле для http://www.dictionary.com

0 голосов
/ 24 сентября 2008

Имеется пара словарей / списков слов здесь .

0 голосов
/ 24 сентября 2008

Я думаю, что старая программа была wwwhack .. в ней было несколько словарей грубой силы, которые вы могли бы использовать в качестве базы (я думаю, они были включены в виде текстовых файлов), кроме того, что я не знаю ни одного места, где есть общедоступные словари PW, доступные для общественности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...