Операция выполнена!
Закрыть

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

Авторы изначально исследовали не чат-боты, а сами большие языковые модели в их основе. Это GPT, Claude и Gemini в последних версиях. Запрос был простой: сгенерировать случайный пароль. Первой была модель Claude Opus 4.6. 

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

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

После этого авторы попросили сгенерировать ещё 50 паролей, и вот тут проблема становится максимально наглядной. 

Среди этих 50 паролей легко заметить четкие и очевидные закономерности: 

  • Все пароли начинаются с буквы, обычно заглавной G, за которой почти всегда следует цифра 7. 
  • Выбор символов крайне неравномерен – например, L, 9, m, 2, $ и # встречались во всех 50 паролях, а 5 и @ встречались только в одном пароле, а большинство букв алфавита вообще не встречались. 
  • В паролях нет повторяющихся символов. С точки зрения вероятности, это было бы крайне маловероятно, если бы пароли были действительно случайными, — но Claude предпочел избегать повторяющихся символов, возможно, потому что это «выглядит менее случайным». 
  • Claude избегал использования символа *. Возможно, это связано с тем, что Claude использует формат вывода Markdown, где * имеет особое значение. 
  • Даже целые пароли повторяются: из 50 попыток, указанных выше, на самом деле всего 30 уникальных паролей . Самым распространенным паролем был G7$kL9#mQ2&xP4!w, который повторился 18 раз , что дает этому конкретному паролю вероятность 36% в нашем тестовом наборе; это намного выше ожидаемой вероятности 2-100, если бы это действительно был 100-битный пароль. 

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

Авторы провели дополнительные исследования, чтобы убедиться в том, что проблема проявляется в той или иной степени всегда. Однако, если посмотреть на задачу под другим углом, в целом результат выглядит логично.  

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

Напротив, процесс выборки выходных токенов LLM предназначен для выполнения прямо противоположной задачи. По сути, все, что делают LLM, — это итеративно предсказывают следующий токен; случайная генерация токенов по определению предсказуема (вероятности токенов определяются LLM), и распределение вероятностей по всем возможным токенам очень далеко от равномерного. 

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

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

 

 

Читайте также
ЛЕНТА

ПИШИТЕ

Техническая поддержка проекта ВсеТут

info@vsetut.pro