Как стать автором
Обновить

Комментарии 44

Вот еще анализ 62k паролей добытых LulzSec, но там информация совсем скудная.
Зато там автор пытался классифицировать пароли по тем или иным признакам. Например, 12к паролей из 62к полностью состоят из цифр — это значительный процент. Все остальные обобщения плавают на уровне 3-5%. С точки зрения перебора по словарю они представляют интерес. С точки зрения брута я думаю столь малые доли не имеет смысла рассматривать.
Судя по вашему анализу, мои пароли не пользуются популярностью, и это радует)
Научный подход.
Можно существенно ускорить перебор паролей брутфорсом, хотя… с таким бэкграундом брутфорсом этот метод уже не назовешь)
Можно назвать статфорсом. На основе статистик же))
в свое время, когда занимался UDC тоже использовал статистические методы. Считал декомпозицию паролей из большой базы (20 миллионов) на комбинации символов, идущие подряд, в зависимости от позиций, грубо — в начале, в середине, в конце.
затем перебирал словарь_начальных_комбинаций x словарь_средних_комбинаций^n x словарь_конечных_комбинаций. какие-то оптимизации, чтобы выкидывать повторные проверки не проводил, но в целом это позволяло «восстанавливать» до 75% паролей меньше чем за час.
Если я правильно понял за час перебора вы получали 75% исходных паролей? Или нет? Это на одной персоналке?
да, перебирал на одной машине (причем лет 5 назад было, так что мощности соответствующие), а проценты от слитой, например с форума базы хешей. причем половина паролей подбирались буквально за пару минут.
смартфорс
Тема интересна, развивайте. Еще бы увидеть алгоритм на языке программирования.
Тема очень интересная, но возник иной вопрос: чем анализировали базу паролей и чем создавали графики? Как раз ищу удобный инструмент для последнего.
Не знаю, что использовал автор, но в любом случае рекомендую посмотреть в сторону R.
Извините, но аббревиатура слишком коротка, чтобы искать её в интернете))
Эмм… в википедии поиск отрабатывает на раз.
«R — язык программирования для статистической обработки данных и работы с графикой, а также свободная программная среда вычислений с открытым исходным кодом в рамках проекта GNU.»

Сайт проекта тут
Анализ производил самописной программой на плюсах. Графики их MS Excel.
хех, давно видно я в Excel не заглядывал, раз у них уже такие неплохие графики отрисовываются.

Ну а я бы тогда порекомендовал использовать матлаб, тк он как раз под эти задачи, а R для новика мозгодробителен.
ага, научный подход :)
а нормализовать по частотам для обычного языка? и что-то мне подсказывает что после нормализации будет более случайное распределение. А следовательно перебор по словарю будет гораздо успешней.
Сегодня вечером просто для интереса прогоню обычный текст и построю графики. Всё-таки пароли пользователей мне кажется более специфичны, чем просто текст. Чаще используются звонкие слова, например.
Не обычный текст, а только существительные и имена :)
Где такой взять?) Словарь туда загнать?
Собственно да, подвергнуть статистике словарный поиск паролей.
Тут вопрос более глубокий. Если использовать полученные статистические данные для атаки на пользователей из приблизительно той же языковой и социальной группы, то никакая нормализация не нужна и использование результатов статистики даст выигрыш при переборе. Но вот если есть желание воспользоваться данной статистикой, как универсальной — то тут можно уже говорить о нормализации, но при этом полученные данные скорее всего приведут к мысли, что статистика бесполезна, что Вы и утверждаете. Следовательно, не стоит пользоваться конкретными результатами как неким плацебо, а нужно взять на вооружение сам механизм анализа и применять его к конкретным ситуациям. Но в любом случае практика — критерий истины, так что хорошо бы теперь посмотреть статистику получения выигрыша от использования буквенно-частотной статистики =)
Судя по количественному анализу букв, у многих пароль должно быть: reason :) И кстати, биграммы интересные получились.
Что-то мне подсказывает что существует 2 принципиально разных варианта:

1) Осмысленный пароль (фраза, комбинация, или еще что-то)
2) Сгенерированный пароль

Для сгенерированных паролей частотные анализы — заведомо ересь, потому как они случайны. Для осмысленных же перебор слов по словарю будет гораздо эффективней чем попытка эти слова сгенерировать.
Я думаю сгенерированных паролей не так много, чтобы они значительно повлияли на статистику.
Есть пароли осмысленные для создающего, но случайные на первый взгляд — генерируемые не по случайному алгоритму.
Есть не осмысленные «случайные» пароли и при этом не сгенерированные программами. Лично мне проще запомнить последовательность символов, которую я придумал сам, чем ту, которую выдала какая-то программа.
Простите за занудство, но я уже не первый раз в топиках подобного содержания встречаю утверждения вроде «как видим, биграммы совсем не случайны».

Будем рассуждать по порядку. Строго говоря, пароль вообще нельзя считать случайной последовательностью символов (если речь о придуманных пользователями, таких большинство). Но в контексте брутфорса каждый конкретный пароль для конкретного логина можно считать случайным.

Далее, каждая случайная величина (возвращаясь к нашим баран биграммам, случайной величиной будет являться дискретная случайная величина со значениями в виде всевозможных биграмм) обладает своим законом распределения! И то, что очень и очень многие тут называют «случайно» на самом деле приравнивают по смыслу к «равновероятно». Закон распределения может быть каким угодно, вообще любым, и величина от этого случайной быть не перестанет. Закон распределения (для дискретной величины) есть множество значений величины и соответствующие им вероятности. Равномерный закон распределения — это очень частный случай! Давайте будем грамотнее.

P.S.: пока писал комментарий, увидел, что тоже относится и к комментарию выше от товарища alexey_uzhva. Конечно, сгенерированные пароли случайны, однако закон распределения символов по их местам в пароле нам неизвестен. Ведь очевидно, что генератор вряд ли допустит последовательности «ааа» или «111», значит он уже не равномерный для каждой позиции. А проведенные в этом и предыдущем (а он как раз рассматривал только пароли, не подобравшиеся по словарю!) топиках исследования показывают, что он довольно интересный и может облегчить брут.
Конечно, сгенерированные пароли случайны, однако закон распределения символов по их местам в пароле нам неизвестен. Ведь очевидно, что генератор вряд ли допустит последовательности «ааа» или «111», значит он уже не равномерный для каждой позиции.
Однажды, когда военный генератор пароля случайно выдал осмысленную фразу, подтверждая древний тезис об обезьяне, которая способна сочинить «Войну и мир», паника поднялась на весь бывший СССР...
Почему же не допустит последовательности «ааа» или «111»? Они могут сгенерироваться случайно.
я думаю практически все на хабре знакомы с основами основ теории вероятности, и знают хотябы приблизительно, что такое функция распределения
Всё дело в том, что я проводил анализ не с точки зрения теории вероятности, а с точки зрения математической логики, дискретной математики и комбинаторики.
Прочитал как «Анализ анальных паролей...». Не понял. Прочитал повторно — «Ректальный анализ паролей». Нажал на ссылку. Прочитал в третий раз. Окончательно проснулся.
Мне пора к доктору, да?
Воскресенье. 9 утра.
НЛО прилетело и опубликовало эту надпись здесь
Это все конечно мило и познавательно, но неплохо было бы посмотреть на реальные оценки и испытания. Ведь нерабочие часы тоже показывают два раза в день правильное время
В следующей статье будет и код и результаты и оценки ускорения перебора.
может с кодом поможет, реализация переборщика и генератора rainbow tables по частотным таблицам,
Не найдется у вас ссылки на описание этой техники. Было бы интересно почитать.
– Учитель, я подобрал хороший пароль, которого не может быть в словарях.
Инь Фу Во кивнул.
– Я ввёл его в Гугле, – продолжал Сисадмин, – и убедился, что в Сети такого сочетания нет.
– Теперь есть.

Коллеги, может я не в теме, но о каких атаках идет речь? И какая практическая польза от словарей?

а) после неправильного ввода добавляем задержку (0.1 секунды, 0.2 секунды, 0.4 секунды, 0.8 секунда, 1.6, 3.2)
б) на 3-й неправильный ввод присылаем каптчу на вход
в) на 10-й неправльный вход блокируем вход в аккаунт.

Никто этого не написал ни в комментариях ни в статье но подразумевается, что есть хэш пароля и к нему надо подобрать пароль. Сервер то понятное дело так не брутануть, да и скорость подбора была бы крайне низкой.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории