Перейти к основному содержимому
Tooletto

Насколько сильным на самом деле должен быть пароль?

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

· 4 мин чтения

Вопрос перебора, коротко

Силу пароля принято измерять в битах энтропии — грубо говоря, сколько попыток пришлось бы сделать атакующему, перебирающему варианты, прежде чем исчерпать все возможности, причём каждый дополнительный бит удваивает это число. Случайный пароль, взятый из достаточно широкого набора символов, достигает силы — где-то от 70 до 80 бит для пароля длиной 14–16 символов, — которая с запасом превышает то, что любая атака полным перебором против должным образом защищённой учётной записи способна исчерпать за практически разумное время, будь то атакующий, подбирающий пароль онлайн против формы входа с ограничением по количеству попыток, или офлайн — против украденной, правильно хешированной базы паролей. За этим порогом добавление дополнительных битов теоретической силы делает пароль «более устойчивым к перебору» лишь в абстрактном смысле, который на практике перестаёт иметь значение, потому что перебор никогда и не был реалистичной угрозой для пароля, уже находящегося в этом диапазоне.

Неприятная статистика: большинство взломов учётных записей вообще не связано с перебором

Исследования безопасности и разборы реальных утечек последовательно указывают на другую, куда менее эффектную причину подавляющего большинства реальных захватов учётных записей: credential stuffing (подстановку учётных данных), при котором атакующий берёт список пар «email — пароль», слитых из одного взломанного сервиса, и просто пробует те же пары на других сервисах, делая ставку на чрезвычайно распространённую привычку повторно использовать один пароль для нескольких аккаунтов. Пароль, который сам по себе чрезвычайно силён — десятки бит энтропии, взятые из огромного набора символов, — не даёт абсолютно никакой защиты от этой конкретной атаки, если он повторно используется где-то ещё и тот другой сервис хоть раз был взломан, потому что атакующий вообще не пытается угадать пароль — он уже есть у него, дословно, из совершенно другой утечки. Именно поэтому уникальность пароля между сервисами, пожалуй, оказывает большее практическое влияние на реальную безопасность учётной записи, чем сама по себе сила пароля, — вывод, удивляющий тех, кто усвоил «сделай его сильнее» как единственный совет по паролям.

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

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

Что изменилось в официальных рекомендациях по паролям и почему

Годами официальные рекомендации таких организаций, как NIST, предписывали обязательные правила сложности пароля — требуемое сочетание заглавных и строчных букв, цифр и символов — вместе с принудительной периодической сменой пароля каждые 60 или 90 дней, и организации массово принимали оба правила как стандартную политику. Более поздние редакции тех же рекомендаций отказались от обеих рекомендаций на основании данных о том, что на практике они были откровенно контрпродуктивны: принудительные правила сложности подталкивают людей к предсказуемым шаблонам замены символов, которые словарь атакующего уже учитывает (обязательный символ надёжно превращается в «!» в конце, обязательная цифра надёжно превращается в замену «o» на «0»), а принудительная периодическая смена подталкивает людей к небольшим, предсказуемым, инкрементным изменениям уже существующего пароля вместо по-настоящему новых, добавляя при этом реальные неудобства, которые заметно повышают частоту, с которой люди от отчаяния записывают пароли на бумаге или повторно используют их в другом месте. Актуальные рекомендации вместо этого делают упор на длину, проверку новых паролей по спискам известных утечек и отказ от принудительной ротации в пользу смены пароля только тогда, когда конкретная учётная запись действительно оказывается скомпрометированной, — сдвиг, обусловленный данными о том, что реально повышает безопасность на практике, а не тем, что просто выглядит строгим в чек-листе соответствия требованиям.

Практический ориентир того, что на самом деле означает «достаточно сильный» сегодня

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

Похожие инструменты

Ещё в блоге