Каким должен быть пароль для Apple ID? Пароли должны быть идентичными пример


Требования к паролям — полная чушь / Блог компании Everyday Tools / Хабр

Знаете, что самое худшее в паролях (а там есть из чего выбирать)? Требования к их сложности. «Если мы не решим проблему с паролями при моей жизни, я восстану из могилы призраком и буду вас всех преследовать».

Пусть эта клятва будет записана на скрижалях Интернета. Я не в курсе, есть ли жизнь после смерти, но рано или поздно выясню, и тогда уж держитесь — у меня грандиозные планы.

Мир буквально погряз в ужасных правилах создания паролей:

→ Тупые требования → Примеры плохой политики → Доска позора

Но вам все это и объяснять не нужно. Те, кто пользуется рандомными генераторами паролей, как и положено нам, гикам в последней стадии, на своей шкуре испытывают невыносимые страдания под гнетом этого режима изо дня в день.

Видели этот классический комикс о паролях от XKCD?

Разумеется, можно спорить, стоит ли считать «correct horse battery staple» примером хорошей стратегии для создания паролей, но суть аргумента в том, что длина решает.

Нет, серьезно, решает. Скажу даже больше: зуб даю, что ваш пароль слишком короткий. В наше время, учитывая, насколько развиты облачные вычисления и взлом паролей с помощью GPU, ставить пароль в 8 символов или короче — все равно что вообще его не ставить.

Тогда, получается, одно правило у нас уже есть: пароль не должен быть коротким. Длинный пароль с большей вероятностью окажется надежным, чем короткий… правда же?

А что скажете о таком пароле в 4 символа?

Или о таком, в 8 символов?

Или о таком, гипотетическом, но вполне реалистичном, в 7 символов?

«Извините, но ваш пароль должен содержать не менее одного символа из арабского, китайского, тайского, корейского и клингонского, пиктограмму из Wingdings и смайлик».

Кроме того, вы, наверное, удивитесь, но если вставить вышеприведенные 4 смайлика в поле пароля из вашего любимого окна авторизации (давайте, попробуйте), окажется, что там на самом деле… вовсе не четыре символа.

Господи.

Наш старый друг Юникод опять за свое.

Как выясняется, даже простое правило «ваш пароль должен быть разумной длины» работает с оговорками. Особенно если перестать мыслить, как двинутые на ASCII американцы.

Да и если присмотреться ко всем этим славным длинным паролям… всегда ли они надежны?

aaaaaaaaaaaaaaaaaaa 0123456789012345689 passwordpassword usernamepassword

Конечно, нет. Вы вообще видели живых пользователей в последнее время?

Они последовательно портят каждую программу, которую я создаю. Да, да, знаю, вы гики в последней стадии и знаете всё о понятии энтропии. Но выражать свою любовь к энтропии через ужасные изощренные требования к паролям вроде:

  • должны содержать прописные буквы;
  • должны содержать строчные буквы;
  • должны содержать числа;
  • должны содержать специальные символы.
в мире, где есть Юникод и смайлики, значит не иметь воображения.

Когда мы работали над Discourse, я узнал, что окошко авторизации, оказывается, очень сложный компонент софта, несмотря на внешнюю простоту. Главное требование к паролям, которые мы приняли — длина — также было достаточно простым. Пока я писал эту статью, мы уже успели увеличить минимальную возможную длину пароля с 8 до 10 символов. А для модераторов и администраторов и решили поставить нижнюю границу еще выше, на 15 символах.

Кроме того, я настаивал на том, чтобы проверять, не совпадает ли пароль с каким-нибудь из списка 100 000 самых распространенных. Если проанализировать 10 миллионов паролей, которые попали в общий доступ из-за утечек данных, выясняется, что чаще всего используются следующие 25:

123456 123456789 qwerty 12345678 111111 1234567890 1234567 password 123123 987654321 qwertyuiop mynoob 123321 666666 18atcskd2w 7777777 1q2w3e4r 654321 555555 3rjs1la7qe google 1q2w3e4r5t 123qwe zxcvbnm 1q2w3e

Даже эти данные свидетельствуют об излишней зацикленности на системе ASCII. То есть цифры-то, конечно, везде одинаковые, но мне как-то не верится, что среднестатистическому китайцу придет в голову поставить в качестве пароля «password», «quertyuiop» или «mynoob». Так что такие списки необходимо составлять с учетом локализации и прочих параметров.

(Есть еще интересная мысль: искать популярные короткие пароли в составе длинных, но, как мне кажется, получится слишком много ошибок первого рода)

Представленная статистика также свидетельствует в пользу того, чтобы делать пароли длиннее. Обратите внимание: из 25 самых популярных паролей только 5 имеют длину в 10 символов и больше. Соответственно, если мы установим минимум в 10 символов, то уже одним этим отсечем 80% списка. Впервые я это выяснил, когда собрал несколько миллионов паролей из утечек данных в рамках исследования для Discourse и отфильтровал те, которые соответствуют нашему новому требованию, чтобы длина пароля была не меньше 10 символов.

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

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

1. Требования к паролям — полная чушь
  • Они не работают.
  • Они наказывают аудиторию, которую вам нужно привлекать в первую очередь, — тех, кто пользуется рандомными генераторами паролей. Прикиньте, рандомный пароль может и не содержать в себе цифры или символа. Я два раза сверился с учебником по математике, и да, вроде бы такое вполне возможно.
  • Они раздражают основную массу пользователей, отбивая у них охоту с вами сотрудничать и подстегивая искать всякие «остроумные» лазейки. В результате пароли получаются менее надежными.
  • Они часто ошибочны, в том смысле, что предложенный набор правил недостаточен или попросту нелеп. Достаточно посмотреть на любой пример с доски позора, на которую я ссылался выше.
  • Нет, правда, ради всего святого, хватит уже этой ерунды с произвольными требованиями к паролям. Если не верите мне, почитайте рекомендации по требованиям к паролям от NSIT. Вот, так и написано: «избегайте устанавливать правила создания паролей». Хотя, на мой взгляд, тут есть одна неточность, надо было написать: «избегайте устанавливать тупые правила».
2. Установите минимальную длину пароля в Юникоде
Одно правило, по крайней мере, легко запомнить, понять и внедрить. Это то самое пресловутое правило, чтоб править всеми, оно главнее всех, сберёт всех вместе и заключит во тьме.
  • Это просто. Пользователи умеют считать. Ну, большинство умеет.
  • Это работает. Статистика подтверждает, что это работает: просто скачайте любой список популярных паролей на ваш выбор и рассортируйте их по длине.
  • Математика не даст соврать. При прочих равных условиях длинный пароль будет более рандомным, чем короткий, а значит, и более надежным.
  • Смиритесь с тем, что даже у этого единственного правила будут исключения. Минимальная длина в 6 символов на китайском сайте — это вполне разумно. С другой стороны, пароль в 20 символов может быть до смешного простым для взлома.
  • Если в ваше поле пароля нельзя ввести (практически) любой символ из Юникода, вы скорее всего что-то делаете не так.
  • Это уже больше относится к частностям реализации, но не забудьте также установить вменяемую максимальную длину пароля.
3. Сверяйтесь со списком самых распространенных паролей
Как я уже говорил, какие из них считать «распространенными», зависит от вашей аудитории и языка, но в любом случае, позволяя пользователям ставить пароли из списка 10 000, 100 000 или миллиона самых популярных паролей из утечек данных, вы оказываете им медвежью услугу. Нет ни малейшего сомнения, что хакер попробует эти пароли при попытке взлома, и, даже если вы ставите жесткие ограничения на количество попыток ввода, достаточно прогнать первую тысячу, чтобы добиться шокирующе хороших результатов.
  • у 1.6% пользователей пароль из числа 10 самых популярных;
  • у 4.4% пользователей пароль из числа 100 самых популярных;
  • у 9.7% пользователей пароль из числа 500 самых популярных;
  • у 13.2% пользователей пароль из числа 1000 самых популярных;
  • у 30% пользователей пароль из числа 10 000 самых популярных.
Но вам повезло: в Сети можно найти целые миллионы списков «обнародованных» паролей. Производить расследование с опорой на эти данные даже весело — ведь это не какие-то вам абстрактные, искусственные правила, которые насочинял какой-нибудь программист со скуки. Нет, это самые настоящие пароли, которые использовали самые настоящие пользователи.

Проводите исследования. Собирайте данные. Спасайте пользователей от самих себя.

4. Контролируйте количество энтропии
Тут ничего особо заумного, просто выберите ту величину, которая инстинктивно кажется вам подходящей в глубине души. Но не забывайте: вам придется объяснять свою логику пользователям, которые не пройдут проверку.

Я с некоторой грустью осознал, что нас вполне устраивает, чтобы пользователь установил пароль из 10 совершенно одинаковых символов («аааааааааа»). На мой взгляд, самый простой способ избежать такой ситуации — задать минимум в x уникальных символов на общее число y. Так мы и поступаем в последней бета-версии Discourse. Но если у вас есть какие-то другие идеи, будем рады услышать их в комментариях. Чем проще и яснее, тем лучше!

5. Отлавливайте особые типы паролей
Стыдно признаться, но, реализуя окошко авторизации для Discourse, мы совершенно забыли про два распространенных случая, которые необходимо отслеживать и пресекать (я упоминал об этом в другой статье):
  • пароль, который совпадает с именем пользователя;
  • пароль, который совпадает с e-mail.
Если у вас стоит Discourse версии 1.3 и ниже — мне очень жаль, пожалуйста, обновите его как можно скорее.

Также, возможно, вам стоит блокировать еще некоторые разновидности:

  • пароль, который совпадает с URL сайта или именем домена;
  • пароль, который совпадает с названием приложения.
Если вкратце, старайтесь мыслить, выходя за рамки поля для ввода — совсем как ваши пользователи.
Пояснение
Некоторые читатели восприняли мои слова как «все правила, кроме этих четырех, которые я сейчас распишу — полная чушь». Я имел в виду другое.

Мысль такая: сосредоточьтесь на одном ясном, простом и практичном правиле, который реально работает в любой ситуации — длине. Пользователи могут вводить что угодно (в разумных пределах) на Юникоде с одним условием — чтобы было достаточно символов. Пароль должен быть длинным — это то самое единственное собирательное правило, которому мы должны научить пользователей.

Пункты с третьего по пятый — это просто оговорки для особых случаев (типа как джину нельзя загадывать желание получить неограниченное число желаний). Тут не нужно каких-то предварительных обсуждений, потому что такие вещи должны быть редкими исключениями. Пользователей нужно останавливать, если они пытаются ввести пароль, совпадающий с именем, или 0123456789, или просто «аааааааааааа», но это должно происходить в рамках проверки данных после ввода, а не в соответствии с предварительно разъясненным правилом.

Так что, если в двух словах: правило одно — длина. Вводите что ваша душа пожелает, лишь бы количество символов тянуло на нормальный пароль.

habr.com

Правильный пароль для Apple ID

Всем привет! Сегодня хотелось бы вместе с вами обсудить одну достаточно банальную, но в тоже время, очень важную и нужную штуку. Что это за штуковина такая? Речь пойдет про пароль от Вашей учетной записи Apple ID. Зачем вообще об этом разговаривать? Потому что это, пожалуй, самая важная вещь в iPhone или iPad - важнее неё только само устройство. Да и то не факт.

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

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

  • Он должен содержать минимум одну заглавную букву.
  • И по крайней мере хотя бы одну цифру.
  • Подряд одинаковые символы вводить нельзя.
  • Не совпадать с именем учетной записи.
  • Минимум 8 символов.
  • Должен не совпадать со старым, если таковой имелся.

Так что если Apple ID не принимает ваш пароль, обратите внимание на этот список, скорее всего, не все пункты соблюдены. А значит, необходимо придумать другой, более подходящий.

Приведем пример неправильного пароля:1234QwertyНесмотря на то, что он полностью соответствует и подходит под правила, понятно, что надежности в нем не очень много.

Примерный правильный пароль выглядит так:Ds234QCr5Согласитесь, намного лучше, сложнее и надежнее, чем в предыдущем варианте.

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

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

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

Подведем небольшой итог. Итак, сохраняем и никому не отдаем:

  1. Электронную почту, используемую при создании учетной записи.
  2. Пароль от Apple ID.

При соблюдении этих условий, информация на iPhone и iPad будет надежно сохранена, а ваши личные данные никогда не попадут в «третьи руки».

P.S. Хочешь придумать самый лучший пароль? Жми на кнопки социальных сетей внизу под статьей, получи +10 % к находчивости! Остались вопросы? Обязательно пиши в комментарии - я постараюсь помочь!

inewscast.ru

Поле с паролем / Хабр

Поля для ввода паролей в браузере встречаются в разных случаях:
  • при регистрации;
  • на форме логина;
  • пароль для чего-то абстрактного.
Каждый раз всплывают одни и те же проблемы и возникает необходимость в одинаковых шаблонных фичах. Чтобы облегчить эту рутинную задачу, я сделал js-библиотеку, которую можно конфигурировать под разные случаи — о ней и будет этот пост.
Что не так с тем, что существует?
Чем же нас не устраивает <input type="password" />?

Ваш •••••• всегда скрыт. Это раздражает. Раздражает тем больше, что нельзя просто так взять и поменять тип поля с password на text, поэтому приходится что-то изобретать. Времени на такую мелочь, как пароль, редко когда выделяют много, поэтому изобретается чаще всего велосипед.

В случае формы логина, пароль, возможно, и нет смысла показывать. С регистрацией же всё сложнее. Не все используют хранилки паролей, многие вводят пароль «руками». Его можно ввести неправильно, для этого обычно добавляют второе поле с паролем. Однако же, это издевательство над пользователем не спасает от случая, когда выбрана неправильная раскладка. Кроме того, если пользователь хочет куда-то сохранить введённый аж два раза пароль, он не может этого сделать. Некоторые вообще после проверки пароля очищают его (предполагая, что пользователь введёт его снова и на этот раз уж точно придумает такой, как надо):когда вы делаете так, где-то снова убивают котёнка

Многие сайты, порталы,… валидируют пароли по своим правилам (например, что в нём должны быть цифры и буквы одновременно и длина не менее 10 символов). Таким образом, разработчик будет уверен, что пользователь не введёт что-то вроде «123». Идея здравая. Как же это выглядит на практике? Вот так:будь мужиком, покажи свой большой пароль

Что это? Рейтинг скиллов нажимания на клавиши? Для чего тут вообще цвет, зачем мне надо знать какой-то процент? Есть даже такой плагин (осторожно тыкайте, кажется, сайт лёг):nakedpassword.com

Если пароль по каким-либо причинам система считает слабым, всё, что я хочу увидеть — что мне ещё ввести, чтобы он вам наконец подошёл. Никаких оценок я видеть не желаю. Нет цифр, а вы их требуете ввести — так и напишите мне: введи цифру. Я уже ввёл цифру и теперь не хватает длины? Спрячьте сообщение о том, что там должны быть цифры, я это уже осознал.

Пожалуй, самый ужасный вариант (я побоялся кликнуть на ссылку more):регистрация на одном очень известном сайте

Окей, предположим, что пользователь таки дожал до ста. Чтобы он был более счастлив, результат обычно никто и не скрывает: пусть гордится своим достижением на протяжении всего процесса заполнения формы регистрации! Он заполнил всю форму и… забыл пароль. Теперь он хочет его скопировать (например, чтобы сохранить куда-то себе). Ой: а как?кстати, я долго думал, что не так с моим паролем, почему сообщение не исчезает

Пароли вводят не только при регистрации. Пароли вводят ещё для других людей (например, в админке надо редактировать пароль к какому-то скрипту у партнёра или что-то в таком же духе). В таких случаях обычно добавляют кнопочку генерации пароля, которая избавит оператора от необходимости что-то придумывать (при этом, останется возможность ввести своё).

Очевидно, что надо иметь возможность как-то скопировать сгенерированный пароль, для этого поле с паролем в самом простом случае делается обычным текстовым полем. Зашёл отредактировать другую настройку на той же страничке — увидел пароль. Показал настройку на проекторе — все увидели пароль. Не очень удобно (но времени нет, поэтому пока так и останется, всё равно ж это внутренняя админка):пароль с генератором

Решаем проблемы
Так как разные из фич надо добавлять часто и реализация их — не всегда простая задача, я написал плагин для jQuery (вообще это js-библиотека, не требующая наличия jQuery, но для краткости буду называть плагином), который позволяет сделать поле с паролем более дружелюбным. Что в нём есть и для чего это надо?Кнопка отображения пароляОна позволяет показать пароль, когда он нужен, скопировать, изменить, проверить его и скрыть снова. Пароль по желанию разработчика может быть скрыт или показан, как при создании поля, так и в любой момент: скрыть-показать пароль

Замечу, что в IE10 тоже сделали нечто подобное (правда пароль нельзя скопировать и надо держать кнопку мышки нажатой, чтобы видеть или редактировать пароль открытым текстом):кнопка, которую добавляет IE10

ГенерацияЧтобы добавить возможность сгенерировать пароль, можно показать кнопку (есть и подсказка, когда пользователь долго думает над паролем):кнопка-генератор

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

Проверка пароля«Сила» пароля оценивается по нескольким параметрам:
  • длина (чем меньше, тем слабее):
  • входжения символов: есть ли цифры, буквы, другое. Что именно, задаётся разработчиком в виде паттерна (например, abCD23):
  • проверка на стоп-лист (например, даже если «qwerty» или «p@ssw0rd» могут казаться алгоритму сложными паролями, на самом деле это не так). Проверяем топ 10 самых-самых, плюс то, что захочет разработчик:
В результате получим какую-то суммарную оценку. Сравним её с «порогом прохождения» и покажем совет: добавь в свой пароль цифры (или буквы, или символы). Таким образом, получается нечёткий алгритм проверки: подойдёт как короткий пароль «p@S5», так и длинный, но где нет (например) цифр. Можно не заставлять пользователя вводить @#$, если он хочет большой пароль из букв и цифр, и наоборот. В сообщении пользователь увидит именно то, чего не хватает в пароле. Если поле не в фокусе, значит, пользователь хочет пока заняться другими задачами. Нет необходимости показывать ему ошибки в пароле, силу пароля или что-то ещё: покажем просто, что он или неправильный, или недостаточно надёжный (а если всё хорошо — хватит поля со звёздочками). Остальное увидит, когда предпримет попытку исправить:поле не в фокусе: с ошибкой и без ошибкиСовместимостьТак случилось, что фичи были нужны иногда и там, где не было jQuery. Поэтому он написан на «чистом» js: из-за этого получилось чуть больше кода, чем могло бы быть. Плагин дружит с jQuery и Bootstrap-ом, работает на большинстве современных и не очень браузеров (даже в IE6). Изменений в вёрстке не требуется, поэтому в случае отключённого js ничего не сломается: пользователь увидит обычное поле type=password. Умеет показывать сообщения на 8-ми разных языках, в зависимости от локали браузера:мнение плагина о пароле «qwerty» на испанском языке

Каждую кнопку, фичу или сообщение об ошибке можно избирательно отключить или переопределить.

Демка тут, там же описание API. Возможно, плагин будет полезен кому-то ещё, поэтому исходник выложен на github, если надо — пользуйтесь где угодно.

habr.com

Практические рекомендации по выбору паролей по результатам взлома antichat.ru / Хабр

Как вы уже слышали Брайан Кребс недавно проводил аудит паролей, полученных после взлома antichat.ru (сама база была получена где-то год назад и уже не актуальна!). Честно говоря, не очень понимаю чем занимались его видеокарты 18 дней, победив только 44% паролей. Мне на довольно скромном железе удалось подобрать 77% паролей за 8 часов. Исходя из таких несколько пугающих цифр, особенно для сайта тематически связанного с информационной безопасностью, у меня есть несколько рекомендаций о том какие пароли никогда не следует использовать, дабы они не были подобраны за пару минут. Я пользовался утилитой The UDC, которую создал сам (кстати в настоящий момент она бесплатно доступна «с потрохами»), она не поддерживает вычисления на видеокартах и на моем E8400 перебирает в среднем 5 миллионов паролей в секунду (просто чтобы не было иллюзии, что успешность перебора определяет только скорость). В результате я нашел 31790 паролей из 41037 MD5 хешей. Как мне это удалось?
Цифры
Шаг первый. Проверить все цифровые комбинации длиной до 11 символов. Люди любят использовать цифры в качестве паролей, возможно из-за того что научились хорошо запоминать телефоны (хотя некоторые уже давно разучились). Может потому что цифры не вносят какого-то оттенка индивидуальности, кому-то они кажутся менее пошлыми, кому-то более случайными.

Итак, запускаю перебор, иду пить кофе.

Итого получаю 15759 найденных паролей! Это почти половина всех найденных. За пять-то минут.

Кому-то кажется, что если понаписать цифр «от души», штук эдак 20, то такой пароль можно считать трудно подбираемым. Отнюдь. Человек не является хорошим генератором случайных чисел, ему свойственно выбирать какие-то более удобные или красивые комбинации подсознательно.

На базе этого замечания была применена техника частотного анализа; я буду применять ее и дальше, и озаглавлю «атакой релевантных сочетаний». Итак, берем уже найденные 15759 цифровых паролей, и считаем количество включений каждой подстроки. Скажем, подстрока 123 является самой частой среди трехсимвольных комбинаций, а строка 1111 среди четырехсимвольных (так вот устроены уже найденные пароли). Сортируем все подстроки по частоте, выбираем N самых частых (например 50000), получается словарь частых сочетаний.

Запускаем перебор пар конкатенаций слов из этого словаря (такой метод часто называют «гибридной атакой»), в результате легко подбираем пароли вида 1111111111123123 за считанные минуты. В результате: еще 358 найденных паролей.

Мораль: все-таки любое количество любых цифр — плохой пароль. Вот просто никогда не используйте чисто цифровые комбинации в качестве пароля. Их подобрать не сложнее чем «qwerty» или «password».

Короткие пароли
Удивительно, что не все сайты запрещают создание паролей короче 7 символов. Однако и таких присутствовало аж 5767 штук.

Я думаю, все верят, что подбираются они за минуты.

Словарные слова
Достаточно простая техника запомнить пароль — вспомнить какое-то слово и как-то его «извратить». Человеческий подход к этому вопросу я попытался закодировать с помощью набора подстановок.

Какие подстановки я использовал:

  • убрать все гласные из слова
  • случайное изменение регистра для одной-двух букв в любом месте
  • эмуляция случайного нажатия CAPS LOCK в любом месте слова
  • добавить до трех случайных цифр в конец слова + красивые варианты (2010, 2011, etc.)
  • добавить до двух случайных цифр в начало слова + красивые варианты (123, 1111, etc.)
  • вставить случайный символ в любое место слова
  • добавление знаков пунктуации в начале и/или в конце слова
  • «хэккерские» замены («one» -> «1», «s» -> "$", «a» -> "@", etc.)
  • ошибки переключения раскладки (русское слово в английской и наоборот)
Далее прогоняем какой-нибудь достаточно большой словарь слов на разных языках, у меня нашелся словарик на 40 мегабайт, на котором подстановки отработали за пол часа.

Кроме уже попавших в вышеописанные категории таких паролей оказалось аж 5213 штук.

Мораль: на любую «фантазию» в придумывании пароля может найтись подстановка, ее реализующая. Возможно моя фантазия не очень богата, но и благодаря ей удалось разобраться с большим количеством, кстати, довольно длинных паролей.

Частотный анализ для длинных паролей
Вы, может быть, еще думаете, что пароль из 20 символов с применением букв разных регистров и цифр достаточно надежен, но увы, если его придумал человек — вряд ли.

После того, как я уже нашел 27097 пароль (это где-то за час), странно было бы этим не воспользоваться в полной мере. Есть предположение, что для любого тематического ресурса люди чаще используют одни комбинации символов, нежели другие. Вопрос требующий изучения, но статистические методы позволяет перенести «изучение» на железную часть, не напрягая мозг.

Итак, извлекаем подстроки из найденных паролей, сортируем их по частоте, и создаем словарь из 10000 самых частых сочетаний. Добавляем туда по необходимости все односимвольные и двухсимвольные комбинации.

Затем начинаем перебор по конкатенации слов из такого словаря в числе до трех штук. Вот именно эта часть и заняла почти 7 часов и нашла 4693 длинных и сложных пароля. В огромном числе из них употреблялись «устойчивые» комбинации вроде 1234 или 951753.

Мораль: человек едва ли может уследить за отсутствием статистически популярных комбинаций в пароле, однако любая система поможет ему подсказать, реализуя поиск таких комбинаций в релевантном словаре. Иначе же no one is safe.

Примеры плохих паролей (из найденных)
123321123321123 — цифр вроде много, но паттерн очевиден.1qaz2wsx3edc — удобно набирается и так же удобно конструируется. 123456610q — наивно полагать, что один символ изменит качество пароля, однако так думают не только люди, но и большинство автоматических систем, не порядок.ilovepussy777 — кто ж не любит; но по сути это один символ + три релевантых слова, ломается враз.[fuckitall] — показываем свое замечательное знание английского, однако комбинация [...] слишком часто встречается, чтобы считать что она влияет на надежность.Hellsp@wn — ни регистр в начале, ни замена на @ не улучшит качество пароля, собранного из словарного слова.Jhnjgtl12 — раскладку перепутали? и мы так умеем.dalex3pro — d + имя + цифра + частое сочетание букв. Для pro как-то не круто.PANASONIC13 — забытый капслок? и откуда такой фанатизм к известной фирме.iphone3g — еще фанатики. не стоит использовать что-то, что у всех на слуху.qCkiYSJ625 — и вот казалось бы рандом, но кто ж знал, что он состоит из достаточно часто употребляемых комбинаций сам по себе.

UPD: База не свежая, ей почти год, так что вопросы про то, чей пароль подобран или нет актуальны только если вы зарегистрировались больше года назад и не меняли пароль!

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

habr.com