А если доверить генерацию пароля нейросетям?
В последнее время с распространением ChatGPT и прочих больших языковых моделей (LLM) пользователи стали применять их для генерации паролей. Привлекательность этого подхода очевидна. Вместо того чтобы мучиться с созданием надежного пароля, пользователи могут просто попросить ИИ «сгенерировать надежный пароль» и получить мгновенный результат, да еще и попросить сделать его мнемонически запоминаемым.
Увы, опасность использования ИИ в качестве генератора «надежного» пароля в том, что ИИ создает комбинации символов, которые лишь кажутся случайными для человеческого глаза. Но внешний вид обманчив. Пароли, сгенерированные ИИ, не такие надежные, какими кажутся на первый взгляд. Руководитель направления исследования данных «Лаборатории Касперского» Алексей Антонов, проводивший и предыдущее исследование стойкости паролей ко взлому, сгенерировал по тысяче паролей с помощью ChatGPT, Llama и DeepSeek.
Выяснилось: все модели знают, что хороший пароль состоит как минимум из дюжины символов, включая заглавные и строчные буквы, цифры и символы. Но DeepSeek и Llama порой генерировали пароли, состоящие из словарных слов, в которых вместо некоторых букв использовались похожие цифры или символы, например, B@n@n@7 или S1mP1eL1on. Забавно, что обе эти модели неровно дышат к паролю password: P@ssw0rd, P@ssw0rd!23, P@ssw0rd1, P@ssw0rdV.
Конечно, такие пароли небезопасны, ведь трюк с заменой букв хорошо известен умным алгоритмам подбора пароля. У ChatGPT дела с генерацией пароля лучше:
qLUx@^9Wp#YZ
LU#@^9WpYqxZ
YLU@x#Wp9q^Z
P@zq^XWLY#v9
v#@LqYXW^9pz
Кажется, что это полностью случайный набор букв, спецсимволов и цифр. Однако, если присмотреться, то в них легко можно отследить признаки последовательности. Одни символы — например, х, p, L — используются чаще других. Мы составили гистограмму частотности символов во всех сгенерированных паролях и узнали, что у ChatGPT любимые буквы — x и p, Llama обожает символ # и тоже любит p, а вот DeepSeek больше всего фанатеет от t и w. А вот идеальный генератор случайных чисел не предпочел бы никакую букву, и все символы встречались бы примерно одинаковое количество раз.
Кроме того, LLM, как и люди, часто пренебрегают вставкой спецсимволов или цифр в пароль. Это обнаружилось в 26% паролей, сгенерированных ChatGPT, 32% — у Llama и 29% — у DeepSeek.
Зная подобные зависимости, киберпреступники могут значительно ускорить подбор подобных паролей. Проверив всю выборку сгенерированных ИИ паролей тем же алгоритмом, что и в предыдущем исследовании, мы обнаружили печальную картину: 88% паролей от DeepSeek и 87% паролей от Llama оказались недостаточно надежны. ChatGPT в нашем тесте показал лучшие результаты — у него ненадежными оказалась лишь треть (33%) паролей.
Увы, LLM не создают настоящее случайное распределение, и результаты их работы предсказуемы. Кроме того, они запросто могут сгенерировать вам такой же пароль, как и другим пользователям. Как быть?