Выбрать язык

PassTSL: Двухэтапное обучение для моделирования и взлома паролей, созданных человеком

Анализ PassTSL — новой структуры моделирования паролей с использованием предобучения и дообучения, вдохновлённой NLP, демонстрирующей превосходную производительность в подборе паролей и оценке их стойкости.
computationalcoin.com | PDF Size: 1.9 MB
Оценка: 4.5/5
Ваша оценка
Вы уже оценили этот документ
Обложка PDF-документа - PassTSL: Двухэтапное обучение для моделирования и взлома паролей, созданных человеком

Содержание

1. Введение

Текстовые пароли остаются доминирующим механизмом аутентификации, однако их антропогенная природа делает их уязвимыми для атак на основе данных. Существующие передовые подходы к моделированию, включая цепи Маркова, модели на основе шаблонов, RNN и GAN, имеют ограничения в захвате сложной, языкоподобной, но отличной структуры паролей. Вдохновлённые трансформационной парадигмой предварительного обучения и дообучения в обработке естественного языка (NLP), данная статья представляет PassTSL (моделирование паролей, созданных человеком, посредством двухэтапного обучения). PassTSL использует архитектуры на основе трансформеров, чтобы сначала изучить общие шаблоны создания паролей из большого разнообразного набора данных (предобучение), а затем специализировать модель для конкретного целевого контекста с использованием меньшего, релевантного набора данных (дообучение). Этот подход направлен на преодоление разрыва между передовыми методами NLP и уникальными задачами моделирования паролей.

2. Методология: Структура PassTSL

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

2.1. Фаза предварительного обучения

Модель изначально обучается на большом, общем корпусе паролей (например, объединённых данных из нескольких утечек). Цель — изучить фундаментальные зависимости на уровне символов, общие шаблоны замены (например, 'a' -> '@', 's' -> '$') и вероятностные структуры, которые повсеместно встречаются в различных наборах паролей. Эта фаза создаёт надёжную базовую модель поведения человека при создании паролей.

2.2. Фаза дообучения

Затем предварительно обученная модель адаптируется к конкретной целевой базе данных паролей. Используя относительно небольшую выборку из целевого набора, параметры модели корректируются. В статье исследуется эвристика для выбора данных дообучения на основе дивергенции Йенсена-Шеннона (JS) между распределениями предобучения и целевого набора, направленная на выбор наиболее информативных образцов для адаптации.

2.3. Архитектура модели и технические детали

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

3. Экспериментальная установка и результаты

3.1. Наборы данных и базовые модели

Эксперименты проводились на шести крупных, реальных базах данных утекших паролей. PassTSL сравнивалась с пятью передовыми инструментами подбора паролей, включая модели на основе Маркова (например, PCFG), RNN и GAN.

3.2. Производительность подбора паролей

PassTSL значительно превзошла все базовые модели. Улучшение показателя успешности подбора в максимальной точке варьировалось от 4,11% до 64,69%, демонстрируя эффективность двухэтапного подхода. Результаты показывают, что предварительное обучение на большом корпусе даёт существенное преимущество по сравнению с моделями, обученными с нуля на одном целевом наборе.

Прирост производительности относительно SOTA

Диапазон: 4,11% - 64,69%

Контекст: Улучшение показателя успешности подбора паролей в точке максимальной оценки.

3.3. Оценка измерителя стойкости паролей (PSM)

PSM был реализован на основе вероятностных оценок PassTSL. Он оценивался в сравнении с PSM на основе нейронных сетей и основанным на правилах zxcvbn. Ключевой метрикой был компромисс между «безопасными ошибками» (недооценка стойкости) и «небезопасными ошибками» (переоценка стойкости). При равном уровне безопасных ошибок PSM на основе PassTSL давал меньше небезопасных ошибок, что означает его более высокую точность в выявлении действительно слабых паролей.

3.4. Влияние выбора данных для дообучения

Исследование показало, что даже небольшое количество целевых данных для дообучения (например, 0,1% от объёма данных предобучения) может привести к среднему улучшению более чем на 3% в производительности подбора на целевом наборе. Эвристика выбора на основе дивергенции JS оказалась эффективной для выбора полезных образцов для дообучения.

4. Ключевые выводы и анализ

Основной вывод: Фунментальный прорыв статьи заключается в признании того, что создание пароля — это специализированная, ограниченная форма генерации естественного языка. Рассматривая его как таковой и применяя современный инструментарий NLP — в частности, архитектуру трансформера и парадигму двухэтапного обучения — авторы достигают смены парадигмы в точности моделирования. Это не просто постепенное улучшение; это методологический скачок, который переопределяет верхнюю границу возможного в вероятностном взломе паролей.

Логическая последовательность: Аргументация убедительно проста: 1) Пароли обладают статистическими и семантическими свойствами, схожими с языком. 2) Самые успешные современные языковые модели используют предварительное обучение на обширных корпусах с последующим дообучением для конкретной задачи. 3) Следовательно, применение этой структуры к паролям должно давать превосходные модели. Экспериментальные результаты на шести различных наборах данных однозначно подтверждают эту логику, показывая стабильный и часто значительный прирост по сравнению с моделями предыдущего поколения, такими как цепи Маркова, и даже более ранними нейронными подходами, такими как RNN и GAN.

Сильные стороны и недостатки: Основная сила — это продемонстрированная производительность, которая впечатляет. Использование дивергенции JS для выбора образцов дообучения — это умная, практичная эвристика. Однако анализ имеет недостатки. Он обходит вниманием вычислительную и «данно-голодную» природу моделей-трансформеров. Предварительное обучение требует массивного, агрегированного корпуса паролей, что вызывает этические и практические вопросы относительно источников данных. Более того, хотя модель превосходит другие, статья не глубоко исследует, почему механизм внимания трансформера настолько лучше подходит для этой задачи, чем, скажем, управляемая память LSTM. Это захват дальних зависимостей или что-то ещё? Этот аспект «чёрного ящика» остаётся.

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

5. Технические детали и математическая формулировка

Модель трансформера в PassTSL использует стек из $N$ идентичных слоёв. Каждый слой имеет два подслоя: механизм многоголового самовнимания и позиционно-полносвязную прямую нейронную сеть. Вокруг каждого подслоя применяются остаточные соединения и нормализация слоя.

Функция самовнимания отображает запрос ($Q$), набор пар ключ-значение ($K$, $V$) в выходные данные. Выход вычисляется как взвешенная сумма значений, где вес, присвоенный каждому значению, определяется функцией совместимости запроса с соответствующим ключом. Для одной головы внимания: $$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$ где $d_k$ — размерность ключей.

Цель предобучения включает предсказание замаскированных токенов. Для входной последовательности пароля $X = (x_1, x_2, ..., x_T)$ случайное подмножество токенов заменяется специальным токеном `[MASK]`. Модель обучается предсказывать исходные токены для этих замаскированных позиций, максимизируя логарифмическое правдоподобие: $$\mathcal{L}_{PT} = \sum_{i \in M} \log P(x_i | X_{\backslash M})$$ где $M$ — множество замаскированных позиций.

Дообучение корректирует параметры модели $\theta$ на целевом наборе данных $D_{ft}$, чтобы минимизировать отрицательное логарифмическое правдоподобие последовательностей: $$\mathcal{L}_{FT} = -\sum_{(X) \in D_{ft}} \log P(X | \theta)$$

6. Структура анализа: Практический пример без кода

Сценарий: Команда безопасности крупной технологической компании хочет оценить устойчивость паролей сотрудников к передовой атаке.

  1. Подготовка данных: Команда легально агрегирует большой, общий корпус паролей из нескольких публичных, анонимизированных источников утечек (для предобучения). Они также получают небольшую, очищенную выборку хэшей паролей своей собственной компании (для дообучения), гарантируя, что аналитикам не будут доступны пароли в открытом виде.
  2. Применение модели: Они развёртывают структуру, подобную PassTSL.
    • Шаг А (Предобучение): Обучают базовую модель-трансформер на общем корпусе. Модель изучает глобальные шаблоны, такие как «password123», «qwerty» и распространённые замены в стиле «leet».
    • Шаг Б (Дообучение): Используя эвристику дивергенции JS, выбирают 0,1% данных предобучения, наиболее статистически схожих с выборкой паролей их компании. Дообучают предварительно обученную модель на этой выбранной подвыборке в сочетании с выборкой компании. Это адаптирует модель к специфичным для компании шаблонам (например, использование внутренних названий продуктов, определённых форматов дат).
  3. Оценка: Дообученная модель генерирует список предположений. Команда сравнивает процент взлома со своими существующими защитами (например, hashcat со стандартными наборами правил). Они обнаруживают, что PassTSL взламывает на 30% больше паролей в пределах первых 10^9 попыток, выявляя значительную уязвимость, которую пропустили традиционные методы.
  4. Действие: На основе вывода модели они определяют наиболее часто угадываемые шаблоны и внедряют целенаправленное изменение политики паролей (например, запрет паролей, содержащих название компании), а также запускают целевую кампанию обучения пользователей.

7. Будущие применения и направления исследований

8. Ссылки

  1. Vaswani, A., et al. (2017). Attention Is All You Need. Advances in Neural Information Processing Systems 30 (NIPS 2017).
  2. Weir, M., et al. (2009). Password Cracking Using Probabilistic Context-Free Grammars. IEEE Symposium on Security and Privacy.
  3. Melicher, W., et al. (2016). Fast, Lean, and Accurate: Modeling Password Guessability Using Neural Networks. USENIX Security Symposium.
  4. Hitaj, B., et al. (2019). PassGAN: A Deep Learning Approach for Password Guessing. Applied Intelligence.
  5. Wheeler, D. L. (2016). zxcvbn: Low-Budget Password Strength Estimation. USENIX Security Symposium.
  6. Devlin, J., et al. (2018). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv preprint arXiv:1810.04805.
  7. Zhu, J.Y., et al. (2017). Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks. IEEE International Conference on Computer Vision (ICCV). (Ссылка на CycleGAN для генеративной концепции).
  8. National Institute of Standards and Technology (NIST). (2017). Digital Identity Guidelines (SP 800-63B). (Для авторитетного контекста по аутентификации).