Я уже устал писать про пароли. Но как и налоги, электронная почта и красные глаза, они никуда не денутся. Что я могу сказать, исходя из опыта:
  • неважно, что вы скажете пользователям, они будут выбирать простые пароли
  • и они будут использовать один и тот же пароль везде. Если повезёт – два пароля

Что с этим можно сделать разработчику?
  • прекратите требовать пароли и разрешите авторизацию через Google, Facebook, Twitter, Yahoo или любой другой сервис. Лучший пароль – тот, который не нужно хранить.
  • поощряйте браузеры к поддержке автоматических встроенных систем создания и управления паролями. В идеале – поддерживаемых и операционками, но тут уже требуется всеобщая привязка к облачным технологиям. В эту сторону двигается Chrome.
  • пинайте юзеров, когда они вводят:
    • слишком короткие пароли: UY7dFd
    • пароли с минимумом энтропии: aaaaaaaaa
    • пароли из словаря: anteaters1



Обычно это делается при помощи показателя сложности пароля, которая работает в интерактивном режиме.

image

Это применяют тогда, когда никак нельзя избежать хранения паролей.

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

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

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

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

Если вам не повезло, разработчики приложения, сервиса или сайта хранят пароли в открытом виде. Это не часто бывает в последнее время – прогресс. Но даже если они сохранили пароль в хэше – молитесь, чтоб это был медленный и сложный алгоритм хэширования, типа bcrypt. И они выбрали достаточное количество итераций. Упс, это было актуально уже давно, в средние века, около 2010 года. Я хотел сказать, что в качестве алгоритма нужно выбирать scrypt.

И всё будет нормально. Да?

  • возьмём случайный набор из 8 символов. Заметьте, что и у генератора это дефолтная длина. Я получил «U6zruRWL»
  • впишем его в поле ввода сервиса проверки сложности паролей GRC password crack checker
  • получим, что при применении «Большого массива для взлома» скорость его обнаружения составит 2.22 секунды
  • пойдём, полежим с тёплым полотенчиком на лице


Вы скажете, что «большой массив для взлома» – это экзотика. Извините. Массив из 24 обычных GPU, оптимизированных для быстрого подбора хэшей, доступен любому агентству и среднему бизнесу. Тем более, что их не обязательно покупать, а можно арендовать – например, в облаке. А представьте, на что способно агентство национального масштаба. Ужас.

image

Даже если отбросить этот сценарий, то в графе «простой оффлайновый перебор» значится всего лишь 37 минут.

Попробуем удлинить пароль. Что получится?

9 символов — 2 минуты
10 символов — 2 часа
11 символов — 6 дней
12 символов — 1 год
13 символов — 64 года

Может, добавим спецсимволов?

8 символов – 1 минута
9 символов – 2 часа
10 символов – 1 неделя
11 символов – 2 года
12 символов – 2 века

Уже неплохо, но безопасной кажется лишь отметка в 12 символов, содержащих верхний и нижний регистр, цифры и спецсимволы.

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

image

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

Конечно, все эти расчёты зависят от используемого алгоритма хэширования. Придётся принять, что все используемые вами пароли будут хранится с шифрованием самым глупым и быстрым алгоритмом. Слишком много ещё старых программ и алгоритмов, которые будут жить долгое-долгое время.

Разработчики:

  • выбирайте алгоритмы хэширования внимательно. Обновляйте свои системы. Используйте хэши, которые трудно подбирать на GPU, например scrypt.
  • выбрав правильный хэш, выбирайте и правильные настройки для его работы. Матсано рекомендует такие настройки:
    • scrypt: N=2^14, r=8, p=1
    • bcrypt: cost=11
    • PBKDF2 with SHA256: iterations=86,000



Но это лишь советы – вам надо подогнать настройки под реалии ваших серверных систем. Например, у нас был случай, когда баг в Discourse позволял пользователям водить пароли длиною до 20000 символов, и подсчёт хэша этого пароля занимал много секунд.

А теперь пойду-ка я поменяю свой пароль на PayPal.

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


  1. Louter
    27.04.2015 01:26
    +12

    Розы
    Вот только не надо «пинать» превращать в «заставлять» =)
    Для тех, кто любит фразы в духе: пароль слишком слабый, нужен ещё 1 символ или см картинку:
    Хватить мыслить за нас, какие пароли у нас должны быть. Да, сказать что пароль слаб и на сколько — хорошая практика.
    Но дайте нам возможность ставить пароли в один символ, с любыми символами (хоть эмоджи) и вообще измываться как хотим)


    1. Louter
      27.04.2015 01:32
      +21

      troll-face.ru/static/t/5/28/primerno-takoj-dolzhnabyit-registratsiya-na-trollfejs--B7Esae.jpg


      1. Meklon
        27.04.2015 15:46
        +6

        image


    1. dyadyaSerezha
      27.04.2015 21:38
      +1

      "•пинайте юзеров, когда они..." — сложность правил по созданию пароля должна соответствовать степени важности и секретности данных.
      Меня приводят в бешенство подсистемы рекрутинга у больших фирм (банки и прочие), обычно сделанные на taleo. Там ничего не хранится, кроме моего резюме, которое и так публично лежит на многих сайтах по поиску работы, так какого хрена писать список из десятка требований к паролю?? И само собой, почти всегда я пароль забываю, потому что захожу туда крайне редко, что приводит к процедуре сброса пароля, высылки письма, созданию нового… который не должен быть таким же, как предыдущие 8 (!) и который опять тут же забывается. Поубивал бы! )


      1. grossws
        27.04.2015 23:30

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

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

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


  1. Duke565
    27.04.2015 02:05
    +13

    Затрахали, нервов не хватает, когда пароль «от Бога» не проходит валидацию. Все такие заботушки, куда деваться…


  1. Satellence
    27.04.2015 02:24
    +4

    Зачем городить такие правила ввода пароля, когда достаточно делать таймаут входа в систему при многократном вводе неверного пароля? Тогда и 5-ти символьный пароль будут перебирать годами.


    1. ivan386
      27.04.2015 02:39
      +4

      Если хеши уведут никакие таймауты не помогут


      1. amarao
        27.04.2015 03:06
        +1

        «Таймаут», вызываемый сложностью проверки пароля, вполне поможет. Для этого scrypt вместо bcrypt и нужен. Кстати, мне кажется, что очевидным было бы перекладывать часть задачи рассчёта на клиента. Вводишь пароль — js с секунду считает (какую-то сложную для вычисления функцию), получившееся уже передаёт на сервер.

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


      1. bask
        27.04.2015 13:59
        +1

        одних хэшей мало, нужна ещё соль для них


        1. ohmytribe
          27.04.2015 19:15

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


    1. Qbit
      27.04.2015 09:32

      >>> Зачем городить такие правила ввода пароля, когда достаточно делать таймаут входа в систему при многократном вводе неверного пароля?

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


  1. Ex3NDR
    27.04.2015 03:09
    -6

    Зачем вообще нужны пароли если есть одноразовые коды на почту/телефон?


    1. zoonman
      27.04.2015 04:14
      +1

      Затем, что некоторые операторы до сих пор не умеют доставлять SMS куда угодно. Попробуйте побывать где-нибудь вне РФ.
      А еще могут и телефон украсть. А на современном смарте много чем можно поживиться. А так, ну украли телефон, зашел в аккаунт, нажал кнопку — выйти со всех устройств и готово. Никто не получит доступ. Плюс, если приложение написано грамотно, то отзыв авторизации должен вызывать автоматическое удаление данных из мобильных приложений.
      Дело тут в другом. Нельзя использовать одни и теже пароли для всех аккаунтов в сети. А так угонят пароль из какой-нибудь кривой безделушки, а получат доступ к вашему банковскому аккаунту.
      А так все правильно говорят. Нужно заботиться о правильном хранении данных авторизации. На мой взгляд хеши паролей нужно вообще хранить отдельно. Т.е. даже если взломают ваш сервер, то нужно будет еще что-то другое взламывать, чтобы оттуда вытащить хэши. А это время, подозрительная активность и тому подобное, то есть возможность обнаружить вторжение.
      А для защиты от перебора достаточно показывать каптчу после первого неправильного ввода пароля. Плюс у человека есть некоторое время реакции, обычно это несколько секунд на распознавание и ввод. Машина, если ее научить распознавать каптчу будет делать это очень быстро, менее, чем за секунду. Вставлять задержку для симуляции ввода человеком мошеннику невыгодно, т.к. перебор займет очень много времени. Более того, таким образом можно отследить, что где-то происходит перебор и уведомить администратора, что есть подозрительная активность. Грубо говоря, пока мошенник будет работать над перебором, за ним уже начнут следить. Главное, что это все достаточно несложно автоматизировать.
      Время распознавания каптчи легко проверить на контрольной группе (можно измерить даже вебвизором из я.метрики).
      Так что если у вас серьезная компания, то вы наверняка позаботитесь о защите ваших клиентов и их данных.


    1. vlivyur
      27.04.2015 10:29

      Я вот сейчас в таком месте, где есть интерНЕТ. Он как бы есть, но очень иногда и очень разный. Чтоб зайти в онлайн-банк, надо скачать полтора метра заглавной странички с вводом пароля, полтора метра главной страницы твоего личного кабинета, каждая операция это штук пять страниц по метру — два. Всё это очень удобно, когда страницы загружаются с первого раза. И вчера так удобно было оплачивать из дома мобильный телефон, всего минут за 30 справился (вместо похода к соседнему дому до банкомата). Я это к чему: для подтверждения операции высылается смска, срок жизни которой 10минут. Не успел — повторяй заново. И когда я повторяю, мне приходит самая первая смска, естественно с устаревшим паролем. Хорошо что обычно сразу и вторая приходит.


      1. mayorovp
        27.04.2015 10:46

        Хорошо — это когда они хотя бы пронумерованы. А то ведь бывает, что вторая приходит перед первой, и обе приходят при этом одновременно.


    1. Vilgelm
      27.04.2015 12:36
      +1

      СМС можно перехватить (клонировать SIM) или просто получить доступ к личному кабинету и читать там. В российских реалиях такая услуга стоит не так уж и дорого (от 10к).
      Поэтому нужна двухфакторная авторизация через приложение, по типу Google Authenticator или ENUM. Но именно двухфакторная, то есть пароль тоже необходим (телефон с приложением можно украсть, получить удаленный доступ, etc). Желательно, что бы это приложение было защищено четырехзначным PIN кодом, при неправильном вводе которого в течении трех раз приложение самоуничтожалось. Тогда это будет более менее безопасно.
      Однако вводить эти коды на всех сайтах будет очень гиморно, стоит ограничиться важными сервисами, такими как ЭПС, онлайн-банкинг, почта, важные блоги и тому подобное.


  1. VampiRUS
    27.04.2015 03:13
    +1

    При авторизации через соц сети проявляется следующая проблема — человеческая память. Сайт предлагает войти через фэйсбук google и ещё кучку другую сетей, но после некоторого времени я просто не могу вспомнить, через что я туда входил.


    1. zoonman
      27.04.2015 04:17

      Некоторые API возвращают email, который используется для обнаружения связанных аккаунтов.


    1. darthslider
      27.04.2015 10:01
      +4

      Регистрируешься на каком-нибудь порносайте, а там кнопка «войти через фейсбук».
      А вообще, я почти никогда не пользуюсь авторизацией через соц сети, типа паранойя, анонимность, все дела… Понятно, что крайне условная, но всё же.


      1. diamant
        27.04.2015 11:02
        +4

        Фэйсбук ещё ладно, а если Google Plus?
        Тот неловкий момент, когда кто-то узнает, что ты пользуешься Google Plus.


        1. darthslider
          27.04.2015 11:07
          +7

          Пацаны на порносайте засмеют, ага :D


  1. DarkV
    27.04.2015 03:17
    +10

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


    1. alexbyk
      27.04.2015 05:01

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


      1. movsb
        27.04.2015 08:38
        +7

        Этот кто-то получит доступ ко всем данным. Зачем ему пароли?


        1. david_mz
          27.04.2015 11:22
          +1

          Для доступа к данным юзеров на других сайтах.


        1. sferrka
          27.04.2015 12:00

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


          1. Vilgelm
            27.04.2015 12:42

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


            1. david_mz
              27.04.2015 15:59
              +2

              Не надо вообще ничего запоминать. Надо использовать менеджеры паролей и автоматическую их генерацию. Это сейчас наиболее правильный метод.


              1. Louter
                27.04.2015 19:25

                Повышая паранойю: надо юзать закриптованный носитель с теневой шифрокопией (трукрипт такое даёт), другого пользователя для чтения и рут для записи =)

                Кстати, правильно гененирить пароли умеют не многие программы. Биопримесь используют единицы, а без неё крайне сложно создать действительно случайную последовательность.


                1. chem_ua
                  27.04.2015 22:35

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


                  1. Louter
                    28.04.2015 12:02

                    Добавить префикс, суффикс и прогнать через Энигму
                    people.physik.hu-berlin.de/~palloks/js/enigma/enigma-m4_v16_en.html
                    =) Правда последняя уменьшает кол-во символов, зато каков винтажный стиль шифровки)


                1. david_mz
                  28.04.2015 11:22

                  Под биопримесью Вы имеете в виду «подвигайте мышкой в этом окне»? А чем это приниципиально лучше использования, например, аппаратных ГСЧ?


                  1. Louter
                    28.04.2015 11:55

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


    1. shmaltorhbooks
      28.04.2015 01:21

      отчасти вы правы. но есть и другая сторона медали — всякие банковские сервисы, биржи, crm-erm-wms системы, в которых угон аккаунта (а следовательно и увод данных) может обернуться огромными убытками для самого владельца сервиса. в таком случае, как мне кажется, вполне здраво полагаться на свою безопасность но и не разрешать лопоухим пользователям подвергать риску сервис.

      но как только речь заходит о том, что мне для входа в онлайн плеер или какую-то социальную сеть любителей Толкиена предлагают составить пароль из 40 символов, с заглавными буквами, пробелами, цифрами и не по словарю — хочется просто кричать «не ваше собачье дело какой у меня пароль».

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


  1. MrGobus
    27.04.2015 08:31
    +11

    Что с этим можно сделать разработчику?

    Тут не хватает: подумайте, а нужны ли вам пароли?

    Вот бывает заходишь на какой нибудь сайт или форум из гугла за сущей мелочью, например прочесть темку в общественном форуме а он тебе НА форму регистрации на 2 страницы с подтверждением через email который всеми вменяемыми почтовиками забанен из за спама и начинаешь ненавидеть пароли и писать старый добрый qwerty, 123 и т.п. И тут контрольный выстрел, «ВАШ ПАРОЛЬ СЛИШКОМ КОРОТКИ» или «ПАРОЛЬ ДОЛЖЕН СОДЕРЖАТЬ БУКВЫ И ЦИФРЫ». Думаете конец истории, нефига, прошло время, годик например, и вот вы снова попадаете на этот сайт и тут сюрприз «ТАКОЙ ПОЛЬЗОВАТЕЛЬ ИЛИ EMAIL УЖЕ ЗАРЕГИСТРИРОВАН».


    1. Blumfontein
      27.04.2015 08:37

      >> и вот вы снова попадаете на этот сайт и тут сюрприз «ТАКОЙ ПОЛЬЗОВАТЕЛЬ ИЛИ EMAIL УЖЕ ЗАРЕГИСТРИРОВАН».

      У меня для всех говносайтов давно придумана одна стандартная комбинация логина/пароля/email, больше таких проблем не возникает.


      1. movsb
        27.04.2015 08:46
        +1

        Небольшая провокация: сможете написать свой логин и пароль здесь в открытом виде?


        1. Tab10id
          27.04.2015 10:11
          +4

          Лет пять назад была модной пара qwerty:qwerty


        1. Blumfontein
          27.04.2015 12:03

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


          1. movsb
            27.04.2015 16:28
            +4

            Ах так? Не скажете свой пароль приличным и честным людям (нам то есть), но оставляете его на сомнительных ресурсах. Где-то хешированное значение пароля хранится без соли, где-то пароль хранится вообще в открытом виде, но боюсь предположить худшее. Злоумышленник специально создал ресурс для получения логинов и паролей, предполагая, что они используются для входа и на другие сайты.


            1. AlexanderG
              27.04.2015 23:38

              Один раз такое провернули. Залили на сайт картинку, требующую ввода пароля, и вставили в сообщение на форуме. Несколько пар логин-пароль поймалось таким образом. Не пользовались.


            1. TyVik
              03.05.2015 23:37

              Да пожалуйста! Для гугла пароль из 16 символов (нигде не записывал), для социалок другой из 12 (тоже только в памяти), для почт — третий… А для всякого треша qwerty/qwerty или qazwsx/qazwsx. Так что разделение на зоны риска пока спасает.


      1. mayorovp
        27.04.2015 10:49

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

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


        1. Blumfontein
          27.04.2015 11:55

          А зачем вам пароль для говносайтов длинее 8 символов? По моему опыту как раз 8-значный пароль проходит по длине как снизу так и сверху в 99.9% процентов случаев. Придумайте 1 8-значный пароль, где есть цифра, буква (большая и маленькая), знак пунктуации, и везде используйте.


          1. Stalker_RED
            27.04.2015 13:18

            Везде использовать один пароль это из разряда вредных советов?


            1. erge
              27.04.2015 14:07

              нет, не один, а основа одна, например условно — пароль
              но в разных местах по разному разбавлять, типа
              пАроль1
              парОЛь2
              п, Ароль3
              и т.п.
              или я не так понял Blumfontein'a?


            1. mayorovp
              27.04.2015 21:34

              Не «везде», а на «всяких сайтах, где аккаунт мне нафиг не сдался, но регистрация все же обязательная».


          1. mayorovp
            27.04.2015 21:31

            В том-то и дело, что не подходит один и тот же пароль ко всем сайтам. Тот пароль, который вы предложили придумать, может не пройти валидацию как содержащий знак пунктуации.


    1. Archon
      27.04.2015 14:00

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

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


      1. Areso
        27.04.2015 14:55

        Можно поступить более разумно — читать могут все, для создания новых тем или ответов нужна регистрация.
        Если в этих разделах нет клубнички, аниме, хентая, советов по физики, химии, копирастных материалов, обсуждения политики (в общем всего, что нужно прятать от поисковых ботов и РКН) — то почему бы и нет?


        1. erge
          27.04.2015 14:59

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


          1. Areso
            27.04.2015 15:02

            Угу, всегда раздражало.
            Здесь мы рассматриваем принципиальную схему устройства… рис.1 доступен только для авторизованных пользователей xD. Однако здесь, думаю, претензии все же к владельцам, которые таким вот образом повышают конверсию или уменьшают нагрузку.


  1. SerJook
    27.04.2015 09:46
    -2

    goo.gl/7zr4Wl :)


  1. SerafimArts
    27.04.2015 09:55
    -2

    А почему нельзя предлагать пароль не менее 4х символов, а на форму логина тупо повесить sleep в треде на пару секунд? Жизни никакого брутфорса не хватит, чтоб распотрошить подобный простенький пароль — единственный вариант — подобрать со словаря, но это уже другая история.


    1. semmaxim
      27.04.2015 10:09
      +5

      Это не поможет, если угонят саму БД с хэшами.
      Кто-нибудь вообще статью читает, прежде чем комментировать?


      1. Crazybot
        27.04.2015 10:16

        Так добивайте свои значения до эталонных N символов и хешируйте длинный пароль. Достаточно усложнит перебор для получившего базу и юзер не будет вас костерить при каждом вводе пароля. Не хочет человек ставить нормальный пароль на вашем сайте — его право. Возможно этот сайт ему вообще нужен на 1 раз.


        1. semmaxim
          27.04.2015 10:29
          +1

          При переборе злоумышленник также будет добивать пароль на эталонные N символов. Это стойкость Вашего нестойкого пароля не увеличивает.


          1. SerafimArts
            27.04.2015 11:17
            +1

            Получается злоумышленник угоняет не только БД, но и исходники всего ресурса? Пожалуй в таком случае вообще ничего не поможет, достаточно разлогинить всех юзеров и логгировать все авторизации, отправляя данные на личную почту кулхацкера. Или добавить js скриптик с кейлоггером, или… Да вообще что угодно можно делать, хоть поднять точно такой же сайт рядышком и делать на него редирект.

            Хотя да, если вовремя обнаружить дыру, прикрыть, удалить всё левое, тогда да, длинный пароль может спасти.


            1. Louter
              27.04.2015 19:29

              см выше подобный полилог)


          1. erge
            27.04.2015 13:34

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


  1. darthslider
    27.04.2015 10:07

    Кстати, а что не так с correcthorsebattarysteple? Почему этот пароль везде как слабый определяется?


    1. farcaller
      27.04.2015 10:16
      +1

      Он засветился в xkcd и теперь является словарным? :-)


      1. darthslider
        27.04.2015 10:18

        А, ну конкретно этот пароль — да, конечно. Я подразумевал, что не так с паролями такого типа?


        1. questor
          27.04.2015 11:02
          -5

          Посмотрите на подсказку ситибанка: не хватает хотя бы одной цифры. До кучи: все символы в одном регистре, не использованы спецсимволы (!"№;%:?*()). В общем, лишь длиной выигрывает.


    1. Lol4t0
      27.04.2015 10:21
      +2

      image


      1. semmaxim
        27.04.2015 10:31

        < удалено, ниже ответили >


    1. vintage
      27.04.2015 10:30

      Потому, что при переборе по словарю (допустим его объём — 64000 слов) этот пароль эквивалентен 64-битному ключу, что… на самом деле не так уж и плохо для пароля :-) эквивалент 10 печатаемых символов


  1. vsb
    27.04.2015 11:17
    +1

    Спорные советы. Если утекла база хешей, в любом случае надо пароль поменять. А через веб-интерфейс и 8-символьный пароль не взломать. Ну и нельзя использовать один пароль на нескольких сайтах, это по-моему одно из базовых правил, хотя бы потому, что админ сайта имеет доступ ко всем паролям в любом случае.


  1. gro
    27.04.2015 11:44

    Может перестать заставлять пользователей самим придумывать пароли и напрягать мозги, где их хранить, а генерировать самим и высылать на почту? Заодно это письмо играет роль письма с активацией.
    Это после пункта «подумать, нужен ли вообще пароль».


    1. Vilgelm
      27.04.2015 12:48

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


      1. gro
        27.04.2015 12:56

        >Достаточно взломать почту и получить доступ ко всем сервисам
        У меня есть пара сервисов, связанных с деньгами, пароли к которым, я, конечно, в почте просто так хранить не буду.
        И ещё несколько десятков на которые по большому счёту наплевать. Думаю, у большинства именно так.
        Когда сломают почту, гораздо большая проблема будет в потере почты, чем в этих сайтах.
        Многие подобные сайты я просто закрывал и уходил с них, так как геморой от регистрации и запоминания пароля, превышает пользу от них.

        >Запоминать случайно сгенерированный пароль для каждого сайта — это ад и невозможно
        Браузер прекрасно запоминает. Если не запоминает, то лучше каждый раз лезть в почту, чем в какой-то блокнотик или ещё куда.

        Если же какому-то пользователю очень хочется везде иметь пароль «123», у него всегда остаётся возможность сменить его в личном кабинете.


        1. Crazybot
          27.04.2015 12:58

          > пароли к которым, я, конечно, в почте просто так хранить не буду.
          Так восстановление пароля на почту придумали не сегодня. Не обязательно его там хранить, чтобы получить его с почты.


          1. gro
            27.04.2015 13:12

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


        1. Vilgelm
          27.04.2015 13:14

          Хранить пароли в браузере это примерно тоже самое, что использовать один и тот же пароль. Ровно как и хранить их в облаке.
          Поэтому проще всего для всех таких «одноразовых» сайтов использовать один и тот же логин и пароль. Для важных сервисов использовать другие пароли. И тогда не надо лезть в почту\блокнотик и прочие сложности, потому что пароль хранится в голове.


          1. gro
            27.04.2015 13:19
            +1

            >Хранить пароли в браузере это примерно тоже самое, что использовать один и тот же пароль.
            Почему?


            1. Vilgelm
              27.04.2015 13:45

              Потому что для просмотра паролей сохраненных в браузере достаточно утащить один файлик (или вообще, запустить какую-нибудь такую утилитку и утащить уже готовый список). Соответственно достаточно взломать (заразить) только Ваш компьютер что бы получить доступ ко всем сохраненным паролям. Это даже проще, чем получить доступ к базе какого-нибудь проекта.
              В случае с облаком аналогично — достаточно взломать облако. Шифруются там пароли каким-нибудь мастер-паролем или нет мы не знаем, если только это все не OpenSource и не находится на личном сервере.
              И да, я храню пароли в браузере для неважных сайтов (или для тех, где есть двухфакторная авторизация через приложение). Но я точно никогда не буду хранить пароль в браузере или облаке для PayPal или Webmoney. Или хранить там данные кредиток, как Chrome в последнее время предлагает.


              1. gro
                27.04.2015 14:00

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


                1. erge
                  27.04.2015 14:04

                  лично у меня для г.нофорумов г.нопароли )


                1. Vilgelm
                  27.04.2015 14:10

                  Если я зарегистрируюсь на вашем форуме, то получите вы доступ только к таким же форумам, но никак не на Хабр :)
                  Утащить сохраненные пароли можно тоже просто: встраиваем в какой-нибудь инсталл утилику, которую я приводил выше плюс какой-нибудь простенький обработчик (да хоть батник), который будет запускать ее с нужным ключом, а потом отсылать полученный файл. Для массовости встраиваем в какой-нибудь utorrent (у них не очень проверка партнеров, как показала недавняя история со встроенным майнером, а установок очень много). И все, у нас кучи логинов и паролей от чего угодно. Если повезет, там даже PayPal будет или онлайн-банкинг какой, в общем сплошной профит. И антивирус промолчит, и UAC не спасет, т.к. при установке мы уже дали права.


                  1. gro
                    27.04.2015 14:22

                    Наш диалог всё сильнее отклоняется от изначальной темы.

                    Моя изначальная мысль о том, что лично я ушёл со многих сайтов, которыми в принципе мог бы начать пользоваться потому что лично мне реально лениво придумывать новый пароль и записывать куда-то. И я думаю таких людей много.

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

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


                    1. Vilgelm
                      27.04.2015 14:30

                      Для таких случаев есть авторизация через Google\FB\Twitter. Но вы правы, лучше давать выбор.


                    1. erge
                      27.04.2015 14:32

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


  1. unwrecker
    27.04.2015 11:54
    +2

    А с чего бы это scrypt на GPU не ломается? litecoin.info/Mining_software


  1. Lopar
    27.04.2015 11:58
    +1

    >возьмём случайный набор из 8 символов. Заметьте, что и у генератора это дефолтная длина. Я получил «U6zruRWL»

    Я использую хэши на 16 символов. Возьмём пароль «rgHjT60BsEYx8DdE». Система честно призналась: 1.54 hundred thousand centuries.

    Но ладно! Возьмём тот самый пароль из примера «U6zruRWL» и напишем его два раза подряд: «U6zruRWLU6zruRWL». 1.54 hundred thousand centuries — что и требовалось доказать.

    Просто добавь букв.


  1. kellas
    27.04.2015 12:46
    +4

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

    alexstep.com/blog/password-validation.html


  1. gorodianskyi
    27.04.2015 13:05
    +2

    В Mac OS X встроенный менеджер паролей (Связка ключей) отлично запоминает пароли, а при реестрации на ресурсах автоматически генирирует сложные пароли (аля :kbe?9Rtv7lJBY6) и запоминает их. Минус такого подхода, что если нет этой машины под рукой, то и не зайдешь на ресурс. По этому есть кроссплатформенные разработки, типа 1Password, которые есть на разные ОС и платформы. Запоминаешь мастер пароль, а далее программа будет генерировать, хранить и вводить надежные пароли.
    Это не панацея, но как вариант :)


  1. erge
    27.04.2015 13:40
    +3

    достали уже эти пароли, я больше 15-20 в голове держать уже не могу ))
    а требования на кол-во знаков и символов вообще ппц, особенно если они не указаны сразу и особенно, бывает и такое если делаешь пароль под требования, но он упорно не принимается этой умной системой, вообще бесит!
    я уже с этими требованиями менять пароль и пр. забыл часть своих паролей, приходится регулярно восстанавливать, и не делайте пожалуйста никогда принудительную обязательную смену пароля там раз в год или сколько там…
    ну не люблю я авторизацию через соцсети и пр., я параноик! ))
    а может меня в них и нет… но постоянно запоминать все новые и новые сложные и сложные пароли, это адЪ )


  1. GAS_85
    27.04.2015 14:33
    +2

    С тех пор как я открыл для себя keepass, не без улыбки читаю такие топики. Ни в коем случае не навязываю, а советую: кроссплатформенность, генерация паролей хоть по 256 символов, удобность использования.


    1. Loki3000
      29.04.2015 17:44

      А если надо с чужой машины акторизоваться? Да еще и мобильника под рукой нет… Пароль тем и хорош, что он всегда с собой, а если для его хранения нужна какая-то железка, так лучше уж использовать железки для авторизации.


      1. GAS_85
        30.04.2015 13:55

        Ну во первых не имею привычки авторизоваться с чужой машины. Если нет своего компа, или мобильника по рукой то и нет жизненной необходимости во «вконтактики» залезть, а куда может срочно понадобиться так это банкинг, но и телефонного звонки вполне хватит.
        Не знаю какой уровень паранойи у Вас, но если лично я посидел через публичный wi-fi без vpn то дома меняю пароли на всех посещенных ресурсах и что-то за Х лет пользования, пока не сильно напрягло.
        А так да, универсальный пароль конечно же удобнее (!=безопаснее) и всегда с собой. А если вы ещё и часто с чужой машины в интернет ходите, то я бы посмотрел как вы будите в Шереметьево вокруг общественного терминала с железкой для авторизации скакать.


  1. kraidiky
    27.04.2015 14:37
    +3

    Чувствуется что всех тут достили программисты-лентяи, которые, вместо того чтобы заняться социальной инженерией и придумать удобную для пользователя систему пытаются нас заставить иметь в голове грёбаную базу данных. Каждого такого программиста надо поймать за яики, заставить выучить число Пи до 1000-ого знака и бить по тому самому месту если он забыл хотя бы одну из цифр, хотя бы в один из 300 дней пока будет проходить обучение.

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


  1. Salabar
    27.04.2015 15:59
    +2

    Мне нужно скачать с вашего сайта один-единственный файлик, после чего я забуду про него как про летний сон. МОЖНО МНЕ УЖЕ ЗАРЕГИСТРИРОВАТЬСЯ, ПОЖАЛУЙСТА?!


    1. grossws
      27.04.2015 19:46

      10minutesmail в помощь


    1. Andrusha
      28.04.2015 09:08

      Перед регистрацией ещё можно зайти на bugmenot.com — возможно, добрые люди уже зарегались и поделились.


  1. Mikhail_dev
    27.04.2015 16:35

    Пфф, пароль слишком короткий. Сбербанк онлайн мне говорит что пароль слишком длинный, когда ввожу более 10 символов! А с их технической поддержкой вышел разговор в стиле:
    — у вас пароль более 10 символов вводить нельзя. сделайте так чтобы можно было вводить больше символов
    — максимальная допустимая длина пароля 10 символов.


    1. darthslider
      27.04.2015 19:20
      +2

      Альфа клик — 16 символов максимум, кажется.


      1. grossws
        27.04.2015 19:48
        +1

        Да, очень раздражает, когда стандартно используешь какой-нибудь keepassx/lastpass и очередной «сайтик» рассказывает, что пароль слишком длинный, нельзя использовать пунктуацию/пробелы и т. п.


      1. Mikhail_dev
        27.04.2015 23:00

        Ну 16 еще нормально. А вот от 6 до 10 для крупнейшего банка России, это жесть. Везде от 8 обычно, итого получаем что если придумывать пароль к банкингу, то от 8 до 10 желательно. Ну или послать сбер =)


        1. Louter
          28.04.2015 12:11

          Послать сбер =3 По мне так замечательная идея, учитывая, что повсеместных банков не так мало, как кажется на первый взгляд)


  1. BAV_Lug
    27.04.2015 18:31

    Как по мне, так проблема с паролем и уводом базы хешей надумана. Потому как достаточно длинная и сложная соль (еще и прилепленная например с обоих сторон) закрывает все вопросы.


    1. ohmytribe
      27.04.2015 19:38

      Средний бытовой процессор генерирует около 300-400 тысяч md5 хешей в секунду, sha1 чуть меньше. Поэтому соль в этом случае спасёт только от радужных таблиц, но никак не от брутфорса (соль обычно идёт в одном «пакете» с хешом, поэтому проблемы никакой нет). Нужно использовать долгоиграющие алгоритмы, соль генерировать отдельную для каждого генерируемого пароля и хранить рядом с паролем. А ещё лучше — пользоваться встроенной функциональностью языка программирования, перед этим изучив её реализацию.


    1. Louter
      27.04.2015 19:40
      -2

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

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


  1. ohmytribe
    27.04.2015 19:30
    +5

    1. Если кому-то вдруг так понадобился ваш пароль, что они готовы потратить на его подбор более 2 часов работы кластера — поздравляю, вы добились определённого успеха в жизни.
    2. Достаточно использовать «цикличные» алгоритмы со временем генерации хеша примерно 0.1 секунды на среднем процессоре (sha512 со 10 тысячами циклов, например) и с использованием случайных солей, чтобы полностью забыть про угрозу подбора пароля при утечке базы.
    3. Всегда стоит задумываться, а нужно ли в вышам бложике требовать пароли повышенной сложности.
    4. Если без сложного пароля нельзя обойтись, то без него можно обойтись с использованием двухфакторной авторизации.
    5. Если всё, что выше, не подошло, читайте RFC, ISO и т.п., подобные посты вам не помогут. При этом внимательно изучайте историю взломов выбранного метода защиты.


  1. chem_ua
    27.04.2015 22:51

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


  1. ozonar
    25.05.2015 21:17

    Честно говоря не пойму, зачем сайты просят ввести сложный пароль. Если ты фейсбук или пэйпал — тогда очевидно. Но если левый сайт, на который я, возможно, больше никогда не вернусь просит у меня сложный пароль — зачем это надо? Да даже если взломают, зачем мне эта учётка?

    Сложные пароли нужны в местах, где аккаунт потерять действительно жалко — платёжные сервисы например. А аккаунты в соцсетях ломают фишингом — если головы нет на плечах вообще не важно какой пароль — его всё-равно уведут.

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