[Перевод] Какие должны быть пароли в 2024 году?
Часто встречаются в интернете таблицы времени подбора паролей от компании Hive Systems, которые публикуются без дополнительных данных о методе их формирования. Соответственно сразу в комментариях к таким публикациям появляются много «критиков», которые спешат поделиться своим мнением о бесполезности этих таблиц. Так возникла идея перевести и опубликовать основные тезисы авторов исследования, на основании которого возникли таблицы.
Авторский перевод
Оригинал
С 2020 года компания Hive Systems проводила исследования, чтобы разработать и представить таблицу времени подбора (брут-форса) паролей.
В 2020 году была впервые опубликована таблица паролей, основанная на данных с сайта www.howsecureismypassword.net (сейчас security.org) и собранная Майком Хэлси, Microsoft MVP. В этой таблице рассматривалась относительная стойкость хешированного пароля к попыткам взлома в зависимости от длины пароля, его сложности, алгоритма хеширования, который использует жертва, и оборудования, которое использует злоумышленник.
В 2022 году компания углубилась в изучение данных и используемого оборудования, чтобы составить более точную картину. Данные в этой таблице основаны на том, сколько времени потребуется обычному хакеру, чтобы взломать хеш пароля с помощью настольного компьютера с топовой видеокартой, а затем сколько времени потребуется организованному преступному хакеру, который использует ресурсы облачных вычислений. Были рассмотрены такие известные провайдеры, как Amazon AWS и Microsoft Azure, а также растущие некорпоративные варианты, где можно арендовать компьютер человека по цене за час.
В 2023 году было обновлено оборудование для взлома до самого современного, включая оборудование от ChatGPT, и выбран более реалистичный набор специальных символов в тестировании. Это повлияло только на самый правый столбец таблицы.
В 2024 году компания проанализировала, какое хеширование (если таковое имело место) наблюдалось при взломе паролей на протяжении многих лет, и, основываясь на последних данных и тенденциях, перешла от предположения MD5 к предположению bcrypt. Для bcrypt были установлены 32 итерации. Остановка на 12x RTX 4090 была вызвана тем, что это по-прежнему лучшая доступная для потребителя аппаратная конфигурация, которая не блокирует запуск инструментов, используемых для перебора паролей. Кроме того, теперь предлагается таблица паролей на нескольких языках!
Каковы различия во времени подбора?
При условии, что используется 8-символьный пароль, рекомендованный NIST, максимальное время, необходимое для взлома случайно сгенерированных 8-символьных хэшей паролей MD5 различной сложности на различном оборудовании, значительно варьируется.
Также, максимальное время, необходимое для взлома случайно сгенерированных 8-символьных хэшей паролей bcrypt, установленных на 32 итерации, различной сложности на различном оборудовании, сильно отличается.
Таким образом, даже при использовании bcrypt, мы говорим максимум о 5 днях, если у вас много денег. Но для большинства бюджетов срок до 12 лет кажется вполне приличным, если вы также меняете пароль и он генерируется случайным образом.
Почему в таблице 2024 года именно bcrypt?
Hive Systems проанализировали утечки данных о паролях с 2007 года по настоящее время, о которых сообщается на сайте HaveIBeenPwned.
Вот как выглядит количество взломанных учётных данных, независимо от источника, по состоянию на апрель 2024 года:
Данные с сайта www.haveibeenpwnd.com
Данные с сайта www.haveibeenpwnd.com
MD5 господствовал в течение многих лет, но bcrypt стал выбиваться в лидеры, начиная с 2020 года.
Такие решения для хранения паролей, как LastPass, 1Password и Bitwarden, используют подход хеширования PBKDF2 с сильным хешем с солью, альтернативным MD5, который называется SHA-256. Даже NIST рекомендует PBKDF2 SHA-256. Но, как мы видим, «в жизни» всё выглядит иначе.
Вскрытые хэши паролей от Dropbox, Ethereum, MyFitnessPal и DataCamp использовали bcrypt вместо функции PBKDF2. Bcrypt также кажется более безопасным вариантом с точки зрения ресурсов, необходимых для его взлома. В результате таблица паролей 2024 Hive Systems основана на мощности 12 графических процессоров RTX 4090 против bcrypt.
Но почему время подбора увеличилось по сравнению с прошлым годом?
В прошлом году Hive Systems использовали MD5 в качестве хэша пароля. Как уже упоминалось ранее, MD5 встречается не так часто при взломах, что, вероятно, означает, что веб-сайты и компании используют его меньше (это хорошо!). Поэтому в этом году они обновили таблицу паролей до bcrypt, который является более надёжным хэшем паролей. Это позволило вернуться к прежнему уровню безопасности, но, вероятно, это не будет продолжаться долго, поскольку вычислительные мощности растут.
В этом году таблица паролей рассчитывается с коэффициентом 32 для bcrypt. И хотя можно сказать: «Это не лучшая отраслевая практика/не рекомендуется OWASP», — то в данных о нарушениях присутствуют свидетельства, указывающие на небезопасные конфигурации и применение хэшей паролей, и этот год не стал исключением! Если в течение следующего года ситуация изменится, Hive Systems обновят методику!
Также стоит отметить, что таблица паролей сфокусирована на идее, что хакер работает в ситуации «черного ящика» и вынужден начинать с нуля, чтобы взломать ваш хэш, чтобы показать «худший случай» или «максимальное время, которое потребуется». Большинство хакеров определяют приоритеты слов и строк символов, над которыми они будут работать в первую очередь, используя радужные таблицы, словарные атаки и ранее украденные хэши. Если ваш пароль был частью другого взлома или использует словарные слова, то ваша таблица паролей выглядит следующим образом:
Время подбора паролей, если ваш пароль был ранее украден, использует словарные слова или если вы используете одинаковый пароль на разных сайтах
А как же тот комикс xkcd о парольных фразах?
Во-первых, этот комикс был создан 13 лет назад. График таблицы паролей не дотягивает до количества символов в примере xkcd (25) просто потому, что нужно где-то провести линию с размером изображения для получения статистики по паролям вида 'correcthorsebatterystaple'. Но для любопытных эта таблица и соответствующая статистика выглядят следующим образом:
Предполагая bcrypt на 8 x A100s: 406 нониллионов лет (это очень много нулей!)
Но пароль xkcd — это не случайно сгенерированный пароль. Пассфразы — это строки известных словарных слов. Это означает, что «взлом» займет меньше 14 квадриллионов лет, потому что при выборе комбинаций для взлома мы можем начать с относительно коротких, легко запоминающихся слов! Процесс можно ускорить еще больше, если мы знаем что-нибудь о человеке и можем сосредоточиться на словах из тем, которые, как мы подозреваем, его интересуют. Можно даже сузить круг поиска, зная, какой генератор парольных фраз или набор для игры в кости он использовал. Взлом парольных фраз все равно займет много времени, но не больше, чем взлом полностью случайно сгенерированных строк той же длины. Тем не менее, если парольные фразы позволят вам получить большее количество символов, то преимущества могут перевесить риски.
Более подробную информацию и хорошее объяснение комикса xkcd вы найдёте по ссылке.
Стоит ли доверять LastPass?
Вам следует провести оценку рисков и убедиться, что ваша методика моделирования рисков включает моделирование рисков самих средств контроля безопасности (попробуйте использовать Derive!). Времена, когда можно было спокойно считать, что технология безопасности несет в себе только преимущества и не несет никакого риска, прошли!
Но если у вас нет ресурсов для этого, надежный профессионал в области безопасности Дэниел Мисслер в статье «Моя философия и рекомендации по поводу взлома LastPass» сказал: «Короче говоря, все компании могут быть взломаны, включая такие, как LastPass, и гораздо лучше держать свои самые конфиденциальные активы в крупной компании, которая имеет почти бесконечные ресурсы безопасности для обнаружения и реагирования, когда это неизбежно произойдет», с чем в целом можно согласиться, если нет времени на проведение надлежащей оценки рисков.
Хорошо, но как быть с этими огромными цифрами?
В разных странах, регионах и научных школах используются разные сокращения для цифр. В таблице паролей используются следующие:
Ограничения работы по составлению таблиц времени подбора паролей
Взлом паролей таким способом предполагает, что злоумышленник получил хэш‑дайджест одного или нескольких паролей, как, например, в случаях утечки данных о паролях на HaveIBeenPwned или недавно на LastPass (см. таблицу паролей здесь)!
Подразумеваемая атака предполагает, что MFA не используется или была обойдена. Если вы можете получить доступ к зашифрованной базе данных, как это произошло в случае с LastPass, вам не нужно будет использовать MFA при последующих попытках.
Предполагается, что пароли генерируются случайным образом. Пароли, сгенерированные неслучайным образом, гораздо легче и быстрее взламываются, поскольку люди достаточно предсказуемы. Поэтому временные рамки, указанные в этих таблицах, служат ориентиром для «лучшего случая». Пароли, сгенерированные неслучайным образом, будут взломаны значительно быстрее.
Эти показатели предполагают, что вы используете пароль, который не был частью взлома в прошлом. Злоумышленники будут пробовать хэши всех распространенных и взломанных паролей, прежде чем пытаться взломать новые.
Вспомните, насколько масштабным был взлом LastPass. Были украдены секреты 30 миллионов клиентов. Но на момент публикации этой статьи вы не найдете информацию о взломе LastPass в HaveIBeenPwned. Почему? Да потому, что все эти пароли еще не стали достоянием общественности! Представьте себе, сколько украденных секретов и уязвимостей никогда не попадают на свет или даже в темную паутину. Я бы предположил, что сохранение секретов в тайне дает преступникам больше рычагов и власти, чем их раскрытие.
По умолчанию Hashcat использует 999 итераций для PBKDF2 SHA-256, но это не соответствует тому, что используют люди. NIST рекомендует минимум 10 000 итераций, а такие сайты, как LastPass (сейчас), используют 600 000, а 1password — 650 000 итераций.
Перебор комбинаций символов — это только один шаг к «взлому». Второй шаг — поиск совпадений между хэшированными строками и набором данных хэшированных паролей. Мы предполагаем, что этот поиск требует незначительного количества дополнительных вычислений и времени.
Взломы паролей, попавшие в HaveIBeenPwned, могут не соответствовать реальности. Может существовать предвзятость отбора и выживания, отсеивающая случаи до того, как они попадут туда. Например, у LastPass был большой и страшный взлом, но они не попали в HIBP, потому что фактические данные не были опубликованы публично. Возможно, когда люди используют достаточно сильное шифрование, они не стремятся делиться или продавать набор данных, потому что никто не купит его или не потрудится его взломать.
В предыдущих выпусках таблицы мы включали все символы QWERTY-клавиатуры, но в этом году мы остановились на наборе, который обычно используется на большинстве веб-сайтов и генерируется большинством генераторов паролей ^*%$!&@# . Этот выбор повлиял только на самый правый столбец наших таблиц. Другими словами, мы исключили символы, зачеркнутые в следующей таблице:
Ссылки
Контрольные значения количества хэшей в секунду (H/s) были либо сгенерированы Hive Systems с помощью hashcat на локальном оборудовании или в облаке, либо взяты из результатов поиска по Github repo/gist, содержащих чужие результаты работы hashcat (например, https://github.com/search? q=hashcat+benchmark).
Технические характеристики GPU мы получали от производителя или с сайта.