«Эти глупые правила, которые всех раздражают»: обсуждение практик работы с полями для ввода паролей

    Недавно на 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

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


    1cloud.ru
    310,98
    IaaS, VPS, VDS, Частное и публичное облако, SSL
    Поделиться публикацией

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

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

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

          В общем, нефиг тут на клавиатурах строчить, господа айтишники. Ишь какие, больше всех им надо! Делайте, как обычные пользователи, не дёргайтесь, терпеливо ждите, вводите буковки одним пальцем по штуке в несколько секунд, и будет вам счастье.
            0
            О, так я не один такой =)
            А решения проблемы не нашли, кроме как подождать? Пару секунд подождать, конечно, можно, но непривычно и как то глупо — у меня тут мощный проц и SSD, чего я жду то =_=
              0
              Увы, нет. Я в основном разблокирую дактилоскопическим сенсором, он-то срабатывает и на лок-экране. Но вот если три раза неудачно приложил палец и он не определился (очередной луч тем, кто установил такой низкий порог числа попыток, который запрещено увеличивать), добро пожаловать в старый добрый ввод пароля (точнее, пина в данном случае). «Вам нужно ввести пин» — ну так покажи ж ты мне поле ввода, чтоб я его сразу и начал вводить, тудыть твою перетудыть! Не-ет, у пользователя надо стрессоусточивость тренировать…

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

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

              0
              А что вам не хватает? В keepass xc в последних обновлениях ввели поддержку аппаратного ключа. Плюс удобное расширение в браузере. Да и по функционалу особых нареканий нет.
              0
              Пароли должны храниться секурно и энергонезависимо. В голове вполне подходит.
                0
                пароли также должны быть уникальны для каждого сайта. Поэтому хранение в голове не подходит. Использовать несколько паролей с модификациями тоже не подходит потому что довольно часто складываются ситуацию когда нужно использовать сразу несколько паролей. И в случае утечки ваших паролей злоумышленник сможет залогинится в большинство учеток.
                  0
                  Вы про MitM или иное недоверенное оборудование?
                    0
                    А сайты разве не используют Https? Да и вообще с таким уровнем паранои иметь всего пару паролей на все случаи жизни это как взаимоисключающие параграфы.
                    Вон пару лет назад была утечка паролей из майла. В дампе открытым текстом был мой пароль от почты к которой успешно был привязан вход на крипто биржу с парой битков на ней. Злоумышленик зашел на почту закинул биржу в игнор и поменял пароль к бирже.Ему оставалось подождать сутки и мои битки перешли бы к нему Хорошо что я заметил подозрительную активность и сменил все что можно на почте и на бирже. Но утекший пароль который до сих пор висит в сети повредил только почте а не 25-30% аккаунтов в сети.
                      0
                      Это не паранойя, паранойя была, когда я держал двух активных полноценных виртуалов :) Паролей не 2, а около десятка, плюс модификации, одна модификация используется максимум на двух сайтах. Почт тоже несколько, на разных сервисах и под разные задачи. Документов на почте нет, всё, связанное с деньгами, требует подтверждения на альтернативный адрес или по номеру телефону. Обычная сетевая гигиена, а ко всёму действительно важному надо иметь физический доступ, в идеале монопольный.
            0
            … И ни слова о zxcvbn или HaveIBeenPwned
              +6
              Запрет вставки бесит неимоверно. Буквально на днях поставил кол приложению банка юникредит, в котором «в целях безопасности» запрещена вставка из буфера обмена, при переключении на другое приложение поле для ввода очищается, и вдобавок ко всему «приложение не поддерживает режим разделённого экрана». То есть единственный способ войти с длинным паролем из хранилки — это переписать его на бумажку, а потом с бумажки вводить.
                +6
                Все уже давно знают что надо бумажку с паролем приклеить на монитор. Тогда от руки писать надо только один раз.
                  0
                  это переписать его на бумажку, а потом с бумажки вводить.

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

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

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

                          0

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

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

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

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

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

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

                                    Может быть они там пароли в открытом виде хранят и в SQL запросы подставляют? Чем еще им там могут проценты помешать? Или еще вариант: какой-нибудь студент смастерил собственную функцию "хеширования" пароля каким-нибудь мегасекьюрным XOR-ом. Решетка у него там, к примеру, зарезервирована как символ-разделитель соли. Бывают такие уникумы, которые слышат звон, а потом городят какую-то ересь.


                                    Натуральный Карго культ какой-то.

                                –4
                                Пароль должен генерироваться самим сайтом и отправляться пользователю на почту. Так же можно и периодически его менять. И конечно, никаких блокировок вставки. А вот чтобы я добавил, так это очищение буфера памяти уже после вставки пароля (в последнее его поле).
                                  0
                                  Ну, как оно должно быть, никто сказать не может (кто судья?), разработчики в лице сайта/системы могут проявить заботу о безопасности и вводить какие-то подсказки по поводу длины пароля и его структуры, но когда мне директивно диктуют что-то делать, меня бесит.
                                    –1
                                    Судья — пользователь сайта. Другого быть не может. Ему должно быть удобно и безопасно. И единственный вариант для этого — делать безопасный пароль за него, и отправлять на почту, откуда он всегда может быть скопирован. Это так надо делать при регистрации. Потом уже можно дать ему возможность поменять пароль на свой в любое время.
                                    –1
                                    rtfm
                                      0
                                      >Пароль должен генерироваться самим сайтом и отправляться пользователю на почту.

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

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

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

                                            Пожалуй, уточню: имеется в виду случай, когда нужно задать пароль. Хотя и ввести, как правило, тоже.
                                              0
                                              Звёздочки хотя бы видны. Бывают случаи, когда курсор вообще не двигается и непонятно символ добавлен или нет.
                                                0
                                                Шелл жи
                                                Невероятно бесит
                                                  +2
                                                  Да, как сказали выше — любая консоль Linux не показывает звёздочки.
                                                  А что в Win 10 есть всегда «показать пароль» — это хорошо.
                                                0
                                                Такой себе сайт virusinfo.info советовал поменять пароль, если его не меняли 1 год. Или все же требовал, точно не помню.
                                                И да, пароли на листочке или даже хуже.
                                                  +1

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

                                                    0
                                                    вот Origin совсем разочаровал меня своим ограничением в максимум 16 символов. У меня уже давно ни одного стандартного пароля под их требования нет, приходится чуть ли не каждый раз через восстановление заходить
                                                    0
                                                    Политика работы с паролем у Skype менялась на протяжении жизни, но я как-то в один момент чуть не разбил телефон, пытаясь поменять пароль:
                                                    Skype: Введите новый пароль
                                                    Я: пароль
                                                    Skype: Пароль должен содержать цифры
                                                    Я: пароль123
                                                    Skype: Пароль должен содержать хотя бы одну заглавную
                                                    Я: Пароль123
                                                    Skype: Пароль похож на предыдущий пароль, придумайте уникальный
                                                    Я: П@роль123
                                                    Skype: Пароль не должен содержать спецсимволы
                                                    Я: ДаЕшкинКотДайЖеМнеПарольПоменять123
                                                    Skype: Слишком длинный пароль…
                                                    Занавес
                                                      0
                                                      При столько интенсивной цифровизации, пароли постепенно будут отходить на второй план.
                                                        0
                                                        60 дней до экспайра пароля не только на рабочей станции, но и на серверах, длинна 12 символов с обязательным наличием всех возможных типов знаков, новый пароль не должен соответствовать 10ти предыдущим… Зоопарк не только серверов, но и паролей.
                                                        Психанул и взял обычный пароль, взял для него кастомный алфавит шифра Цезаря дописав в него спец символы, а дальше 1 и тот же пароль со смещением при каждой итерации. Единственное облегчение при этом — всегда знаешь изначальный пароль, главное помнить итерацию и, соответственно, смешение.
                                                          0
                                                          Спасибо за способ, удобно. А номер итерации можно дописывать к текущему паролю.
                                                            0
                                                            Способ то хороший, но есть у него 1 неприятный(по крайне мере для меня) недостаток — время ввода пароля.
                                                            Свой стандартный пароль я могу отбарабанить на клаве ну секунды за 2, его версию модифицированную в соответствие с правилами +2 секунды, его версию после «шифрования» ещё + пару секунд ибо уже дикая тарабарщина получается с раскидыванием знаков по всей клаве. По итогу получается так, что шанс того, что у меня физически(то есть не применяя методы взлома, а тупо подсмотрят) уведут пароль выше как раз таки с «шифрованным» паролем, чем с оригинальным, тупо из-за затраченного времени вода, а соответственно, и времени для того что бы кто-то с достаточно хорошей памятью смогу его запомнить. Но увы и ах — безопасность должна быть безопасной и парятся они только о возможности взлома, а не того что пароль будет утерен или банально подсмотрен-_-
                                                              0
                                                              Последний раз задумывался, что мой пароль могут подсмотреть, когда вводил пин карты под висящей над кассой камерой. Прикрыл бумажкой и ввёл. Серьёзно, вся мегасекурность, описанная в статье, это цирк безопасности, пароли или утекают из хранилища сервиса, или подбираются по словарю, обычно нет задачи «давайте ломанём этого конкретного человека любой ценой». Если мне будет нужна отчётность компании, я не буду сразу ломать сервера, сначала пороюсь в мусорных баках в поисках черновиков и распечаток для презентаций.
                                                                0
                                                                Ну вообще смотришь такой на требование безопасников к паролю и создаётся впечатление что ты не просто в корпе работаешь, а прям на правительство. На кой ляд это надо? Больше раздражает, даже притом что знаешь какой пароль изначальный, знаешь итерацию и, соответственно, помнишь текущий пароль есть куча серверов которые ты только создал или к которым тебе недавно выдали доступ и на которых, соответственно, стоит твой изначальный пароль, а не изменённый. Заходишь на такой сервак и виснешь «а какой конкретно на этом серваке у меня пароль, блин».
                                                                Как выразился 1 мой коллега по этому поводу — не сисадмин, а специалист по вводу паролей какой-то.
                                                                  0
                                                                  Есть второй уровень, когда старший админ или вообще безопасник сам генерирует пароли и спускает их вниз. Тут уже материшься и, как в анекдотах про бухов, распечатываешь и кладёшь листочек недалеко от компа.
                                                                    0
                                                                    Не, до такого маразма ещё не дошли, слава Омниссии, пока только сгенерить пароль, отдать заказчику, поставить на учётку смену при первом входе. При этом Qwerty_123 меняемый при первом же входе не канает. Более того — можно втык получить, чисто для профилактии ибо нефиг тут ансикьюрность разводить. С одной стороны справедливо, с другой стороны — пароли то эти отдаются другим сотрудникам корпы и без админских прав, то есть чувакам которые всё равно ни болта сделать не смогут.
                                                                    А те кто могут без рут прав их получить так таким даже наличие учётки на серваке не нужно-_-
                                                                  0
                                                                  Вообще изголяться с паролем можно скок угодно чисто за счёт базовых методов шифрования. Помнится 1 из моих стандартных паролей был сгенерен посредством взятия тотально цифрового пароля использования его как координат сетки, на полученный результат заюзан был шифр Цезаря, а потом пропущенный уже через другую координатную сетку. Ну и по сути я такой метод юзаю постоянно в ситуациях когда мне нужен действительно уникальный пароль ибо юз генераторов для меня это == стрельбе себе в ногу ибо не запоминаю, а тут даже если придумаю совсем гробонутый алгоритм генерация пароля на основе базового всё равно запомню.

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

                                                          Самое читаемое