Какой пароль защитит от взлома, или энтропия на службе секретности
www.samag.ru
Журнал «БИТ. Бизнес&Информационные технологии»      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

Jobsora


  Опросы
1001 и 1 книга  
12.02.2021г.
Просмотров: 6623
Комментарии: 0
Коротко о корпусе. Как выбрать системный блок под конкретные задачи

 Читать далее...

11.02.2021г.
Просмотров: 7116
Комментарии: 0
Василий Севостьянов: «Как безболезненно перейти с одного продукта на другой»

 Читать далее...

20.12.2019г.
Просмотров: 13941
Комментарии: 0
Dr.Web: всё под контролем

 Читать далее...

04.12.2019г.
Просмотров: 13819
Комментарии: 9
Особенности сертификаций по этичному хакингу

 Читать далее...

28.05.2019г.
Просмотров: 15217
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Какой пароль защитит от взлома, или энтропия на службе секретности

Статьи / Какой пароль защитит от взлома, или энтропия на службе секретности

Автор: Владимир Брюков

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

Самые уязвимые пароли

Так, компания SplashData, занимающаяся вопросами компьютерной безопасности, опубликовала по итогам минувшего года рейтинг 25 самых популярных, а, следовательно, и самых раскрываемых паролей. Рейтинг составлен на основе информации о похищенных и раскрытых хакерами данных.

Заметим, что длина топ-25 самых популярных паролей находилась в диапазоне от 6 до 8 знаков. Причем, в 6 самых популярных паролях были только арабские цифры, в 16 – только строчные буквы латинского алфавита и лишь в трех паролях наблюдалось сочетание строчных букв с арабскими цифрами.

С точки зрения взлома методом полного перебора (brute-force attack) устойчивость пароля к хакерским атакам сильно зависит как от его длины, так и от используемого набора знаков. Энтропия пароля (сложность пароля, измеряемая в битах), сгенерированного случайным образом, находится по следующей формуле:

 Формула 1 (1)
 
где:
  • L – набор символов в пароле;
  • N – количество символов в используемом алфавите;
  • ln – натуральный логарифм, т.е. логарифм по основанию е = 2,71828…

В частности, энтропия самого легкого для взлома пароля 123456 находится следующим образом:

 Вычисление 1

В то время как энтропия пароля trustno1, т.е. относительно сложного пароля из топ-25 самых популярных паролей, равна 41,4 битам. Вполне очевидно, что чем меньше сложность пароля, измеренная в битах, тем легче его взломать методом полного перебора.

Тем не менее главной ахиллесовой пятой 25 самых популярных паролей является не столько их длина и ограниченный набор символов, используемых для их составления, сколько вполне очевидная их уязвимость перед взломом, так называемым методом догадки (key-guessing attack). Например, 10 паролей представляют собой часто используемые в английском языке слова, пять паролей содержат соседние цифры, два пароля – соседние буквы на клавиатуре, а еще два пароля – популярные имена.

Таким образом представленная в таблице 1 энтропия пароля, сгенерированного случайным образом, для топ-25 самых популярных паролей представляется завышенной оценкой их сложности, т.к. не учитывает их уязвимости к взлому методом догадки.

Таблица 1. Топ 25 самых популярных паролей

Рейтинг популярности Пароль Уязвимость к взлому методом догадки Количество знаков Используемый набор знаков Доступный выбор символов Энтропия пароля, сгенерированного случайным образом, в битах
1  password пароль 8 Строчные латинские буквы 26 37,6
2 123456 соседние цифры 6 Арабские цифры 10 19,9
3 12345678 соседние цифры 8 Арабские цифры 10 26,6
4  qwerty соседние цифры 6 Строчные латинские буквы 26 28,2
5  abc123 первые буквы алфавита и первые три цифры 6 Арабские цифры + строчные латинские буквы 36 31,0
6  monkey обезьянка 6 Строчные латинские буквы 26 28,2
7 1234567 соседние цифры 7 Арабские цифры 10 23,3
8  letmein Позвольте мне вoйти 7 Строчные латинские буквы 26 32,9
9  trustno1 траст № 1 8 Арабские цифры + строчные латинские буквы 36 41,4
10  dragon дракон 6 Строчные латинские буквы 26 28,2
11  baseball бейсбол 8 Строчные латинские буквы 26 37,6
12 111111 одна и та же цифра 6 Арабские цифры 10 19,9
13  iloveyou я люблю тебя 8 Строчные латинские буквы 26 37,6
14  master хозяин 6 Строчные латинские буквы 26 28,2
15 sunshine солнечный свет 8 Строчные латинские буквы 26 37,6
16  ashley имя 6 Строчные латинские буквы 26 28,2
17  bailey стена замка 6 Строчные латинские буквы 26 28,2
18  passw0rd пар0ль 8 Арабские цифры + строчные латинские буквы 36 41,4
19  shadow тень 6 Строчные латинские буквы 26 28,2
20 123123 соседние цифры 6 Арабские цифры 10 19,9
21 654321 соседние цифры 6 Арабские цифры 10 19,9
22  superman супермен 8 Строчные латинские буквы 26 37,6
23  qazwsx соседние цифры 6 Строчные латинские буквы 26 28,2
24  michael имя 7 Строчные латинские буквы 26 32,9
25  football футбол 8 Строчные латинские буквы 26 37,6

Источник: компания SplashData и расчеты автора

Секрет успеха атаки по словарю и именам собственным

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

С этой целью возьмем три имени из частотного списка русских собственных имен ‑ Владимир, Челябинск и Терек (каждое из этих имен расположено, соответственно, ближе к началу, середине и концу частотного списка). Поскольку предполагается, что пароль заполняется строчными латинскими буквами, то после транслитерации пароли из этих имен будут написаны пользователем следующим образом ‑ vladimir, chelyabinsk и terek.

Энтропия пароля, составленного из списка имен, находится по следующей формуле:

 Формула 2 (2)
 
где:
  • L=1 – поскольку в пароле содержится одно имя;
  • Rn – номер рейтинга имени в частотном списке имен соответствующего национального языка.

В частности, энтропия пароля vladimir (в частотном рейтинге русских имен занимает 9 место) для случая атаки на него по частотному списку имен находится следующим образом:

 Вычисление 2

Величину энтропии у паролей chelyabinsk и terek – при атаке на них по частотному списку имен – можно посмотреть в таблице 2.

Далее из частотного словаря русского языка позаимствуем три слова, расположенных ближе к началу, середине и концу частотного списка – человек (chelovek), минеральный (mineralnyj) и пытливый (pytlivyj). Аналогичным образом возьмем три слова из частотного словаря английского языка – govern, constant и wildlife. Далее определим энтропию этих паролей, исходя из следующей формулы:

 Формула 3 (3)
 
где:
  • L=1 – поскольку в пароле содержится одно слово;
  • Rw – номер рейтинга слова в частотном списке словаря соответствующего национального языка;
  • fw – реднее число словоформ, приходящихся на одно базовое слово (слово в единственном числе и именительном падеже).

Для справки заметим, что среднее число словоформ, приходящихся на одно базовое слово, найдено автором этих строк путем статистического анализа словарей русского и английского языка методом случайной выборки. В результате нами было установлено, что для русского языка fw =8,9, а для английского языка fw = 2,7.

Таким образом энтропия пароля chelovek (в частотном рейтинге занимает 39 место) для случая атаки на него по частотному списку русских слов находится следующим образом:

Вычисление 3

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

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

Таблица 2. Снижение энтропии в случае использования в качестве пароля имен и слов.

Слова и имена пароля Рейтинг по частоте использования в соответствующем словаре или перечне имен Количество символов в пароле Доступный набор символов Энтропия пароля в случае его атаки методом полного перебора Энтропия пароля в случае его атаки по словарю или по списку имен
vladimir 9 8 33 40,4 3,2
chelyabinsk 1061 9 33 45,4 10,1
terek 2299 6 33 30,3 11,2
chelovek 39 7 33 35,3 8,4
mineralnyj 5406 11 33 55,5 15,6
pytlivyj 19995 8 33 40,4 17,4
 govern 173 6 26 28,2 8,9
constant 2245 8 26 37,6 12,6
wildlife 4979 8 26 37,6 13,7

Источник: расчеты автора

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

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

В этом случае для оценки энтропии пароля следует использовать формулу (1), из которой легко можно сделать вывод, что максимальная энтропия у паролей, составленных из различных наборов символов, достигается в том случае, когда длина пароля равна доступному набору символов. Например, максимальная энтропия у пароля, составленного из арабских цифр, будет достигнута при длине пароля в 10 символов, т.к. в этом случае доступный набор равен 10 символам.

Вычисление 4

Максимальную энтропию пароля при использовании других наборов символов можно посмотреть в таблице 3. Например, для пароля, составленного из арабских цифр, латинского алфавита с регистром и со специальными символами (включая пробел), максимальная энтропия достигается при длине пароля в 95 символов и равна 624,14 битам.

Вполне очевидно, что столь большую длину пароля довольно трудно использовать на практике. Но из таблицы 3 нетрудно сделать вывод, что при росте доступного набора символов энтропия на один знак пароля существенно возрастает. Если для пароля, состоящего только из арабских цифр, энтропия с каждым введенным символом увеличивается лишь на 3,322 бита, то для пароля, составленного из арабских цифр, латинского алфавита с регистром и со специальными символами (включая пробел), этот рост составляет уже 6,570 бита.

Таблица 3. Рост энтропии пароля, сгенерированного случайным образом, в зависимости от величины доступного набора символов

Набор символов для пароля Доступный набор символов, в ед. Энтропия пароля сгенерированного случайным образом, в битах Энтропия пароля на 1 символ, в битах Максимальное количество возможных комбинаций пароля, в ед.
Арабские цифры 10 33.22 3.322 1.000*1010
Латинский алфавит без регистра 26 122.21 4.700 6.156*1036
Арабские цифры + латинский алфавит без регистра 36 186.12 5.170 1.064*1056
Латинский алфавит с регистром 52 296.42 5.700 1.707*1089
Арабские цифры + латинский алфавит с регистром 62 369.16 5.954 1.344*10111
Арабские цифры + латинский алфавит с регистром + спец. символы 95 624.14 6.570 7.651*10187

Источник: расчеты автора

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

 Формула 4 (4)
 
где:
  • L – набор символов в пароле;
  • N – общее количество символов в алфавите.

Например, максимальное количество возможных комбинаций пароля для пароля из 10 символов, составленного из арабских цифр с доступным набором из 10 символов, равняется 1010 = 10 000 000 000 = 1,0*1010 (для удобства большие цифры даются в экспоненциальном виде). В свою очередь, максимальное количество возможных комбинаций пароля для пароля из 95 символов, составленного из арабских цифр, латинского алфавита с регистром и со специальными символами (включая пробел), равняется 9595 = 7,651*10187.

Данные по максимальному количеству возможных комбинаций пароля при различном наборе символов представлены в таблице 3. Впрочем, пользователя все-таки больше интересует количество возможных комбинаций при более приемлемой длине пароля в диапазоне от 4 до 15 символов, которые даются в таблице 4. При этом следует заметить, что уже при длине пароля в четыре знака количество возможных комбинаций для пароля, составленного из арабских цифр, латинского алфавита с регистром и со специальными символами, количество возможных комбинаций в 8145,1 раза выше, чем для пароля, составленного только из арабских цифр. В то время как при длине пароля в 10 символов вышеуказанное превышение уже достигает 5987369392,4 раза или 5,987*109 раза.

Таблица 4. Рост количество возможных комбинаций пароля (в ед.) в зависимости от его длины

Количество символов в пароле, в ед. Арабские цифры Латинский алфавит без регистра Арабские цифры + латинский алфавит без регистра Латинский алфавит с регистром Арабские цифры + латинский алфавит с регистром Арабские цифры + латинский алфавит с регистром + спец. символы
4 10000 456976 1679616 7311616 14776336 81450625
5 100000 11881376 60466176 3,8*108 9,16*108 7,738**109
6 1000000 3,089*108 2,177*109 1,977*1010 5,680*1010 7,351**1011
7 10000000 8,032*109 7,836*1010 1,028*1012 3,522*1012 6,983*1013
8 100000000 2,088*1011 2,821*1012 5,346*1013 2,183*1014 6,634*1015
9 1000000000 5,430*1012 1,016*1014 2,780*1015 1,354*1016 6,302*1017
10 1,000*1010 1,412*1014 3,656*1015 1,446*1017 8,393*1017 5,987*1019
11 - 3,670*1015 1,316*1017 7,517*1018 5,204*1019 5,688*1021
12 - 9,543*1016 4,738*1018 3,909*1020 3,226*1021 5,404*1023
13 - 2,481*1018 1,706*1020 2,033*1022 2,000*1023 5,133*1025
14 - 6,451*1019 6,141*1021 1,057*1024 1,240*1025 4,877*1027
15 - 1,677*1021 2,211*1023 5,496*1025 7,689*1026 4,633*1029

Источник: расчеты автора

Как создать пароль, неуязвимый к атаке по словарю или методом догадки

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

С этой целью необходимо пронумеровать всю доступную пользователю совокупность символов. Например, арабским цифрам от 0 до 9 можно присвоить первые 10 цифр, строчным латинским буквам – порядковые цифры от 11 до 36, прописным латинским буквам – от 37 до 62. В свою очередь, специальные символы можно пронумеровать от 63 до 94 в порядке их расположения на клавиатуре слева направо, сначала обозначив знаки, вводимые в нижнем регистре, затем те, что вводятся с верхнего регистра, а последнюю цифру 95 оставить для пробела.

Далее следует воспользоваться пакетом анализа в программе Excel с помощью функций «Анализ данных/Генерация случайных чисел». В результате на экране компьютера появится следующее диалоговое мини-окно – см. рис. 1. Если пользователь хочет сгенерировать случайным образом пароль из 8 символов, состоящий только из арабских цифр, то данное мини-окно надо будет заполнить следующим образом:

  • Число переменных – 1.
  • Число случайных цифр – 8.
  • Параметры между 1 и 10.
  • Выходной интервал (указать новый рабочий лист, новую рабочую книгу, либо место ввода на текущем листе Excel).

Щелкаем в мини-окне кнопку ОК и в результате получаем случайным образом сгенерированные цифры 3,8,3, 9, 4. 4, 2 и 8. С учетом того что порядковой цифрой 1 у нас обозначен 0, 2 ‑ 1, 3 ‑ 2… в результате получается пароль, состоящий из арабских цифр: 27283317.

Рисунок  1.  Пакет анализа в программе Excel, функция «Анализ данных/Генерация случайных чисел»

Рисунок  1.  Пакет анализа в программе Excel, функция «Анализ данных/Генерация случайных чисел»

Если пользователь хочет сгенерировать случайным образом пароль из 8 символов, состоящий из арабских цифр, латинских строчных и прописных букв, а также специальных символов, включая пробел, то опцию «Параметры между» нужно будет заполнить несколько иначе, параметры между 1 и 95. Во всем остальном действуем аналогичным образом. Проведя все необходимые операции, записываем в таблице 5 восьмизначные пароли, сгенерированные для различных наборов символов.

Таблица 5. Восьмизначные пароли, созданные в Excel с помощью функции «Генерация случайных чисел»

Порядок случайной генерации символов пароля Арабские цифры Латинский алфавит без регистра Арабские цифры + латинский алфавит без регистра Латинский алфавит с регистром Арабские цифры + латинский алфавит с регистром Арабские цифры + латинский алфавит с регистром + спец. символы
1 2 a 0 a 0 t
2 7 w 6 T S w
3 2 s c M J $
4 8 o 9 C x z
5 3 w u U T 7
6 3 p b F B L
7 1 l 3 x r E
8 7 u 9 P N e
Величина энтропии пароля 26,6 бита 37,6 бита 41,4 бита 45,6 бита 47,6 бита 52,6 бита

Источник: расчеты автора

Судя по таблице 5, величина энтропии у пароля 27283317, сгенерированного случайным образом только из одних арабских цифр, оказалась существенно выше, чем энтропия у пароля pytlivyj (хотя это слово занимает лишь 19995 место в частотном словаре), поддающегося атаке по словарю.

Учет уровня хакерской угрозы

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

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

Начнем с IV (достаточно часто встречающегося) уровня угрозы. Допустим, хакер, использующий Pentium/200 МГц, сумел довести скорость подбора пароля до 12 млн. комбинаций в секунду (см. «Шифрование информации» – на сайте http://anx-int.narod.ru).

Далее определим III уровень угрозы, предположив, что хакер использует рабочую станцию на архитектуре Intel Core i5-2500K (Sandy Bridge), которая может обрабатывать около 28 млн. комбинаций в секунду. При этом вычисления производятся с помощью центрального процессора, но без использования видеокарты (см. «Взлом пароля с помощью видеокарты» – на сайте http://www.thg.ru).

II уровень угрозы. Применение видеокарт (graphics processing unit или GPU) существенно ускоряет время поиска ключа к паролю на современных многоядерных компьютерах, поскольку это позволяет оптимизировать процесс решения параллельно запущенных задач. На той же рабочей станции с архитектурой Intel Core i5-2500K (Sandy Bridge) с использованием видеокарты GeForce GTX 460, скорость перебора комбинаций достигает 516 млн. в секунду (см. «Взлом пароля с помощью видеокарты» – на сайте http://www.thg.ru).

I уровень угрозы. В 1998 году компания Electronic Frontier Foundation чтобы проверить надежность стандарта шифрования DES вложила 250 тыс. долл. в создание машины Deep Crack («Глубокий взлом»), работавшей в тандеме с более чем 1 800 чипов AWT-4500, которая могла просматривать около 92 млрд. паролей в секунду. В 2006 году появился новый супервзломщик – COPACOBANA, которая работает не только с DES, но и с другими кодами шифрования. Главное преимущество новой машины в том, что она – благодаря быстрому прогрессу в технологии изготовлений интегральных схем –существенно дешевле Deep Crack, но работает с такой же скоростью (см. «EFF DES cracker» – на сайте http://en.wikipedia.org, а также сайт http://www.copacobana.org).

Таблица 6. Время для взлома восьмизначных паролей при различном уровне хакерской угрозы

Уровень угрозы Арабские цифры Латинский алфавит без регистра Арабские цифры + латинский алфавит без регистра Латинский алфавит с регистром Арабские цифры + латинский алфавит с регистром Арабские цифры + латинский алфавит с регистром + спец. символы
IV 8,3 сек. 4,8 час. 2,7 сут. 51,6 сут. 210,6 сут. 17,5 год
III 3,6 сек. 2,1 час. 1,2 сут. 22,1 сут. 90,3 сут. 7,5 год
II 0,2 сек. 6,7 мин. 1,5 час. 1,2 сут. 4,9 сут. 148,8 сут.
I 0,0 сек. 2,3 сек. 30,7 сек. 9,7 мин. 39,6 мин. 20,0 час.

Источник: расчеты автора

Судя по таблице 6, случайно сгенерированные восьмизначные пароли, составленные только из арабских цифр, даже при IV уровне хакерской угрозы не могут продержаться более 8,3 секунды при атаке методом полного перебора, а при I уровне угрозы они взламываются немедленно.

Относительно устойчивым к IV и III уровням угроз является восьмизначный пароль, составленный из арабских цифр и латинского алфавита с регистром. Тем не менее при IV уровне угрозы этот пароль надо менять один раз в 3-3,25 месяца, а при III уровне – один раз в 1-1,25 месяца (поскольку на практике подбор ключа к паролю в среднем занимает половину времени, необходимого для полного перебора комбинаций).

Восьмизначный пароль, составленный из арабских цифр, латинского алфавита с регистром и специальных символов, можно считать надежным при IV, III и II уровнях хакерских угроз. Правда, при II уровне угрозы этот пароль следует менять один раз в 2-2,25 месяца.

В заключение автор попробовал подсчитать для каждого набора символов длину пароля, устойчивую к наиболее высокому I уровню хакерской угрозы. Замечу сразу, что при таком уровне для взлома десятизначного пароля, состоящего только из арабских цифр, хакеру потребуется лишь 0,11 секунд. В то время как пароль, состоящий из букв латинского алфавита (без регистра), уже при длине в 13 и 14 символах потребует для взлома, соответственно, 312,1 дней и 22,2 года.

В случае I уровня угрозы пароль, состоящий из арабских цифр и букв латинского алфавита (без регистра), при длине в 11 символов потребует для взлома 1,6 года, а при 12 символах – 58,8 лет. Пароль, составленный из латинских букв с регистром, при длине 11 и 12 символов потребует для взлома, соответственно, 2,6 и 134,6 года. Пароль из арабских цифр и латинского алфавита с регистром при длине в 10 и 11 символах потребует для взлома, соответственно, 105,6 дней и 17,9 лет. И, наконец, пароль, состоящий из арабских цифр, латинского алфавита с регистром и специальных символов, уже при длине в 9 символов потребует для взлома 79,8 дней, а при длине в 10 символов – 20,6 года.

Комментарии отсутствуют

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru