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