Выбрать язык

Каноническая мера стойкости пароля: Формализация безопасности против атак подбора

Формальный анализ, предлагающий каноническое определение стойкости пароля на основе эффективности стратегии атакующего, бросая вызов традиционным метрикам безопасности паролей.
strongpassword.org | PDF Size: 0.2 MB
Оценка: 4.5/5
Ваша оценка
Вы уже оценили этот документ
Обложка PDF-документа - Каноническая мера стойкости пароля: Формализация безопасности против атак подбора

1. Введение

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

2. Современное состояние

В статье критикуется текущее состояние безопасности паролей как «мрачное, как средневековая медицина», цитируя наблюдение Брюса Шнайера о том, что многие рекомендации основаны на частных случаях, а не на анализе. Подчёркивается отсутствие удовлетворительного метода измерения стойкости набора паролей, как отмечено в недавней литературе [3]. Распространённые измерители стойкости паролей отвергаются как измеряющие «подражание», а не истинную устойчивость к интеллектуальным атакам.

3. Ключевая идея и логика

Ключевая идея: Стойкость пароля — это не внутреннее свойство строки символов; это реляционное свойство, полностью определяемое стратегией подбора атакующего. Цель защищающейся стороны — не создать «сильный пароль» в вакууме, а создать пароль, который будет плохо работать против набора возможных стратегий атаки, которые может использовать рациональный противник.

Логика рассуждения: Аргументация развивается с формальной точностью:

  1. Определить атаку подбора как упорядоченный список (словарь) кандидатов в пароли.
  2. Доказать, что любые две атаки отличаются только порядком этого списка.
  3. Сделать вывод, что стойкость пароля против конкретной атаки — это его позиция в словаре этой атаки.
  4. Поскольку защищающаяся сторона не знает точного порядка атаки, она должна рассматривать набор правдоподобных атак.
  5. Следовательно, мера стойкости для защищающейся стороны — это математическое ожидание позиции пароля по этому набору атак.
Это меняет парадигму: безопасность моделируется как игра, в которой защищающаяся сторона оценивает пространство стратегий атакующего.

4. Сильные стороны и недостатки

Сильные стороны:

  • Концептуальная строгость: Предоставляет первое формальное, ориентированное на атаку определение стойкости пароля, выходящее за рамки эвристических правил.
  • Основа теории игр: Правильно определяет выбор пароля как стратегическое взаимодействие, согласуясь с современным анализом безопасности, как в исследованиях Теории игр для безопасности.
  • Разоблачает ошибочные эвристики: Эффективно развенчивает политики, ориентированные на соответствие (например, «должен содержать цифру и символ»), которые порождают предсказуемые шаблоны.

Недостатки и ограничения:

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

5. Практические рекомендации

Для специалистов по безопасности эта статья требует смены парадигмы:

  1. Прекратите измерять подражание: Откажитесь от измерителей паролей, которые проверяют только классы символов. Они приучают пользователей создавать пароли, которые сильны против измерителя, а не против атакующего.
  2. Думайте распределениями, а не правилами: Вместо требования символов поощряйте пользователей выбирать пароли из распределения с высокой энтропией, которое вряд ли совпадёт с общими словарями атак (например, используя diceware или менеджеры паролей).
  3. Моделируйте своего противника: Для критически важных систем проводите моделирование угроз, чтобы определить правдоподобные стратегии атак (например, полный перебор, словарь на основе прошлых утечек, целевая личная информация). Настройте политики паролей, чтобы нарушить эти конкретные стратегии.
  4. Примите неопределённость: Признайте, что идеальное измерение стойкости невозможно. Цель — увеличить стоимость и неопределённость для атакующего, а не достичь идеального балла.

6. Техническая основа

6.1 Формальная модель атаки

В статье атака подбора $A$ моделируется как упорядоченная последовательность (словарь) $D_A = (w_1, w_2, w_3, ...)$ кандидатов в пароли, где $w_i$ — слово из конечного алфавита. Атакующий пробует пароли в этом порядке до успеха. Атака является «офлайн», что означает, что интерфейс предоставляет немедленную обратную связь об успехе/неудаче без ограничений.

6.2 Математическая формулировка

Пусть $p$ — конкретный пароль. Для данной атаки $A$ стойкость $p$ определяется как его ранг в $D_A$: $$S_A(p) = \text{rank}_A(p)$$ где $\text{rank}_A(p) = i$, если $p = w_i \in D_A$.

Поскольку защищающаяся сторона не знает точного $A$, она рассматривает набор $\mathcal{A}$ возможных атак. Каноническая стойкость пароля $C(p)$ тогда представляет собой ожидаемый ранг: $$C(p) = \mathbb{E}_{A \sim \mathcal{A}}[\,S_A(p)\,] = \sum_{A \in \mathcal{A}} P(A) \cdot \text{rank}_A(p)$$ где $P(A)$ — вероятность (или правдоподобие), присвоенная атаке $A$ из набора $\mathcal{A}$. Эта формулировка напрямую связывает стойкость с представлениями защищающейся стороны о стратегии атакующего.

7. Результаты экспериментов и анализ

Концептуальный эксперимент и вывод: Хотя сама статья не представляет эмпирических данных из запусков программ, она логически демонстрирует необходимость своей модели через мысленный эксперимент. Показано, что два пароля, «Password123!» и «xQ37!z9pLm», могут получить схожие оценки от наивного измерителя, проверяющего длину и разнообразие символов. Однако «Password123!» будет иметь очень низкий ранг (высокую стойкость) при упорядочении атаки полным перебором, но чрезвычайно высокий ранг (низкую стойкость) в словарной атаке, которая отдаёт приоритет общим базовым словам и шаблонам. Каноническая мера $C(p)$, усредняя по обоим типам атак, выявила бы истинную слабость «Password123!» по сравнению со случайной строкой.

Интерпретация диаграммы (концептуальная): Представьте гистограмму, сравнивающую три метода оценки паролей для выборки:

  • Метод A (Наивный измеритель): Показывает «Password123!» и «xQ37!z9pLm» одинаково сильными.
  • Метод B (Ранг в словарной атаке): Показывает «Password123!» как очень слабый (низкий номер ранга), а «xQ37!z9pLm» как сильный (высокий номер ранга).
  • Метод C (Каноническая мера $C(p)$): Показывает взвешенное среднее. Оценка «Password123!» резко падает из-за высокой вероятности в словарных атаках, в то время как случайная строка сохраняет высокий балл. Эта диаграмма визуально доказывала бы, что $C(p)$ лучше коррелирует с реальной взламываемостью.

8. Аналитическая основа: Пример из практики

Сценарий: Политика паролей компании требует: «Не менее 12 символов, включая прописные и строчные буквы, цифру и символ».

Традиционный анализ: Пароль типа «Summer2024!$» соответствует политике и получает оценку «Сильный» от типичного измерителя.

Анализ канонической меры:

  1. Определить набор атак $\mathcal{A}$:
    • $A_1$: Словарная атака с использованием общих слов («Summer»), сезонов, годов и общих суффиксов символов («!$»). Вероятность: Высокая (0.7).
    • $A_2$: Целевая атака с использованием названия компании, информации о сотрудниках. Вероятность: Низкая для массовой атаки (0.1).
    • $A_3$: Полный перебор пространства из 12 символов. Вероятность: Крайне низкая (0.001).
    • $A_4$: Атака с использованием паролей из предыдущих утечек данных похожих компаний. Вероятность: Средняя (0.199).
  2. Оценить ранги:
    • $\text{rank}_{A1}("Summer2024!$")$: Очень низкий (например, в топ-10 миллионов).
    • $\text{rank}_{A2}(p)$: Может быть низким при целевой атаке.
    • $\text{rank}_{A3}(p)$: Очень высокий (~$95^{12}$).
    • $\text{rank}_{A4}(p)$: Потенциально низкий, если шаблон распространён.
  3. Вычислить $C(p)$: Ожидаемый ранг определяется высоковероятной словарной атакой $A_1$, что приводит к низкому значению канонической стойкости, обнажая провал политики.
Вывод: Политика создаёт предсказуемое распределение. Каноническая основа показывает, что защита требует нарушения этой предсказуемости, возможно, путём требования случайно сгенерированных паролей или использования чёрного списка известных слабых паролей, что напрямую изменяет вероятности в $\mathcal{A}$.

9. Будущие применения и направления

  • Адаптивные политики паролей: Системы могли бы использовать каноническую основу для создания динамических политик. Вместо статических правил серверная служба могла бы оценивать $\mathcal{A}$ на основе текущей разведывательной информации об угрозах (например, новых утекших словарей) и отклонять пароли с низким баллом $C(p)$ против этой обновлённой модели.
  • Интеграция с менеджерами паролей: Менеджеры паролей идеально подходят для реализации этого. Они могут поддерживать локальную модель $\mathcal{A}$ (на основе глобальных данных об утечках и эвристических правил) и использовать её для генерации паролей, максимизирующих $C(p)$. Это превращает теоретическую модель в практическое, прозрачное для пользователя улучшение безопасности.
  • Формальные доказательства безопасности: Модель предоставляет основу для формального доказательства свойств безопасности алгоритмов генерации паролей в академической литературе, аналогично тому, как анализируются алгоритмы шифрования.
  • Гибридные модели угроз: Будущие работы должны интегрировать каноническую меру с реальными ограничениями, такими как ограничение скорости. Тогда набор атак $\mathcal{A}$ будет включать не только порядок паролей, но и стратегии распределения попыток во времени и по учётным записям.
  • Машинное обучение для $\mathcal{A}$: Основная нерешённая проблема — определение набора атак — может быть решена с помощью МО. Системы могли бы обучать модели на реальных попытках взлома и утекших паролях, чтобы непрерывно изучать и обновлять распределение вероятностей $P(A)$ по стратегиям, создавая движущуюся цель для атакующих.

10. Ссылки

  1. Panferov, E. (2016). A Canonical Password Strength Measure. arXiv:1505.05090v4 [cs.CR].
  2. Schneier, B. (2007). Schneier on Security. Wiley.
  3. Bonneau, J. (2012). The Science of Guessing: Analyzing an Anonymized Corpus of 70 Million Passwords. IEEE Symposium on Security and Privacy.
  4. Shannon, C. E. (1948). A Mathematical Theory of Communication. The Bell System Technical Journal.
  5. Florêncio, D., & Herley, C. (2007). A Large-Scale Study of Web Password Habits. Proceedings of the 16th International Conference on World Wide Web.
  6. Ur, B., et al. (2015). Do Users' Perceptions of Password Security Match Reality? Proceedings of the 2015 CHI Conference on Human Factors in Computing Systems.
  7. NIST Special Publication 800-63B (2017). Digital Identity Guidelines: Authentication and Lifecycle Management.
  8. Wang, D., et al. (2016). The Tangled Web of Password Reuse. NDSS Symposium 2016.