Недавно на GitHub опубликовали список ресурсов с необоснованно сложными и просто неудачными правилами для паролей. Подборку активно обсуждают, и мы решили подключиться к дискуссии.


Фото — Andre Hunter — Unsplash

Неизвестная длина пароля


Почти все сайты ввели ограничения по длине пароля. Джефф Этвуд (Jeff Atwood), автор Stack Overflow и блога Coding Horror отмечает, что минимальная планка в десять знаков снижает шанс ввода пользователем слабого или популярного пароля на 80%. Но есть ресурсы, которые сообщают о минимальной длине пароля, но не говорят о наличии верхнего порога. В подборке можно найти примеры сайтов крупных вендоров, где в поле ввода пароля разрешены фразы длиной до 20 символов. Но узнать об этом ограничении можно исключительно методом проб и ошибок.

Разработчики сайта электронной системы оплаты дорог в США пошли дальше. Поле для ввода пароля вообще обрезает «лишние» символы. Пользователи не сразу понимают, почему пароли не совпадают при их вводе в соответствующие поля. Аналогичная проблема есть на сайте одного новозеландского авиаперевозчика. Причем она проявляется не на всех страницах. Таких ресурсов много — резидент Hacker News отмечает, что уже сбился со счета, сколько раз ему приходилось вручную модифицировать JS-скрипты во вкладке Source браузера, чтобы пароли обрабатывались нормально.

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

Регулярная смена пароля


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

Один из резидентов Hacker News рассказывает, что в его компании нужно изменять пароль каждые три месяца. Это его сильно раздражает. При этом программное обеспечение, которое отвечает за ротацию, путает порядок специальных символов при сохранении новых аутентификационных данных. Войти под измененным паролем становится невозможно. Пока ситуацию не исправили, он вынужден использовать более слабые цифробуквенные фразы. Требование регулярно менять пароль приводит и к тому, что работники компании начинают переиспользовать прошлые идентификаторы. Другой пользователь HN рассказал, что работал с одним телекоммуникационным провайдером, где сотрудник для входа в учетную запись применял всего два пароля: «Apr1999!» или «Mar1999!». Они выполняли требования к паролям лишь формально: прописные и строчные буквы, цифры и символы.

Управление вводом


Достоверно неизвестно, как появилась практика блокировки вставки паролей. Инженеры из Национального центра кибербезопасности США отмечают, что никто не видел какой-то научной статьи, исследования, правила или RFC на эту тему. Они также говорят, что это — плохая практика, которая ухудшает безопасность. Посетители ресурса теряют возможность использовать парольные менеджеры и генераторы. В итоге они выбирают простые пароли, чтобы не терять время и быстрее получать доступ к ресурсам. В свое время против блокировки вставок также высказывались региональный директор Microsoft Трой Хант (Troy Hunt) и редактор Wired Джозеф Кокс (Joseph Cox).


Фото — Matthew Brodeur — Unsplash

Отметим, что обойти проблему может плагин Don’t F*ck With Paste для Chrome и Firefox. Также задачу можно решить вручную в настройках. Например, для «огненной лисы» флаг about:config: dom.event.clipboardevents.enabled нужно переключить на false. Однако это может нарушить работу «копировать/вставить» в Google Docs. Для борьбы с блокировкой copy/paste один из резидентов Hacker News написал собственный скрипт — AutoHotKey. Он читает данные из буфера обмена, а потом печатает их друг за другом в поле ввода с задержкой в 100–200 мс.

Кто стандартизирует парольные политики


Существуют организации, которые разрабатывают стандарты для работы с паролями. Например, Национальный институт стандартов и технологий США (NIST) составляет фреймворк NIST 800-63B. Он гласит, что длина пароля должна быть не менее восьми символов. При этом сайты просят устанавливать максимальную длину пароля как минимум на уровне 64 знаков.

Выбранный пароль не должен входить в список наиболее популярных фраз и содержать повторные буквы и цифры («aaaaaa» или «1234abcd»). Краткую выжимку с объяснениями этих правил подготовили инженеры из Sophos — компании-производителя средств информационной безопасности серверов и ПК. Стандарту NIST уже следует множество сайтов. Например, ресурс login.gov, предоставляющий услуги аутентификации для правительственных порталов США.

Есть и другие фреймворки (например, HITRUST), но в них до сих пор остались устаревшие практики вроде регулярной ротации паролей. Но их, как и NIST, постепенно совершенствуют.



Дополнительное чтение в блоге 1cloud:

Что нового в Linux kernel 5.3
«Как мы строим IaaS»: материалы о работе 1cloud

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


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


  1. MonkAlex
    13.11.2019 23:50

    К паролям, вспомнилось.

    На работе блокирую ПК, когда отхожу. Монитор гаснет через минуту, наверное.
    Возвращаюсь, клацаю «энтер», ввожу пароль, ещё раз «энтер». Жду несколько секунд, монитор наконец то включается, а там сообщение о неверном пароле.
    Недавно наконец то разобрался с проблемой — первые несколько нажатий почему то не обрабатываются, что для ввода пароля критично, ясное дело. Такой проблемы не было на Windows7, такой проблемы нет на домашнем ПК (Win10), где требуется ввод пинкода, а не пароля. Чем провинился рабочий комп с Windows10, я не знаю, но нервы треплет изрядно, потому что привычке очень много лет.


    1. VBKesha
      14.11.2019 00:10
      +1

      Может USB засыпает для сохранения энергии, и при просыпании пропускается пару символов.


      1. CaptainFlint
        14.11.2019 01:05

        Это какая-то особенность Win10. Если экран заблокирован, то первым нажатием надо обязательно разблокировать (первый луч в сторону разработчиков этой системы; в семёрке-то просто сразу начинаешь вводить пароль без лишних действий). Примерно с полсекунды-секунду винда соображает (видимо, это требует немеряного количества вычислений — убрать одно окно и отобразить другое, с картинкой и полем ввода). В течение этого времени любой ввод с клавиатуры уходит в /dev/null (пардон, в NUL, конечно же). И более того, в самом конце, когда экран ввода пароля уже начал отрисовываться, если попасть нажатием клавиши в какую-то долю секунды отрисовки, он может эту букву ввести в поле пароля и тут же выделить её. Так что ввод следующей буквы не допишется к ней, а заменит.

        В общем, нефиг тут на клавиатурах строчить, господа айтишники. Ишь какие, больше всех им надо! Делайте, как обычные пользователи, не дёргайтесь, терпеливо ждите, вводите буковки одним пальцем по штуке в несколько секунд, и будет вам счастье.


        1. MonkAlex
          14.11.2019 08:53

          О, так я не один такой =)
          А решения проблемы не нашли, кроме как подождать? Пару секунд подождать, конечно, можно, но непривычно и как то глупо — у меня тут мощный проц и SSD, чего я жду то =_=


          1. CaptainFlint
            14.11.2019 11:59

            Увы, нет. Я в основном разблокирую дактилоскопическим сенсором, он-то срабатывает и на лок-экране. Но вот если три раза неудачно приложил палец и он не определился (очередной луч тем, кто установил такой низкий порог числа попыток, который запрещено увеличивать), добро пожаловать в старый добрый ввод пароля (точнее, пина в данном случае). «Вам нужно ввести пин» — ну так покажи ж ты мне поле ввода, чтоб я его сразу и начал вводить, тудыть твою перетудыть! Не-ет, у пользователя надо стрессоусточивость тренировать…

            С ужасом ожидаю того дня, когда у меня не останется возможности использовать Семёрку на своём основном десктопе из-за неподдерживаемых драйверов или нужных мне программ. :-(


  1. Gryphon88
    14.11.2019 00:03
    +2

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


    1. polearnik
      14.11.2019 10:37

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


      1. VolCh
        14.11.2019 10:47

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


        1. polearnik
          14.11.2019 13:38

          А что вам не хватает? В keepass xc в последних обновлениях ввели поддержку аппаратного ключа. Плюс удобное расширение в браузере. Да и по функционалу особых нареканий нет.


      1. Gryphon88
        14.11.2019 18:21

        Пароли должны храниться секурно и энергонезависимо. В голове вполне подходит.


        1. polearnik
          14.11.2019 20:40

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


          1. Gryphon88
            14.11.2019 22:06

            Вы про MitM или иное недоверенное оборудование?


            1. polearnik
              15.11.2019 09:21

              А сайты разве не используют Https? Да и вообще с таким уровнем паранои иметь всего пару паролей на все случаи жизни это как взаимоисключающие параграфы.
              Вон пару лет назад была утечка паролей из майла. В дампе открытым текстом был мой пароль от почты к которой успешно был привязан вход на крипто биржу с парой битков на ней. Злоумышленик зашел на почту закинул биржу в игнор и поменял пароль к бирже.Ему оставалось подождать сутки и мои битки перешли бы к нему Хорошо что я заметил подозрительную активность и сменил все что можно на почте и на бирже. Но утекший пароль который до сих пор висит в сети повредил только почте а не 25-30% аккаунтов в сети.


              1. Gryphon88
                15.11.2019 11:03

                Это не паранойя, паранойя была, когда я держал двух активных полноценных виртуалов :) Паролей не 2, а около десятка, плюс модификации, одна модификация используется максимум на двух сайтах. Почт тоже несколько, на разных сервисах и под разные задачи. Документов на почте нет, всё, связанное с деньгами, требует подтверждения на альтернативный адрес или по номеру телефону. Обычная сетевая гигиена, а ко всёму действительно важному надо иметь физический доступ, в идеале монопольный.


  1. Scratch
    14.11.2019 00:05

    … И ни слова о zxcvbn или HaveIBeenPwned


  1. Eugney
    14.11.2019 00:11
    +2

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


    1. nochkin
      14.11.2019 00:26
      +1

      Все уже давно знают что надо бумажку с паролем приклеить на монитор. Тогда от руки писать надо только один раз.


    1. Zenitchik
      14.11.2019 14:28

      это переписать его на бумажку, а потом с бумажки вводить.

      Распечатать на штрих-код, а потом считывать сканером, подключённым в разрыв клавиатурного шнура.


    1. abrca
      14.11.2019 17:26

      У Хоум Кредит в интернет-банке для физлиц похожая фигня — вставляешь логин из хранилки, переключаешь в неё для копирования пароля — возвращаешься, а поле для логина очищено. Но, зато работает обратная последовательность — сначала вставлять пароль, а затем логин — тогда нормально.


  1. audittoria
    14.11.2019 00:15

    Когда-то требования к паролю было не менее 6 символов. Растём


  1. tuxi
    14.11.2019 00:19
    +1

    3 раза вводил вечером, ни разу не получилось. Только утром на свежую голову получилось ввести правильно.
    image


    1. AlePil
      14.11.2019 01:47

      да, к паролям TIMa надо привыкать. я что бы не мучаться начал использовать qr в том числе и расшифровку его на ноутах. Иначе с первого раза никак) ))


    1. fougasse
      14.11.2019 15:04

      A админка admin/admin?
      Заходишь и меняшь на что-то поудобнее.


      1. tuxi
        14.11.2019 15:30

        не пробовал :)


  1. Areskoi
    14.11.2019 00:22

    Из личного опыта: Несколько лет назад один крупный российский банк для входа в ИБ позволял создать только цифровой пароль длиной 6 символов. Ровно 6 цифр, ни больше, ни меньше. При этом требовал вводить его с виртуальной клавиатуры на странице и заставлял менять каждые 3 месяца. В конце концов банк отказался от этой дикости в требованиях к паролям. А другой менее крупный банк до сих пор для входа в ИБ требует пароль из 5 цифр. Конечно, они еще и код из СМС просят, но это все равно смехотворно.


  1. VolCh
    14.11.2019 01:25

    Бесит, когда ограничивают набор символов, процент или решётку использовать не дают…


    1. Dotarev
      14.11.2019 07:57
      +1

      Также бесит, когда заставляют вводить в пароль спецсимволы.


      1. VolCh
        14.11.2019 10:48

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


        1. Dotarev
          14.11.2019 10:59

          Запрет на спецсимволы уменьшает общее количество комбинаций и, следовательно, энтропию пароля.
          Вообще, энтропию пароля уменьшает любое заранее известное правило его формирования. Например, если заранее известно, что в пароле присутствуют спецсимволы, это значительно уменьшает поле поиска при брутфорсе.
          Например, при длине пароля в 1 (один) символ и разрешении на символы в пароле — любые в кодировке UTF16, количество возможных комбинаций 1 112 064, а при наложении правила, которое меня бесит — всего 10. Есть разница?


  1. Vlad800
    14.11.2019 03:09

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


    1. lovermann
      14.11.2019 10:12

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


      1. Vlad800
        14.11.2019 15:01

        Судья — пользователь сайта. Другого быть не может. Ему должно быть удобно и безопасно. И единственный вариант для этого — делать безопасный пароль за него, и отправлять на почту, откуда он всегда может быть скопирован. Это так надо делать при регистрации. Потом уже можно дать ему возможность поменять пароль на свой в любое время.


    1. p3p
      14.11.2019 11:16
      -1

      rtfm


    1. hjornson
      14.11.2019 13:29

      >Пароль должен генерироваться самим сайтом и отправляться пользователю на почту.

      Товарищи майоры из гугля-майлру-яндекса-тд горячо одобряэ!


      1. Vlad800
        14.11.2019 15:03

        Мое предложение очевидно не касается почтовиков…


  1. Alozar
    14.11.2019 08:29
    +3

    О эта парольная политика…
    У нас пароль нужно менять каждые 2 месяца, заменить «пароль» на «пароль1» нельзя, проверка на повторяемость паролей — 8 последних, ещё и какие-то требования к содержанию пароля (благо дело, что мои стандартные пароли им удовлетворяют). В результате я стал понимать людей, которые записывают пароль на листочек. При этом поддержка постоянно долбит мозг безопасникам, что такая парольная политика только уменьшает защищённость, но у тех видимо развита болезнь «Безопасник головного мозга».


    1. maxzh83
      14.11.2019 11:02
      +1

      благо дело, что мои стандартные пароли им удовлетворяют

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


      1. shaggyone
        14.11.2019 11:53

        Как вариант:
        стандартный_пароль_один, стандартный_пароль_два


        1. maxzh83
          14.11.2019 12:20

          заменить «пароль» на «пароль1» нельзя


          1. shaggyone
            14.11.2019 12:37

            А на пароль_один?

            Ну правда, каким образом можно определить, что пароль сделан из предыдущего, при условии что предыдущий надёжно зашифрован. Скорее всего хэш для самых простых форм вроде «пароль1» сохраняют, а пароль_один нет. Если не подойдёт можно пароль_uno, пароль_адын и т.п…


          1. vlivyur
            14.11.2019 16:50

            одинпароль
            парольдва


    1. xenon
      14.11.2019 15:51

      а заменить «пароль0» на «пароль1» — можно?
      просто если и это нельзя — то, кажется, у вас там большие проблемы.


  1. mistergrim
    14.11.2019 10:17

    Рискую нарваться на минусы, но больше всего в парольных полях бесят звёздочки. Ну вот пару раз в жизни у меня стояли за спиной, когда я ввожу пароль, так сделайте Opt-In галочку на этот случай.

    Пожалуй, уточню: имеется в виду случай, когда нужно задать пароль. Хотя и ввести, как правило, тоже.


    1. Alozar
      14.11.2019 10:23

      Звёздочки хотя бы видны. Бывают случаи, когда курсор вообще не двигается и непонятно символ добавлен или нет.


      1. mistergrim
        14.11.2019 10:25
        +1

        Шелл жи
        Невероятно бесит


      1. Victor_koly
        14.11.2019 10:30
        +1

        Да, как сказали выше — любая консоль Linux не показывает звёздочки.
        А что в Win 10 есть всегда «показать пароль» — это хорошо.


  1. Victor_koly
    14.11.2019 10:28

    Такой себе сайт virusinfo.info советовал поменять пароль, если его не меняли 1 год. Или все же требовал, точно не помню.
    И да, пароли на листочке или даже хуже.


  1. MaZaNaX
    14.11.2019 11:29
    +1

    Очень бесит верхнее ограничение длины пароля. Недавно столкнулся с таким в Origin.
    Или когда запрещают использовать спец.символы


    1. nealzzze
      14.11.2019 13:05

      вот Origin совсем разочаровал меня своим ограничением в максимум 16 символов. У меня уже давно ни одного стандартного пароля под их требования нет, приходится чуть ли не каждый раз через восстановление заходить


  1. MadBambula
    14.11.2019 12:12

    Политика работы с паролем у Skype менялась на протяжении жизни, но я как-то в один момент чуть не разбил телефон, пытаясь поменять пароль:
    Skype: Введите новый пароль
    Я: пароль
    Skype: Пароль должен содержать цифры
    Я: пароль123
    Skype: Пароль должен содержать хотя бы одну заглавную
    Я: Пароль123
    Skype: Пароль похож на предыдущий пароль, придумайте уникальный
    Я: П@роль123
    Skype: Пароль не должен содержать спецсимволы
    Я: ДаЕшкинКотДайЖеМнеПарольПоменять123
    Skype: Слишком длинный пароль…
    Занавес


  1. kvghabr
    14.11.2019 17:09

    При столько интенсивной цифровизации, пароли постепенно будут отходить на второй план.


  1. NightSkyST
    16.11.2019 20:04

    60 дней до экспайра пароля не только на рабочей станции, но и на серверах, длинна 12 символов с обязательным наличием всех возможных типов знаков, новый пароль не должен соответствовать 10ти предыдущим… Зоопарк не только серверов, но и паролей.
    Психанул и взял обычный пароль, взял для него кастомный алфавит шифра Цезаря дописав в него спец символы, а дальше 1 и тот же пароль со смещением при каждой итерации. Единственное облегчение при этом — всегда знаешь изначальный пароль, главное помнить итерацию и, соответственно, смешение.


    1. Gryphon88
      16.11.2019 20:41

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