Парольная аутентификация: выбор между безопасностью и надежностью

 

Гуданец Н.Л.,
Рижский институт транспорта и связи,
Латвия, г. Рига

 


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


Это настолько известно и очевидно, что библиографические ссылки излишни.


Понятие удобства лежит в области психологического, отчасти индивидуального и воспринимаемого интуитивно, поэтому крайне трудно дать ему точное математическое описание.


Точно так же трудно перевести на язык чисел такую обширную и многосоставную сущность, как степень безопасности информационной системы (или даже одного её компонента). См. напр. у В.В. Домарева [1] и также И.В. Яцкив [2].


Широко применяемый метод оценки уязвимости информации Хоффмана [3], по-моему, имеет, кроме статуса классического, серьёзный недостаток, поскольку нет строгой формализации используемых в нём весов и/или диапазонов весов. Но это не вина автора, а общая беда экспертного сообщества.


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


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


Криптоаналитическая атака на полученный взломщиком хэш пароля производится путём перебора (brute force attack). Значит, как отмечает Б. Шнайер [4, с. 22], величиной, определяющей безопасность (т.е. криптостойкость) пароля, будет количество операций, требуемых для анализа всех вариантов.


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


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


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


Как известно, меру неупорядоченности (информационную двоичную энтропию) возможных событий H можно рассчитать по формуле энтропии Клода Шеннона [5]:

 

                                                                                       (1)

 

Здесь энтропия рассматривается как вероятность состояния.


Возможные состояния пароля от 1 до n вычисляются как


n = mk


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


Функцию вероятности события pi мы смело можем элиминировать. Дело в том, что при взломе пароля путём перебора (brute force attack) каждый последующий символ из числа используемых считается равновероятным (применить теорему Шеннона к тексту сообщения на конкретном языке намного сложнее).


Следовательно, коэффициент частной энтропии для каждого i–го случая заведомо равен единице. Это предельно упрощает нашу модель.


Таким образом, степень уязвимости пароля V вычисляется, исходя из размера набора символов и длины пароля, по формуле:


V = 1/mk


Получаем текущий уровень безопасности S, производный от степени уязвимости, равный вычислительной стойкости (Подробнее о вычислительной стойкости см. у В. Столлингса, [6, 322-323]):


S = 1 – V


Соответственно, удобство будет равно:


C = 1 – S

Как видим, аналитическая модель получается на редкость простой.


Рассмотрим случай с нулевым паролем (вход в систему по нажатию «Enter»):


Поскольку ноль в нулевой степени равен единице, уровень безопасности получается нулевой: S = 1 – 1/00. Но коэффициент удобства максимален, С = 1/1.


Применим нашу модель к паролю из шести цифр. Получаем:


Энтропия пароля 106 = 1000000;


коэффициент удобства = 0,999999;


уровень безопасности = 0,000001;


Наглядно, не правда ли?


Отметим, что согласно недавнему исследованию Д. Евтеева [7], на долю цифровых паролей пришлось около 53% от числа всех проанализированных паролей. А пароли длиной в шесть символов используют 27,22% пользователей. Это количество представляется внушительным, а соответствующий уровень безопасности повергает в оторопь.


Интересно формализовать проблему безопасности паролей LAN Manager. Его алгоритм хэширования предварительно приводит алфавитные символы к верхнему регистру. Это несомненно удобнее, ведь пользователь может ненароком нажать Caps Lock, но его пароль всё равно окажется валидным. Но остроумное решение, рассчитанное на растяп, оборачивается серьезной уязвимостью


Допустим, пароль состоит из шести символов. (Напомню, это пароли у примерно 27% процентов российских пользователей.)


При максимальном количестве исходных клавиатурных символов, равном 95 (алфавитные символы, цифры, метасимволы), степень уязвимости пароля при энтропии 956 , равной 735091890625, составит округленно  0,13*10-11.


А LAN Manager фактически использует набор из 69 символов (ибо строчные и прописные символы английского алфавита равнозначны). И тут степень уязвимости пароля (энтропия 696, или 107918163081) будет 0,93*10-11, то есть выше в 7,15 раз.


Разница внушительная.


(Необходимое пояснение. LAN Manager вовсе не седая архаика. Семейство операционных систем MS Windows использует систему аутентификации NTLM v. 2, но вплоть до выхода версии Windows Vista пользовательские пароли по умолчанию параллельно хэшировались и хранились в формате LAN Manager.)


Наконец, рекомендуемая на сегодня авторитетным институтом SANS (www.sans.org) длина пароля равна 15 (!) символам [8]. (Десять лет тому назад SANS рекомендовал длину пароля 8 символов. Но потенциальные ресурсы взломщиков прирастают с каждым годом.)


Энтропия пароля 9515 (равная 463291230159753366058349609375) понижает удобство до использования до пугающе низкого коэффициента 0,785*10-29. Зато степень уязвимости снизится до 0,21*10-29, внушительная дробь!


По сравнению с уязвимостью пароля из шести символов мы наблюдаем разницу в 18 порядков.


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

 

  1. Не использовать один пароль дважды.
  2. Не создавать пароли типа qwerty или 12345 — быстрой пробежкой пальцев по клавиатуре.
  3. Составлять пароли при помощи мнемотехники (взяв за основу начальные буквы слов из стихотворных строчек или афоризмов, добавляя к ним памятные даты, например, день и месяц рождения матери, плюс обязательные метасимволы в начале, в конце и в середине).

Этому я учу своих студентов.


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


В заключение позволю себе суждение общего порядка.


Согласно убедительной классификации А. Лукацкого [9, с. 34], есть три категории уязвимостей: проектирования, реализации и конфигурации.


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


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

 

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

Рига, 2012 г.

 

Основой статьи послужили лекции автора по курсу «Защита данных», преподаваемого в Институте транспорта и связи, Латвия, Рига.

 

Библиографический список
 

  1. Домарев В.В. "Безопасность информационных технологий. Методология создания систем защиты" – К.: ООО "ТИД "ДС", 2002 – 688 с. Часть II. Глава 6. Математические модели систем и процессов защиты информации
  2. Яцкив И.В. Моделирование систем: Опорный конспект лекций. Рига: Институт транспорта и связи, 2002. — 86 с.
  3. Хоффман Л.Дж. Современные методы защиты информации / Пер. с англ. – М.: Советское радио, 1980. — 264 с.
  4. Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = Applied Cryptography. Protocols, Algorithms and Source Code in C. — М.: Триумф, 2002. — 816 с.
  5. Claude Elwood Shannon, «A Mathematical Theory of Communication», Bell System Technical Journal, vol 27, p. 390, July, October 1948.
  6. В. Столлингс. Криптография и защита сетей: принципы и практика. — М.-СПб.-Киев: Вильямс, 2001. 2-е изд. — 672 с.
  7. Д. Евтеев. Анализ проблем парольной защиты в российских компаниях. SecurityLab.ru, 29 июня, 2009. http://www.securitylab.ru/analytics/381943.php
  8. Password Policy. SANS Institute, 4.2.A. General Password Construction Guidelines.
  9. http://www.sans.org/security-resources/policies/Password_Policy.pdf
  10. Лукацкий А.В. Обнаружение атак— СПб.: БХВ-Петербург, 2001.— 624 с.