Многие люди в качестве PIN-кода используют год своего рождения (или юбилея). Запоминать подобные PIN-коды, конечно же, легче, но и их предсказуемость при этом тоже значительно повышается.
Знаменательные даты
Многие из высокочастотных PIN-кодов можно интерпретировать, как года, например, 1967, 1956, 1937… Похоже, что многие люди в качестве PIN-кода используют год своего рождения (или юбилея). Запоминать подобные PIN-коды, конечно же, легче, но и их предсказуемость при этом тоже значительно повышается.
Ниже изображен график, на котором желтым цветом помечены PIN-коды, которые имеют вид 19??:
Если бы все пароли были распределены равномерно, то мы бы не наблюдали никакой разницы между вероятностью, скажем, пароля 1972 и вероятностью любого другого пароля, оканчивающегося на 72 (??72). Но на самом деле все совсем иначе. Пароль 1972 занимает 76 место с вероятностью 0.099363%. Ниже на гистограмме изображена частота появления паролей ??72 относительно пароля 1972:
На графике сильно выделяется пик у 1972 (а также более слабые пики у 7272 и 1472).
Если мы посчитает отношение частоты появления пароля 1972 к средней частоте появления других паролей вида ??72, то получим 22:1.
PIN-коды, начинающиеся с 19??, встречаются гораздо чаще других PIN-кодов. И лидерство принадлежит не только паролю 1972. Ниже на графике изображено соотношение частотности паролей вида ”19??” к частотности паролей вида “не-19??” для всех 100 возможных комбинаций. На оси OХ отложены все возможные значения последних двух цифр (XX) в PIN-коде; для каждого из вариантов было посчитано, насколько чаще встречается пароль 19XX по отношению к паролю ??XX:
Очень похоже на демографический график (судя по красной прерывистой линии)! График также довольно правдоподобно отражает возрастную аудиторию различных веб-сайтов. Хакеры, безусловно, тоже пробуют год рождения, пытаясь подобрать PIN-код. Имея в своем распоряжении вышеуказанный граф, хакеры могут увеличить свое преимущество почти в 40 раз!
Практически для всех случаев пропорция больше 1,0. Но есть и исключения: у паролей ??00 и ??34 пропорция меньше 1,0. Такое расхождение можно объяснить популярностью паролей 1234 и 0000 (по сравнению с которыми вероятность паролей 1934 и 1900 ничтожно мала). Аналогично, пропорция паролей 1933, 1944, 1955, 1966 ниже ожидаемого значения из-за популярности паролей из четырех одинаковых цифр (3333, 4444, 5555, 6666, и.т.п.).
Пики также можно наблюдать у часто используемых PIN-кодов 1919, 1984 и 1999.
Закономерности
Карта интенсивности – это еще один неплохой способ визуализировать частоты использования PIN-кодов. На карте интенсивности, изображенной слева, по оси ОХ отложены первые две цифры PIN-кода, а по оси OY – последние две цифры. Нижний правый угол соответствует PIN-коду 0000, а правый верхний угол – PIN-коду 9999.
Цвета отражают частоту использования. Самым часто встречающимся паролям соответствуют цвета от желтого до белого, а самым редким паролям – от красного до черного.
Заметка специально для гиков: применялось логарифмическое масштабирование.
Можно часами любоваться картинкой!
Яркая линия по главной диагонали показывает любимые многими людьми PIN-коды с повторяющимися цифрами: 0000, 0101, 0202, …, 5454, 5555, 5656, …, 9898, 9999.
Каждая одиннадцатая точка на главной диагонали чуть ярче остальных, что свидетельствует о высокой частоте использования паролей из четырех одинаковых цифр, например 4444, 5555, и.т.п. Вот увеличенная версия карты интенсивности:
Интересные наблюдения
Из карты интенсивности можно узнать множество интересных вещей! Вот всего несколько из них.
Более светлые участки соответствуют парам, цифры в которых располагаются близко друг к другу. По какой-то причине людям не нравится выбирать цифры, расположенные далеко друг от друга. Комбинации типа 45 и 67 встречаются намного чаще, чем комбинации 29 и 37.
Сейчас слева на рисунке выделена линия с паролями вида 19XX. Высокая частота подобных паролей комментировалась выше. Заметьте, что чем выше линия, тем она светлее.
Часто встречаются повторяющие пары цифр, например XYXY. Сотня паролей с повторяющимися парами цифр составляет целых 17,8% от всей выборки!
Больше четырех
Целью настоящей статьи было исследование закономерностей и частоты использования различных четырехзначных паролей. Но база данных, которая оказалось в моем распоряжении, содержала все цифровые пароли различной длины. Я думаю, нелишним будет взглянуть и на распределение паролей с длиной большей, чем 4.
Всего я нашел около 7 миллионов цифровых паролей. Примерно половину из них составляли четырехзначные пароли, анализ которых мы уже провели. На втором месте находятся шестизначные пароли, тройку лидеров замыкают восьмизначные пароли.
Я очень, очень сильно надеюсь, что люди с девятизначными паролями не используют в качестве пароля свой номер социального обеспечения!
Ниже в таблице приведены 20 самых популярных паролей каждой длины, а также их доля в пространстве всех паролей той же длины.
# |
5 |
6 |
7 |
8 |
9 |
10 | ||||||
|
PSWD |
% |
PSWD |
% |
PSWD |
% |
PSWD |
% |
PSWD |
% |
PSWD |
% |
#1 |
12345 |
22.802% |
123456 |
11.684% |
1234567 |
3.440% |
12345678 |
11.825% |
123456789 |
35.259% |
1234567890 |
20.431% |
#2 |
11111 |
4.484% |
123123 |
1.370% |
7777777 |
1.721% |
11111111 |
1.326% |
987654321 |
3.661% |
0123456789 |
2.323% |
#3 |
55555 |
1.769% |
111111 |
1.296% |
1111111 |
0.637% |
88888888 |
0.959% |
123123123 |
1.587% |
987654321 |
2.271% |
#4 |
00000 |
1.258% |
121212 |
0.623% |
8675309 |
0.465% |
87654321 |
0.815% |
789456123 |
1.183% |
1111111111 |
2.087% |
#5 |
54321 |
1.196% |
123321 |
0.591% |
1234321 |
0.220% |
00000000 |
0.675% |
999999999 |
0.825% |
1029384756 |
1.293% |
#6 |
13579 |
1.112% |
666666 |
0.577% |
0000000 |
0.188% |
12341234 |
0.569% |
147258369 |
0.591% |
9876543210 |
0.971% |
#7 |
77777 |
0.618% |
000000 |
0.521% |
4830033 |
0.158% |
69696969 |
0.348% |
741852963 |
0.455% |
0000000000 |
0.942% |
#8 |
22222 |
0.454% |
654321 |
0.506% |
7654321 |
0.154% |
12121212 |
0.320% |
111111111 |
0.425% |
1357924680 |
0.479% |
#9 |
12321 |
0.412% |
696969 |
0.454% |
5201314 |
0.128% |
11223344 |
0.293% |
123454321 |
0.413% |
1122334455 |
0.441% |
#10 |
99999 |
0.397% |
112233 |
0.417% |
0123456 |
0.124% |
12344321 |
0.275% |
123654789 |
0.378% |
1234512345 |
0.402% |
#11 |
33333 |
0.338% |
159753 |
0.283% |
2848048 |
0.124% |
77777777 |
0.262% |
147852369 |
0.356% |
1234554321 |
0.380% |
#12 |
00700 |
0.261% |
292513 |
0.250% |
7005425 |
0.120% |
99999999 |
0.223% |
111222333 |
0.304% |
5555555555 |
0.259% |
#13 |
90210 |
0.244% |
131313 |
0.235% |
1080413 |
0.111% |
22222222 |
0.219% |
963852741 |
0.255% |
1212121212 |
0.244% |
#14 |
88888 |
0.217% |
123654 |
0.228% |
7895123 |
0.107% |
55555555 |
0.205% |
321654987 |
0.253% |
9999999999 |
0.231% |
#15 |
38317 |
0.216% |
222222 |
0.212% |
1869510 |
0.102% |
33333333 |
0.176% |
420420420 |
0.241% |
2222222222 |
0.219% |
#16 |
09876 |
0.185% |
789456 |
0.209% |
3223326 |
0.100% |
44444444 |
0.165% |
07007007 |
0.227% |
7777777777 |
0.206% |
#17 |
44444 |
0.179% |
999999 |
0.194% |
1212123 |
0.096% |
66666666 |
0.160% |
135792468 |
0.164% |
3141592654 |
0.195% |
#18 |
98765 |
0.169% |
101010 |
0.190% |
1478963 |
0.088% |
11112222 |
0.140% |
397029049 |
0.158% |
3333333333 |
0.186% |
#19 |
01234 |
0.160% |
777777 |
0.188% |
2222222 |
0.085% |
13131313 |
0.131% |
012345678 |
0.154% |
7894561230 |
0.165% |
#20 |
42069 |
0.154% |
007007 |
0.186% |
5555555 |
0.082% |
10041004 |
0.127% |
123698745 |
0.152% |
1234567891 |
0.161% |
Несколько интересных наблюдений (и немного размышлений)
Заключение
Если вы разработчик, тестер или администратор, то я надеюсь, что моя статья заставит вас серьезно задуматься, и вы немедленно проверите, зашифрована ли конфиденциальная информация в ваших системах. Единственной причиной, по которой я вообще смог провести анализ паролей, является то, что тупые глупые и ленивые кодеры не удосужились зашифровать пароли. Последствия вашей лени могут ощутить на себе миллионы пользователей.
Если же вы пользователь и среди паролей, о которых говорилось в статье, вы увидели свой пароль/PIN-код, то, надеюсь, у вас хватит здравого смысла поменять его на что-нибудь менее предсказуемое. Как вариант, вы можете полениться и ничего не менять, тогда максимум, кто пострадает от вашей лени, так это только вы.
Апдейт
Уже после публикации статьи я заметил, что многие люди в качестве PIN-кодов используют не только знаменательные года, но и даты в формате MMDD (например, месяц и день рождения). Выбор PIN-кода вида MMDD сразу же объясняет, почему область размером 12х31 на карте интенсивности заметно ярче остальных областей. (Благодарю zero79, за то, что он поделился со мной этим наблюдением).
Многим людям интересно, что означает PIN-код 1004. Дело в том, что по-корейски “1004” произносится, как “cheonsa” (cheon – 1000, sa - 4). “Cheonsa” также переводится с корейского, как “Ангел”.
[1] 42069 получено конкатенацией двух чисел: “420” и “69”. 420 или 4.20pm – это время, когда в Северной Америке было популярно курить марихуану, как следствие, число 420 стало условным обозначением для “курения марихуаны”. 69 – условное название сексуальной позы. 42069 – это сленговое обозначение секса под наркотиками. – Прим. перев.
Храним важное в надежном месте