Придумали новый пароль? Не переживайте — ИИ уже его угадал. И пошёл взламывать

Придумали новый пароль? Не переживайте — ИИ уже его угадал. И пошёл взламывать

Мы привыкли придумывать пароли по наитию: знакомое слово, любимый год, пара символов в конце. С появлением продвинутых моделей ИИ такая привычка стала проблемой. Эти модели учатся на больших наборах реальных паролей и на открытых данных о человеке и после этого предлагают не случайные наборы символов, а правдоподобные варианты, которые человек с высокой вероятностью мог бы выбрать. Рассказываю, как всё устроено изнутри.

Основа процесса: как модели выходят на реальный пароль

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

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

Как ускоряют подбор. Вместо обучить модель заново используют дообучение на небольшом наборе именно паролей и коротких правил преобразования. Это занимает меньше ресурсов и повышает точность. При генерации применяют понятные техники: модель сначала строит список из, скажем, 200 самых вероятных основ (корней), а затем расширяет каждую основу десятками вариантов. Пример: из слова spartak получаются кандидаты вида Spartak2025, spartak!, Sp@rtak25, Spartak-05 и так далее. Такой порядок экономит время: вместо миллионов случайных попыток проверяются несколько тысяч, но гораздо более живых.

Что такое поведенческий паттерн и вектор пароля

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

Вектор пароля — это числовое представление пароля, с которым удобно работать машине. Похожие по устройству пароли оказываются рядом: например, Arsenal2023 и Arsenal2025 для модели соседи. Поэтому, если атакующему известен один старый вариант, первые догадки будут стоять рядом с ним: Arsenal2024, Arsenal!2025, Ars3nal2025 и так далее.

Когда человек меняет только один символ или прибавляет актуальный год, он остается в том же диапазоне комбинаций. Модель именно с нее и начинает, потому что такие правки — ещё и типичная линия поведения для нас всех (напоминаю - мозг у нас устроен +- одинаково). Отсюда простой вывод: небольшие правки не спасают.

Как модель решает, что проверять в начале? Раньше использовали фиксированные правила, например слово+год или год+слово. Теперь порядок определяет сама нейросеть на основе частоты и контекста. На практике это значит, что первые минуты подбора дают наибольшие совпадения, потому что проверяются самые расхожие схемы.

Откуда берутся подсказки и во что они превращаются

Опять же. Открытые следы. Соцсети, подписи в письмах, страницы выступлений, резюме, профили на сайтах мероприятий. Из них легко собрать имена, даты, города, любимые команды, названия домашних животных, характерные сокращения. Пример: если в постах часто встречается слово cosmos, то и кандидаты с cosmos окажутся в начале списка.

Старые утечки. Если один из ваших аккаунтов когда-то скомпрометировали, тот пароль становится образцом. Модель генерирует рядом десятки версий: mycat2023 → mycat2024, MyCat2024, mycat_24, myc@t2024. При повторном использовании или близких вариантах риск резко растет.

Рабочая переписка и документы. Внутренние аббревиатуры, коды подразделений, названия проектов часто мигрируют в пароли. Если эти элементы видны вовне, они превращаются в подсказки. Пример: проект Orbis и релиз в 2025 году дадут в первых строках Orbis2025, 0rbis2025, Orbis-25.

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

Практика защиты: какие конкретные шаги предпринять

Длина и разнообразие. Используйте длинные фразы из случайных слов или сгенерированные менеджером паролей строки длиной не меньше 16–20 символов. Чем дальше пароль от ваших типовых слов и чисел, тем ниже шанс оказаться в первых гипотезах модели.

Менеджер паролей. Он генерирует уникальные пароли и хранит их за вас. Простые правила: каждый сервис — свой пароль, максимальная длина, периодическая проверка на попадание в утечки с помощью встроенных функций.

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

Проверка на компрометацию. В компаниях включайте автоматическую проверку при установке и смене пароля: сравнение хэшей с известными базами утекших секретов. Это отсечет заведомо плохие варианты и заблокирует повторное использование старых учётных данных.

  • Сотрудникам: менеджер паролей, MFA, запрет на повторения и на близкие вариации одного и того же слова или цифробуквенной схемы.
  • Администраторам: политика длины, автоматическая проверка на утечки, блокировка распространенных шаблонов, ограничение скорости попыток, мониторинг аномалий входа.
  • Разработчикам: аккуратные сообщения об ошибках без подсказок, защита журналов аутентификации, разумные сроки жизни сессий, безопасное хранение токенов восстановления.
  • Руководителям: обучение сотрудников с примерами, аудит реальных практик, а не формальных требований.

Как выглядит адресная атака

Сбор исходных данных: автоматические скрипты просматривают открытые профили и архивы утечек, извлекая факты и часто встречающиеся строки: имена и их вариации, даты, города, названия команд и проектов, типичные сокращения, любимые слова, наборы чисел. Параллельно собираются технические подсказки, которые не привязаны к текстам: язык интерфейса, часовой пояс, раскладка клавиатуры по следам в никнеймах, формат записи дат. Если известен старый пароль из утечки, он фиксируется как отправная точка для построения близких вариантов.

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

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

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

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

LLM password embeddings ИИ пароли
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.

Мнение вашего врача может вас убить.

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

Техно Леди

Технологии и наука для гуманитариев