Пользователь
0,0
рейтинг
24 июня 2011 в 19:47

Разработка → Практические рекомендации по выбору паролей по результатам взлома 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:
База не свежая, ей почти год, так что вопросы про то, чей пароль подобран или нет актуальны только если вы зарегистрировались больше года назад и не меняли пароль!

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

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (185)

  • +18
    рекомендую пользоваться KeePass и помнить один сложный пароль от него. остальные пароли генерировать с его помощью.
    • –14
      Вы всерьёз доверяете свои пароли программе, сорцы которой никто кроме автора не видел?
      • +9
        Не понял, разве исходники у KeePass не открытые? «KeePass is OSI Certified Open Source Software».
      • +5
      • +6
        А вы сорцы Windows видели? Или сорцы gmail?
        • +3
          а никто им и не доверяет ) Они же официально заявили о сотрудничестве с АНБ
          • 0
            Предполагаете всем пересесть на линукс, а для почтового ящика держать свой почтовый сервер?
            • +1
              Нет, предлагаю не заниматься противоправными действиями в сети (и наяву) =))
              • 0
                Дело не противоправных делах, у вас могут увести и праведно нажитые деньги через Webmoney или клиент-банк :)
    • +2
      я это делаю и без KeePass
      • 0
        что используете?
        • +5
          Полагаю, что МОЗГ 1.0
          • +4
            МОЗГ, а тем более версии 1.0 — штука довольно ненадёжная.
            • +1
              допиливали
              • +1
                Исходники есть?
                • 0
                  не, апи
                • 0
                  у родителей.
            • +2
              особенно если, посещаемых ресурсов много и на каждый ресурс свой пароль, и это еще не считая работы=)
        • +2
          pwgen
          • +1
            APG (Automated Password Generator) как альтернатива
            на мой взгляд более качественные рандомы генерит
            • 0
              Спасибо, попробую
            • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Давно собираюсь перейти на эту программу, но меня мучает вопрос как быть если заходишь не со своего ПК. Сомнительное ли это интернет кафе, или любознательный друг, так или иначе есть шанс что на чужом ПК будет стоят некоторый логгер. Это предусмотрено?
      • 0
        Для keepass есть версии на основных современных мобильных платформах (iOS, Android, WP7, WM6), так что вариант — хранить копию базы нa мобильнике. Правда, вводить длинный мастер-пароль нa мобиле не очень удобно :)
        • 0
          для него есть версия на java, т.е. практически для любых телефонов
        • +1
          Для iOS??? Не покажете, где именно (чтобы без джейлбрейка установить)?
          • +1
            Я поставил себе MyKeePass. Оно стоит символических денег, но выглядит и работает неплохо — .kdb (базы KeePass 1.x) читает и пишет, .kdbx (2.x) только читает. Еще есть iKeePass, у него преимущество — есть интерфейс под iPad, но нет поддержки .kdbx. Оба приложения в AppStore.
            • 0
              Попробовал MyKeePass. Работает, хотя для iPad приложение было бы лучше. Но вопрос — там вообще просмотреть пароль можно как-нибудь, без того, чтобы его копировать и вставлять куда-нибудь в Notes?

              Он не поддерживает файл ключа, кстати. И да, приложение для iPad было бы намного удобнее.

              Нашёл ещё iKeePass и KyPass (который якобы наследник MyKeePass и напрямую поддерживает DropBox), но отзывы там такие, что даже ставить не хочется, народ пишет, что не работает ничего.
      • 0
        Вы всегда можете использовать ключевой файл, который будет «где-то» храниться, и без которого пароль бессмысленный.
      • +1
        можно свой файл с паролями носить на флешке или хранить в dropbox(или другом подобном сервисе). а рядом пусть лежит portable версия KeePass.
        • 0
          Уж лучше на лбу написать чем в дропбоксе хранить. Слишком беспечно они к безопасности инфы своих клиентов относятся.
          • +1
            даже если случится так, что dropbox подведет, то файл с паролями еще открыть нужно будет. ну, и можно выбрать какой-нибудь другой сервис — Box.net, например. не дропбоксом единым;)
          • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        Там есть кнопка автозаполнения форм и заполняет она судя по всему не просто так, а набором кучи символов, а потом где-то оставляет только нужные бувы. В кейлогере потом фиг что найдешь
    • +1
      После последней волны взломов, когда утекли мои сгенеренные простеньким скриптом одноразовые пароли нa MtGox и EA Games, начал пользоваться. Добавляет пару кликов в ежедневную рутину, но на душе спокойнее…
    • 0
      Тоже пользуюсь ей, с установкой при генерации пароля параметров:
      1. Каждый символ должен встречаться не больше одного раза
      2. Исключать похожие символы

      ну и длина от 12 до 16
    • НЛО прилетело и опубликовало эту надпись здесь
      • +1
        Одного взгляда на их хомпейж достаточно.
  • +2
    Замечательный разбор! Все больше убеждаюсь, что любые «человеческие» пароли ненадежны. Самый надежный вариант это 10+ случайно сгенерированных символов.
    • 0
      ну вот как видим и этого не достаточно, если ручной случайный, то он может оказаться не случайным :( нужно машиной генерить
      • +2
        Это я и имел ввиду. Я например генерю пароли LastPass'ом.
      • 0
        Вот вам абсолютно случайный пароль: 4
        Докажите, что он не случайный :-)
        • +3
          generated by roll dice ;)

          но он слишком короткий.

          тут подразумевается то что в пароле не должно быть «неслучайных» закономерностей, машина вполне в состоянии это проверить. получается в ущерб математической случайности (страдает распределение), но уменьшается вероятность взлома гибридными техниками.
        • 0
          Легко. Величина энтропии на один байт.
          • 0
            вы неверно поняли этот элегантный пример
            • +1
              Я помню, про fair dice roll © xkcd ))
        • +1
          function random() {
          return 4; //chosen by chance
          }
  • +5
    Я не согласен с вашими выводами вашей статьи.
    Как уже писали в комментариях к предыдущей статье — крики «пароли плохие» по сути не очень актуальны, т.к подавляющее большинство людей чьи пароли там простые — это те, кто к информационной безопастности отношения вообще не имеют.
    Во вторых эта проблема исходит из того, что на античате (скорее всего, намеренно) используется не надежный способ хранения паролей.
    Но это их халатность, с той же вероятностью можно нарваться на сервис который вообще хранит все даже без хеша.

    И с моралью не согласен, как по мне мораль такова:
    1 — Используйте SSL авторизацию по сертификатам там где это возможно.
    Т.к это позволяет даже защититься от кражы ключа, в случае использования токена.
    2 — Генерируйте длинные (-20+ символов) пароли для каждого сервиса и храните их где вам удобнее.
    Подобрать пароль вида «T67H#J$6tw7f75F!yh@F» никакой софт и железо не поможет.

    Хотя как напоминание для беспечных статья весьма подходит.
    • НЛО прилетело и опубликовало эту надпись здесь
      • +11
        вероятностью коллизии для MD5, по крайней мере, можно пренебречь, запас большой. пока этим любят пугать, но даже, в сущности, при вероятности коллизии 2^-50 необходимы сотни вычисительных лет.
        • 0
          какие коллизии? все нормальные сайтовые движки давно используют модификации MD5 с солью, а то и не MD5 вообще
          особый butthurt у брутфорсеров вызывает библиотека хэширования phpass
          • 0
            Ыыы, php ass?
        • –1
          вы говорите чушь!

          у меня в руках статья о "..short chosen-prefix collisions for md5..", где говорят о сложности в 2^16 md5 compression function calls.
          • +1
            вы статью-то почитайте, а не только подержите в рука. уж простите за грубость, но вы напросились.

            почитайте постановку задачи, что такое chosen-prefixes, хотя бы, и поймете, что вот никакого отношения к нашему вопросу это не имеет.
            • 0
              статью я внимательно изучил и нашёл весьма дельной — цифры только не проверил пока.

              вероятностью коллизии для MD5, по крайней мере, можно пренебречь, запас большой. пока этим любят пугать, но даже, в сущности, при вероятности коллизии 2^-50 необходимы сотни вычисительных лет.


              вот здесь вы бесконечно неправы.

              описанная мной задача решалась на кластере PS3 и может решаться на университетском суперкомпьютере — вопрос не более пары месяцев.
            • 0
              и, очевидно, задачи различаются в сложности не на
              сотни вычисительных лет
          • 0
            и да, чтобы что-то по сути было, кроме троллинга. по моим последним данным (они могут быть уже устаревшими, так что жду поправок) сложность preimage атаки составляет 2^123 (то есть сократили в 32 раза относительно прямого перебора), глупо как-то людей пугать странными цифрами в 2^16 — было бы так, я бы уже 4 года как ломал хеши на калькуляторе.

            www.springerlink.com/content/d7pm142n58853467/
            • 0
              я основываюсь на статье «short chosen-prefix collisions for md5 and the creation of a roghue CA certificate»

              авторство: Marc Steven, Alexander Sotirov, Jacob Appelbaum, Arjen Lenstra,…

              CRYPTO 09
              • 0
                да не про то эта статья! она про конструирование P,P' такие что для заданных S,S'
                md5(P|S)=md5(P'|S'), это называется коллизией второго рода еще.

                а мы про поиск p, для заданного h, что md5(p)=h. ну или конкретно в этой ветке обсуждения про существование p, p', такие что md5(p)=h=md5(p').
              • 0
                и еще раз, если совсем не понятно, разница в том что в случае описанном в статье, у нас нет конкретного хеш-значения. у нас есть некоторые строки S, S', которые при добавлении других строк, могут дать одинаковый хеш:
                md5(S|P) = x = md5(S'|P'), где x — может быть произвольным. таким образом, атака производится на базе архитектуры функции, зная «какой бит в какой переводится», очень грубо говоря.

                в нашем случае, x — фиксированный. мы должны уметь подогнать значение именно под него, что требует умения обращать функцию, или иметь алгоритм обращения, отличный от перебора. такой есть, но выигрыш у него смешной — в 32 раза, по статье тоже 09 года.
                • 0
                  мы одинаково понимаем эту проблематику.

                  но не кажется ли вам, что задачи это разной сложности, но одного поля, так что, как я говорил, разница на миллионы лет вычислений кажется очень сомнительной?
                  • 0
                    ну если разница «всего лишь на десятки порядков», то никаких сомнений нет.

                    вообще задача нахождения коллизий второго рода самым примитивным методом решается за 2^64 вычислительных операций (birthday collision), а задача нахождения прообразов за 2^128. То что товарищам удалось получить 2^16 против 2^64 — это очень крутой результат, свидетельствующий о детальном анализе логики функции, но грубо говоря, это ускорение в 2^48 раз. даже, если бы эта техника была применима и в случае прообразов, то мы бы получили 2^80 операций, а это уже даже и не миллионы лет (при фиксированной производительности), а больше времени жизни вселенной.
                    • 0
                      вы сильно ошибаетесь в числах, но, как я посмотрел, правы в том, что сейчас задача трудна — лет на пару тысяч, правда.

                      однако это вовсе не позволяет рассуждать как
                      можно пренебречь, запас большой

                      — темпы роста вычислителей высоки.
                      • 0
                        пересчитал — вы правы, на ^80 нужно дофига.

                        нь вопрос упрощения задачи — хлеб криптографов, при том весьма успешных
                    • 0
                      из тех же соображений проводится уже SHA-3
      • +1
        Вероятность этого практически нулевая. Вообще, очень мала вероятность, что колизией одной относительно короткой строки может явиться другая ещё более короткая строка. Колизии, если таковые и будут, то, вполне вероятно, будут содержать непечатные символы и символы явно за пределами [0-9a-zA-Z] и будут значительно длиннее.
      • +6
        Добавлю свои 50c, не о коллизиях (выше уже ответили).

        На нормальных проектах в виде хеш-алгоритма уже давно не используют md5.
        А там где используют, обязательно имеется «соль» по типу md5(salt.md5(pass)).
        При этом соль уникальна для каждого пользователя.
        Брут таких паролей требует в 100 раз больше времени, минимум.

        То, что на античате пароли хранятся в md5(pass) это результат политики администрации.
        Античат ломают и сливают не первый, не второй и не третий раз, просто в этот раз базу пустили в паблик.
        • +1
          Позволю себе добавить, что не лишним будем так же использовать:
          md5(secret.md5(salt.md5(pass))), где
          pass — …
          salt — уникальная соль для каждого пользователя
          secret — ваша секретная фраза, уникальна в пределах ресурса.

          При таких раскладах, даже если кому-то удастся стащить базу с хешами + солью, у него не будет секрета, что еще более усложнит Брут!
          • 0
            Если MySQL, компрометация БД позволит сделать LOAD FILE, или что-то в этом роде. Где вы будете хранить секрет?
            • 0
              Если база вынесена на отдельный сервер, то код вне опасности.
              • 0
                Очень часто, этим пренебрегают, веря в скорость локальных сокетов.
                • 0
                  Очень часто != всегда. Очень часто и солью пренебрегают. Мы же с вами говорим о случае, когда все настроено как надо…

                  К тому же, чтоб сделать LOAD FILE, надо еще узнать путь к файлу. А получив доступ только к БД, сделать это достаточно сложно (при условии, что сорцы не светятся на каждом углу).

                  Хотя, признаюсь честно, не приходилось слышать о LOAD FILE, полез читать, спасибо.
            • 0
              LOAD FILE по умолчанию доступен обычно только руту. Кроме того, не способен читать не world-readable файлы (у кого ещё доступ на веб-сервере не разграничен?).
              Хотя встречаются, конечно, случаи, когда админы зачем-то дают эту привелегию обычным юзерам.
          • 0
            Перед тем как в md5 закинуть, можно всякие вариации с base64_encode, включить IP регистрации, логин ну и да мало ли, можно дополнительные вычисления, sha1 например
          • 0
            некоторые современные средства брутфорса хэшей позволяют подбирать и соль, как ни странно…
            например, HashCat
            а «secret key», как показывает практика, в общедоступных движках редко кто меняет на что-то отличное от дефолтного, если этого не делается автоматически на этапе установки
            • 0
              Вот в современных-то как раз и делается — секрет создаётся в процессе установки в автоматическом режиме.
        • 0
          А что используют?
    • +1
      1. абсолютно верно. но требуется поддержка со стороны сервиса, а не все этим обеспокоены. вот такие «бестолковые» статьи, возможно, кого-то и подтолкнут.
      2. вот с этим сложность. да, есть много замечательных программок-запоминалок, однако собрав все пароли в одном месте возникает другая опасность — кража хранилища вместе с мастер-пассвордом, например трояном. записывать на бумажке — тоже едва ли вариант.

      + все больше людей пользуются мобильными «помощниками» (планшеты, телефоны), набрать на которых 20+ случайных символов не так-то легко.
      • 0
        Ну шансы на потерю паролей с запоминалкой почти такие же как и без запоминалки.
        Т.к сейчас спайвара имеет функции вытаскивания паролей вообще из любого софта.
        Если страшно, то всегда можно использовать не популярную ОС вместе с Firefox+NoScript, что я для себя выбрал.

        При сохранении паролей в мобильниках и планшетах шансы на потерю паролей куда ниже.
        • 0
          кстати, мне нравится доступный у LastPass вариант аутентификации — распечатывается одноразовая матрица паролей, и при каждом входе в LastPass, помимо пароля, необходимо ввести число на пересечении указанных букв и чисел: helpdesk.lastpass.com/security-options/grid-multifactor-authentication/
    • 0
      Проблем а в том, что сервисов много. Каждый человек использует их минимум 10-15, т.е. таких сложных паролей как «T67H#J$6tw7f75F!yh@F» будет много. Их не запомнишь и их надо где-то хранить. А тут два варианта — либо по-старинке записывать где-то на бумажке, но ее можно потерять… Либо хранить с помощью специальных программ для паролей, но тут тоже есть свои нюансы…
      Как по мне — проще придумать свой алгоритм, который будет понятен только тебе лично, и такие пороли будет легко запомнить.
      • 0
        Были на хабре 2 статьи [1],[2] по мотивам которых я создал себе скрипт-инструмент для генерации паролей под разные сайты\сервисы. Использую, пока доволен.
        В качестве продолжения хотел было написать аналогичный инструмент под мобильный телефон, но руки пока не дошли.

        • 0
          А у меня дошли: thepassword.org и программка под айфон.
          Суть та же: pass=md5(login+@+site+masterpass) плюс у меня на JS считается.
          Вашим я бы пользоваться не рискнул, вдруг Вы на сервере все сгенерированные пароли в базу пишете. :)
          • 0
            Ну, я ведь и гарантий никаких не даю, что это не так ;)
            Делал для себя + как демку к статье. Но пользуюсь.
            Даже для генерации случайных паролей подходит — вбиваю ерунду в фразу и цель — на выходе получаю псевдослучайный пароль.
  • +7
    еще один бредовый топик, на основе другого бредового топика.
    Вопрос зачем мне придумывать пароль? Если рега мне нужна на 1 раз, чтобы прочесть скрытый текст. Отсюда и вытекла, эта «сенсация», что король то голый…
    • +1
      Возможно вы правы, наверное более осмысленной статистика будет только по действующим участникам форума, сделаю ее, если не поленюсь базу парсить.
      • 0
        вот я бы с удовольствием почитал об алгоритмах генерации словарей подробнее. В данный момент бручу забытый пас, а что делать, скрипт+прокси и вперед ((( Словарь генерировал по маске, припомнив примерные символы в пароле, надеюсь все перебрать за неделю. отсеивал только совсем очевидные комбинации типа 111***** и другие повторяющиеся подстроки. Грустно блин )
    • 0
      Если рега мне нужна на 1 раз, чтобы прочесть скрытый текст

      BugMeNot же!
      • 0
        или logins.ru, как правило банят эти акки.
        • 0
          Не замечал, чтобы часто банили. Сильно зависит от ресурса, владельцы некоторых, видимо, сами заглядывают на BMN.
          Logins.ru — это какое-то унылое подражание с такой же унылой базой.
  • +26
    >qCkiYSJ625 — и вот казалось бы рандом, но кто ж знал, что он состоит из достаточно часто употребляемых комбинаций сам по себе.

    а вот тут я начал беспокоится.
    • +9
      По крайней мере, вы дошли до последнего уровня.
    • +2
      Если i перевернуть:! это существенно увеличит стойкость.
      • 0
        ещё можно пробелы добавлять
        зачастую он не входят в дефолтные charset'ы средств подбора хэшей
        • 0
          Во всей этой ситуации одна печаль: как только такие рекомендации становятся общедоступными и используемыми — они сразу попадают в «дефолтные charset'ы средств подбора хэшей»
          • 0
            а попадают ли туда символы типа ♦♣♠♥☺☻©°↨↑♪ и т.д.?
            да, ввод их несколько неудобен, но для важных паролей почему бы и не?

            я уверен в словарях этих символов тоже не дофига.
            • +1
              оп-па… добавил себе в тудульник: «добавить символы типа ♦♣♠♥☺☻©°↨↑♪»
  • +1
    вывод: невзламываемые пароли и люди — несовместимы
  • 0
    Из последнего абзаца вынес, что по видимому середину клавиатуры не следует вообще использовать
    • +1
      Вы только что уменьшили на несколько порядков количество возможных комбинаций символов в Ваших будущих паролях, а главное!, не забыли сообщить всему миру об этом.
      Неправильный вывод Вы сделали из последнего абзаца. :)
      • 0
        Блин. Спалился((
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Насколько я понимаю, комбинации брались из тех же паролей.
      Вполне могло получиться, что это были, например, «q», «Cki» (или «qC» и «ki», если односимвольные не использовались), «YSJ» (вариация на «usage»?) и «625».
  • +12
    qCkiYSJ625

    в этом пароле 10 достаточно часто употребляемых комбинаций :)
    • +1
      не совсем, у меня в набор релевантных попали «625» (красивое число?)
      kiy (русское окончание?),
      sj, qC — не знаю почему.
      итого 4 метасимвола + смены регистра.
  • +1
    можно увидеть список логинов, чьи пароли устояли?
    • +1
      ответил в личку
      • –1
        Можно тоже взглягуть?
      • –1
        Можно мне тоже?
  • –5
    А я так и не понял, почему автора-зайтейника не отловил какой-нибудь фаерволл? Разве такое количество долбежек в одну страницу с одного IP не выглядит мега-подозрительно?
    • +1
      Предположительно, автор уже имел в своем распоряжении базу данных аккаунтов. Он подбирал MD5 хеш паролей.
      • +1
        именно так. база с MD5 уже была, и ее происхождение мне не известно.
        • 0
          Как это тогда относится к рельной жизни и реальной вероятности взлома на каком-нибудь сайте? С рекомендациями все понятно, но базу MD5 хешей еще получить надо. Единственный вариант, который вырисовывается, это восстановление паролей по перехваченным дайджестам в момент логина без SSL.
          • 0
            вопросами добычи хешей я не занимался. но почему-то рано или поздно с многих ресурсов кому-то удается слить базу — так что видимо относится к реальной жизни это, хоть и косвенно.
            • 0
              Опять же, если получили таблицы хэшей, то почему бы не получить доступ и ко всему прочему? Единственная рекомендация в этом случае, не использовать одинаковые пароли на разных сервисах. Я прав?

              Опять же единственное исключение, которое я вижу, это если какие-то важные данные (например, номера кредидок) на том же сайте тупо зашифрованы этим же самым паролем, что само по себе странно и скорее говорит о уязвимости сервиса, чем пароля.
  • –2
    Предпочитаю выбрать один раз какую-то случайную комбинацию, а потом просто дополнять ее в зависимости от обстоятельств.

    Удобно, и легко запомнить. Скажем, пароли вида:
    xtbp<>?123
    xtbp,,,,098
    XTBP,..,=-09

    И так далее.

    Хинт: пароли придуманные, к моему аккаунту не подходит ни один :)
    • 0
      имеет смысл. мне кажется такая схема даже лучше чем схема с мастер-паролем к хранилищу где все остальные.
      • 0
        Важный момент: необходимо именно объединение нескольких методик формирования пароля. Тут мы объединяем заранее подготовленную случайную часть в несколько символов и фигуру на клавиатуре. Возможно и более параноидальные сочетания :-)
      • +2
        Называется «Попробуй вспомни какой пароль я на этом сайте ставил»
        • 0
          Ну, всего у меня есть 4 штуки фигуры. Этого хватает почти для любого сайта.

          Также важно еще то, что, как отметили выше, смысл ставить такие пароли есть только для важных рексурсов. Если цель — скачать песенку, тогда ставиться какой-то мусорный пароль типа qwerty.
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        Не-а, если получен доступ к одному паролю, непонятно, что из этого префикс, а что — нет. Если к двум — тогда уже хуже, да. Идеальный вещей в этом мире не бывает, конечно, но лично мне такая схема нравится.
  • +3
    а мне вот интересно, сколько символов было в самом длинном из подобранных паролей?
    а то в моём всего 63, начинаю сомневаться в надёжности
    • +4
      самым длинным был 123456789qwertyuiop, но, интеллектуальностью он, естественно, не блещет.
      • 0
        Ужс, раза с 5-го мне бы надоело вводить такой примитивный и длинный пароль. Уж лучше 10-ти символьный рандом!
  • 0
    было бы полезно написать генератор паролей, который гарантированно будет исключать случайное появление частых комбинаций, чтоб не попасться как в последнем случае.
    • +1
      Тогда на его основе наклепают патернов «самых редковстречающихся комбинаций» и сделают еще один прогон по базе ;)
      • 0
        не совсем, ибо нам нужны не редковстречающиеся, а те которые не содержат частовстречающихся при разумной декомпозиции. таких будет бесконечность — очень много = бесконечность. понятно, что в частностях все сложнее, конечно.
  • +1
    У меня пароль был одно время такой. есть на локале скрипт, который берет определенные символы (например 4,6,11,13,16) из md5 адреса или названия ресурса + кодове слово. потом инверсирует все символы md5 и снова берет эти же символы. и подставляет к первому набору. потом нечетные символы (если он текстовы символ) пишет заменяет им же в капсе. собственно это и есть пароль :)

    но я для не критичных просто какая нить ерунда.
  • +1
    У меня одно время было что-то подобное:

    «Задом c]tk леблядя, ;fhtyjuj по vfkfqcrb в rthjcbyt 91184»

    Обидно только, что иногда сайты ограничивают длинну паролей или раскладку
  • 0
    >>паролей короче 7 символов… подбираются они за минуты.
    включая цифры, спец. символы???
    • 0
      да, 95^6 возможных комбинаций (хотя для шестисимвольных я брал некоторое подмножество) это не так много.
      • 0
        pow(95, 6) / 5000000 / 60 / 60 = 40 часов
    • 0
      минуты взяты с потолка, очевидно же.
      плюс автор видимо не видит никакой разницы между алгоритмами шифрования,
      хотя разница в скорости перебора может быть очень существенна.
      недавно перебирал базу на 7 символьные a-zA-Z0-9 ушло несколько часов если не ошибаюсь. 8-символьные отняли три дня. о каких минутах речь, понять не могу, видимо сейчас модно пренебрегать такими несущественными вещами как разница в несколько порядков.
      • 0
        кстати единственная проблема античата, на сколько я понял, разбираясь с их системой, это глупость админов. пароли при сбросе высылаются на почту цифровые. подобрать их действительно не составляет труда если юзер не сменил.
        • 0
          уверен, что не единственная: база в паблике — не результат ли халатности?
      • 0
        как-то грубовато на счет «не видит разницы». вообще-то мы здесь не о шифровании, а о хешировании, плюс достаточно частный случай: один уровень защиты. навесим еще соли, шифрование данных и какое-нибудь хитрое медленное преобразование и получим другую картину.
        • –2
          «вообще-то мы здесь не о шифровании, а о хешировании» — уже можно начинать смеяться.
      • 0
        Очевидно вы не оцениваете мощность современных видеокарт.
  • +6
    Было бы не плохо, если бы вы выложили полный список паролей которые подошли (без юезрнеймов). Чисто посмотреть, полистать, найти свой?!
  • +3
    А там MD5? Прошу, пропутите это
    ed9b43cc4e852212fa91bc9de56b5d0c
    интересно, сломается или нет
    • –1
      Его переберут банально, всего 16 символов, не намного сложнее цифрового пароля.
      • 0
        Это MD5 :-) Я и спрашивл, пробьет ли по словарику ЭТО или нет. Там довольно простой пароль, но…
  • 0
    Статья хорошая, но была бы еще лучше… если бы вы в конце топика привели бы пару примеров надежных паролей, которые сами считаете таковыми.
    А так что же получается, ни один пароль не надежный?
    p.s. приведу парочку своих (взятых на бум, не от учеток естественно, так что проверять не нужно) ), основываясь на ваших методах, оцените пожалуйста
    mjhoptk72hfr
    6{fYe2nfgr
    vtvjh2frkf1yf
    с запоминанием проблем не будет, так как они созданы по понятному, только мне, алгоритму
  • 0
    Не знал, что переключеная раскладка и пароль только частично состоящий из осмысленных выражений легко подбираются. Новые пароли я генерирую программой, но вот старых, вида «слово_цифры» и им подобных, еще много осталось, придется устроить большую чистку базы…
  • 0
    Словарь словарю рознь.

    «ЕдРо-ПЖВ» — подберете? :)
    • 0
      В словарях уже есть.
      А такой пароль как указали вы даже средняя видяха за недельку подбрет если не раньше.
      • 0
        На самом деле, я имею в виду довольно старую, вроде как словарно-устойчивую технику — формирование стойких паролей по словарю, но из нескольких слов, вроде — Ltklbnyf,ht (делюзер сидит на хабре — ltk.pth cblbn yf [f,ht)
        • 0
          Ну или строчка из любимой песни. Тогда да, годится.
          Я имел в виду сам процесс создания словарей. Если у двух и более юзеров одинаковый пароль, то он практически всегда добавляется к словарю. И тут уже не важно откуда он взялся. Сначала то всегда гонят по словарю, потом ставят на брут, и добавляют популярные пассы опять к словарю. Из-за такой рекурсии словари очень сильно раздуваются и там появляются даже вроде как рандомные пассы, а на самом деле очень даже популярные(как в случае с ЕдРо-ПЖВ, навального читают тысяч 50, а слоган слышало уже 250, и кто-нибудь такой пароль да поставит и будет искренне полагать, что он такой один и больше никто не догадается :) ).
  • 0
    Чтобы не потерять пароли, их все нужно хранить в одном надежном месте. Например, дома в книжном шкафу.)

    d,ci,y'jijgrn,jyy

    =

    «Воланд был со шпагой, но этой обнаженной шпагой он пользовался как тростью, опираясь на нее».

    Забыть пароль или потерять его трудно при всем желании. Красный переплет, редкое издание. В личный блокнотик пароль записывается как ссылка на страницу и строку. )
    • +1
      А на странице в строке, по «скрыт» выпуск газеты, в сттаье которой указана ячейка в банке, ключ от которой можно получить, отгадав загадку. Получив ключ — получаем заветный пароль.

    • 0
      Пароль всем хорошо, кроме того, что на телефоне (клавиатуре где видна только одна раскладка, а не сразу рус+англ) такой пароль замучаешься набирать
      • 0
        После 3-го раза запомните! ;)
  • +4
    В комментах пытаются выиграть конкурс на «пароль Падлы»? :-D
  • 0
    После прочтения очень засомневался в надежности своих паролей.
    Почему бы не сделать обзор программ для генерации и сохранения паролей? Кроме KeePass и RoboForm других не знаю, но чувствую нутром — есть аналоги получше.
    • 0
      От добра, добра не ищут.
    • +1
      На самом деле хранители паролей с хорошей функциональностью всего несколько штук.
      Хорошая функциональность это: плагин для браузера, версия для android/iphone, веб/десктоп версия.

      К KeePass и RoboForm можно добавить еще LastPass.
    • +2
      Запишите еще 1Password, но он платен.
  • +1
    Чем ilovepussy так уж плох? Да, понятно, что это всего лишь сочетание трех частых слов, но каков словарный запас вашего вордлиста? Если там только I, love и pussy — тогда да, ломается быстро конечно. А если там 180 000 слов (вордлист по нескольким классическим книгам), то комбинаций из трех слов будет:
    180000*180000*180000
    5832000000000000

    5'832 триллионов. Так что достаточно просто чтобы пароль из трех слов содержал хотя бы одно сложное. Трансцендентный, Хорей или Эякуляция позволяют сделать пароль почти неломаемым.

    ЭкзистенциальноЛиТворчествоБорхеса

    Даже и без 777 на конце, думаю, достаточно сложно перебором взять.
  • НЛО прилетело и опубликовало эту надпись здесь
    • +8
      Палевный какой-то =)
  • –6
    Я новичкам для лёгкого запоминания рекомендую «систему V»

    Берёте на клаве цифру, жмёте шифт и идёте вниз до нижнего ряда, например 1qaz (что даст "!QAZ") а потом вверх уже без шифта (что даст «xdr5» и в результате "!QAZxdr5" или лучше даже в вашей национальной раскладке "!QAZxdr5") пароль и не сложно запомнить/набрать, и брутфорсом не так просто подобрать…
    • +3
      вот именно такие пароли и не нужно ставить, что я пытался донести. ломаются моментально за счет того что все комбинации вроде qaz, xdr, qwerty уже в словаре.
      • –6
        Не поверишь, если уведут базу то либо расшифруют 10% паролей типа 123456 и не будут возиться дальше, или подберут дофига паролей (даже «IIIuxep_Haxep_Tpaxep_58245789») и никакая система не спасёт.

        Короче говоря «зубов бояться — в рот не давать»
  • 0
    База паролей скорей показывает что доступ к античату для пользователей был не критичен. Да у всех к куче ресурсов полно простых паролей. Ну и что?

    Главное что б к основной почте и к кошелькам были стойкие, а лучше двухфакторная как на гмейле. Ну и конечно же разные к разным ресурсам. А то так одну базу утянут и прощай все аккаунты на других сайтах…
  • +4
    а теперь к вам просьба, возьмите генератор паролей класса линуксового apg, сгенрируйте им этак 64к паролей, посчитайте md5 и сделайте на получившееся ту же самую атаку. просто для сравнения.
    • +2
      вообще думал о чем-то подобном, в понедельник попробую.
  • +2
    Забавно после этого перечитать здешние топики об «очередном супер-алгоритме придумывания и запоминания» сложных паролей. :)
  • –1
    Миллион мартышек обнажает всю эвристику, статья срывает покровы!
    В мемориз!
    Всем солить!
    А мне пора мигрировать на мобильную хранилку паролей.
  • 0
    C выводами автора трудно не согласиться. Правда, есть некоторая непонятность…
    >на моем E8400 перебирает в среднем 5 миллионов паролей в секунду
    >Проверить все цифровые комбинации длиной до 11 символов
    >Итого получаю 15759 найденных паролей! Это почти половина всех найденных. За пять-то минут.

    На самом деле перебор должен был занять 5 часов:

    10^11 / 5*10^6 = 10^5/5 = 2*10^4 = 20000 секунд = 5 часов

    где-то несоответствие.

    Не могли бы Вы оченить надёжность паролей KeePass, которые он генерит по дефолту — с разной длиной пароля? Чисто практический вопрос, с одной стороны чем короче пароль тем лучше, а с другой стойкость падает, хорошо бы получить приемлемый компромисс.
  • 0
    Использую двойное переключение раскладок (2 разных языка ни один из которых не является английским). И никаких менеджеров паролей.
    • 0
      Главное при этом, чтоб пароли были не «159753»!
      • 0
        /ушёл менять пароли
  • 0
    А, что, если вот такой способ генерации паролей использовать?

    $password=substr(base64(md5("$login@example.com")),0,$maxpasslength);
    • 0
      А чем он лучше? 1 неизвестная, дальше — по алгоритму…
    • 0
      Конечно же, я имел в виду такое:

      $password = substr(base64_encode(
       hash_hmac("sha1", $login@$domain, $salt, true),
       0, $maxpasswordlength[$domain]);
      • 0
        А, лучше он хотя бы тем, что полученный пароль имеет максимально-возможную длину, и при этом, его не требуется хранить в чистом виде нигде, даже на клиентской стороне!
  • 0
    Вы — гений! Спасибо за статью!
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    А полный список сбрученных паролей можно где-нибудь скачать?
  • 0
    Я применяю обычно пароль из двух русских (понятно, с перепутанной раскладкой) слитых слов с изменениями и без смысла.
    Типа vfuflfycrbqfhntafrnbr (магаданскийартефактик)
    Запоминается, длинный, несловарный.
    Как такое можно сломать?
    • 0
      Попробуйте такой набрать на мобильном устройстве ;)
      • 0
        Ну, обычно находишь ближайшую клавиатуру в качестве хэша и набираешь :-)
  • 0
    Такой показатель как «77%» мало что значит. Ну я регистрировался там только для того, чтобы написать одно объявлние — на левое мыло и с паролем 123123123. Зачем делать пароль сложнее?
  • 0
    > ни замена на @ не улучшит качество пароля, собранного из словарного слова
    Интересно почему? Кол-во вариантов всётаки ощутимо возрастает вроде как.

    В том же «hellspawn»: 1 e (нормальный+1 вариант замены), 2 l (норм+2 варианта замены — 1 и !), 1 s (норм+2 варианта замены — 5, $), 1 a (норм+1 в.з.) — итого (1*2)*(2*3)*(1*3)*(1*2) = 72 варианта написать слово Hellspawn, и то только при условии что автор будет использовать «общепринятые» замены, а не например заменять u на LI (по принципу «а похоже выглядит»), или там e на 69 (по принципу «а просто так, чтоб никто не догадался»).

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.