Андрей Смирнов
Время чтения: ~10 мин.
Просмотров: 20 274

Вот 20 самых популярных кодов блокировки. А у вас на смартфоне не один из них?

Все 10000 комбинаций из 4 цифр. Сложно ли угадать PIN-код

Несмотря на важную роль PIN-кодов в мировой инфраструктуре, до сих пор не проводилось академических исследований о том, как, собственно, люди выбирают PIN-коды.

Исследователи из университета Кембриджа Sören Preibusch и Ross Anderson исправили ситуацию, опубликовав первый в мире количественный анализ сложности угадывания 4-циферного банковского PIN-кода.

Используя данные об утечках паролей из небанковских источников и онлайн анкетирование, учёные выяснили, что к выбору PIN-кодов пользователи относятся гораздо серьёзнее, чем к выбору паролей для веб-сайтов: большинство кодов содержат практически случайный набор цифр. Тем не менее, среди исходных данных присутствуют и простые комбинации, и дни рождения, — то есть, при некотором везении злоумышленник может просто угадать заветный код.

Отправной точкой исследования был набор 4-циферных последовательностей в паролях из базы RockYou (1.7 млн), и базы из 200 тысяч PIN-кодов от программы блокировки экрана iPhone (базу предоставил разработчик приложения Daniel Amitay). В графиках, построенных по этим данным, проступают интересные закономерности — даты, года, повторяющиеся цифры, и даже PIN-коды, заканчивающиеся на 69. На основе этих наблюдений учёные построили линейную регрессионную модель, которая оценивает популярность каждого PIN-кода в зависимости от 25 факторов, — например, является ли код датой в формате ДДММ, является ли он возрастающей последовательностью, и так далее. Этим общим условиям соответствуют 79% и 93% PIN-кодов в каждом из наборов.

293-dcacabde4c7f49e69921aa5432912787.png

Итак, пользователи выбирают 4-циферные коды на основе всего нескольких простых факторов. Если бы так выбирались и банковские PIN-коды, 8-9% из них можно было бы угадать всего за три попытки! Но, конечно, к банковским кодам люди относятся гораздо внимательнее. Ввиду отсутствия сколько-нибудь большого набора настоящих банковских данных, исследователи опросили более 1300 человек, чтобы оценить, насколько реальные PIN-коды отличаются от уже рассмотренных. Учитывая специфику исследования, у респондентов спрашивали не о самих кодах, а только о их соответствии какому-либо из вышеназванных факторов (возрастание, формат ДДММ, и т.д.).

Оказалось, что люди действительно гораздо тщательнее выбирают банковские PIN-коды. Примерно четверть опрошенных используют случайный PIN, сгенерированный банком. Более трети выбирают свой PIN-код, используя старый номер телефона, номер студенческого билета, или другой набор цифр, который выглядит случайным. Согласно полученным результатам, 64% владельцев карт используют псевдослучайный PIN-код, — это гораздо больше, чем 23-27% в предыдущих экспериментах с не-банковскими кодами. Ещё 5% используют цифровой паттерн (например, 4545), а 9% предпочитают паттерн на клавиатуре (например, 2684). В целом, злоумышленник с шестью попытками (три с банкоматом и три с платёжным терминалом) имеет меньше 2% шансов угадать PIN-код чужой карты.

Фактор Пример RockYou iPhone Опрос
Даты
ДДММ 2311 5.26 1.38 3.07
ДМГГ 3876 9.26 6.46 5.54
ММДД 1123 10.00 9.35 3.66
ММГГ 0683 0.67 0.20 0.94
ГГГГ 1984 33.39 7.12 4.95
Итого 58.57 24.51 22.76
Клавиатурный паттерн
смежные 6351 1.52 4.99
квадрат 1425 0.01 0.58
углы 9713 0.19 1.06
крест 8246 0.17 0.88
диагональная линия 1590 0.10 1.36
горизонтальная линия 5987 0.34 1.42
слово 5683 0.70 8.39
вертикальная линия 8520 0.06 4.28
Итого 3.09 22.97 8.96
Цифровой паттерн
заканчивается на 69 6869 0.35 0.57
только цифры 0-3 2000 3.49 2.72
только цифры 0-6 5155 4.66 5.96
повторяющиеся пары 2525 2.31 4.11
одинаковые цифры 6666 0.40 6.67
убывающая последовательность 3210 0.13 0.29
возрастающая последовательность 4567 3.83 4.52
Итого 15.16 24.85 4.60
Случайный набор цифр 23.17 27.67 63.68

Всё бы хорошо, но, к сожалению, существенная часть опрошенных (23%) выбирает PIN-код в виде даты, — и почти треть из них использует дату своего рождения. Это существенно меняет дело, ведь почти все (99%) респонденты ответили, что хранят в бумажнике с банковскими картами различные удостоверения личности, на которых эта дата напечатана. Если злоумышленник знает день рождения владельца карты, то при грамотном подходе вероятность угадывания PIN-кода взлетает до 9%.

100 самых популярных PIN-кодов

P.S. На практике, разумеется, злоумышленнику гораздо проще подсмотреть ваш PIN-код, чем угадывать его. Но и от подглядывания можно защититься — даже, казалось бы, в безвыходном положении:

Описание алгоритма генерации под калькулятором.

Алгоритм

Комбинации генерируются в лексикографическом порядке. Алгоритм работает с порядковыми индексами элементов множества. Рассмотрим алгоритм на примере. Для простоты изложения рассмотрим множество из пяти элементов, индексы в котором начинаются с 1, а именно, 1 2 3 4 5. Требуется сгенерировать все комбинации размера m = 3. Сначала инициализуется первая комбинация заданного размера m — индексы в порядке возрастания1 2 3 Далее проверяется последний элемент, т. е. i = 3. Если его значение меньше n — m + i, то он инкрементируется на 1.1 2 4 Снова проверяется последний элемент, и опять он инкрементируется.1 2 5 Теперь значение элемента равно максимально возможному: n — m + i = 5 — 3 + 3 = 5, проверяется предыдущий элемент с i = 2. Если его значение меньше n — m + i, то он инкрементируется на 1, а для всех следующих за ним элементов значение приравнивается к значению предыдущего элемента плюс 1. 1 (2+1)3 (3+1)4 = 1 3 4 Далее снова идет проверка для i = 3.1 3 5 Затем — проверка для i = 2.1 4 5 Потом наступает очередь i = 1. (1+1)2 (2+1)3 (3+1)4 = 2 3 4 И далее,2 3 5 2 4 5 3 4 5 — последнее сочетание, так как все его элементы равны n — m + i.

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

Итак, предыстория.

Мне выдали новую банковскую карточку и я, как водится, играючи угадала ее пин-код. Но не подряд. В смысле, допустим, пин-код был 8794, а я назвала 9748. То есть, я триумфально угадала все цифры , которое содержались в данном четырехзначном числе. Ну да, не само число , а просто его составляющие у гадала. Но цифры-то все верные! ПРИМЕЧАНИЕ — я действовала наугад, то есть, мне не надо было расставить уже известные числа в нужном порядке, я просто действовала в духе: вот тут есть неизвестные мне четыре цифры, и я считаю, что среди них могут быть 9, 7, 4 и 8, а порядок их не важен. Мы тут же задались вопросом, сколько у меня вообще было вариантов (наверное, чтобы понять, насколько это круто, что я вот взяла и угадала). То есть, из скольких комбинаций четырех цифр мне нужно было выбирать? И тут, натурально, начался ад. У нас весь вечер взрывалась голова, и у всех, в итоге, вышли абсолютно разные варианты ответа! Я даже начала выписывать все эти комбинации в блокнот подряд по мере возрастания, но на четырех сотнях поняла, что их больше четырех сотен (во всяком случае, это опровергло ответ физика Трэша, который уверял меня, что комбинаций четыре сотни, но все равно это не совсем однозначно) — и сдалась.

Собственно, суть вопроса. Какова вероятность угадывания (в любом порядке) четырех чисел, содержащихся в четырехзначном числе?

Или нет, переформулируем (я гуманитарий, простите, хотя к математике всегда питала огромную слабость), чтобы было яснее и четче. Сколько не повторяющихся комбинаций цифр содержится в ряду порядковых числительных от 0 до 9999? (пожалуйста, не путайте это с вопросом «сколько комбинаций не повторяющихся цифр»!! ! цифры могут повторяться! в смысле, 2233 и 3322 — это в данном случае одна и та же комбинация!!).

Или еще конкретнее. Мне нужно четыре раза угадать одну цифру из десяти. Но не подряд.

Ну или еще как-нибудь. В общем, нужно узнать, сколько у меня было вариантов числовой комбинации, из которой складывался пин-код карточки. Помогите, люди добрые! Только, пожалуйста, помогая, не начинайте сразу писать, что вариантов этих 9999 (вчера такое всем приходило в голову поначалу), потому что это же глупости — ведь в том ракурсе, который нас волнует, число 1234, число 3421, число 4312 и так далее являются одним и тем же! Ну и да, цифры же могут повторяться, ведь бывает пин-код 1111 или там, например, 0007. Можно представить вместо пин-кода номер машины. Допустим, какова вероятность угадать все однозначные цифры, из которых складывается номер машины? Или, чтобы вообще убрать теорию вероятности — из скольких числовых комбинаций мне нужно было выбрать одну?

Пожалуйста, подкрепите свои ответы и рассуждения какими-нибудь точными формулами, потому что мы вчера и так чуть не свихнулись. Заранее всем большое спасибо!

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

Детские считалки

За основу пароля берём любой детский стишок или считалку. Желательно, чтобы она водилась лишь в ваших краях и не была общеизвестна. А лучше собственного сочинения! Хотя подойдут любые детские рифмы, главное, чтобы строки намертво засели с юных лет в вашей голове.

Пароль будет состоять из первых букв каждого слова. Причём буква будет писаться в верхнем регистре, если она является первой в предложении. Заменяем некоторые буквы похожими по написанию цифрами (например, «ч» на «4», «о» на «0», «з» на «3»). Если не хотите излишне запутываться с заменой букв на цифры, поищите считалку, уже содержащую в себе цифры. Не забываем о знаках препинания, разделяющих слова и предложения, — они пригодятся.

Пример:

Черепаха хвост поджала

И за зайцем побежала.

Оказалась впереди,

Кто не верит — выходи!

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

17-символьный пароль готов! Может быть, он и не идеален, так как содержит повторяющиеся знаки, последовательные строчные буквы и цифры. Но назвать его простым уж точно язык не повернётся.

Жаргон и терминология

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

Например, можно использовать выписку из больницы или заковыристое медицинское определение.

Пример:

Циклопентанпергидрофенантрен — термин, состоящий из 28 букв. Длинновато получается, посему предлагаю выкинуть гласные буквы и разбавить оставшиеся согласные верхним регистром.

Памятные даты

Разумеется, ваш день рождения или день начала семейной жизни — это не самая удачная основа для пароля. Событие должно быть исключительной важности, и о нём должны знать только вы. К примеру, это может быть день, когда вы впервые съели жвачку, сбежали с урока или сломали каблук. Так как базис пароля будут составлять цифры, не лишним видится перемешивание их с буквами.

Пример:

22.10.1983 и 16.06.2011

Замените точки, разделяющие день, месяц и год, на любую букву, например маленькую английскую “ l” , которая очень похожа на довольно часто использующийся разделитель «/». Между датами проставим символ нижнего подчёркивания «_». Нули заменим на буквы «о».

Генерация паролей и способы запоминания.

Для подбора правильного пароля вполне можно использовать генерацию паролей . Такой сервис весьма доступен. Можно без особых усилий подобрать комбинацию, которую нелегко будет распознать. Здесь, правда, есть один подводный камень: сложную комбинацию сложно и запомнить. Редкие сочетания сложно ложатся в память. Рассмотрим далее, как сделать так, чтобы не забыть или не потерять пароль.

01791457605c2d4e97b2.56373920.png

В большинстве случаев при генерации пароля используется одна и та же комбинация. Иногда пароль модернизируется и выходит что-то вроде «parol1», «parol2» и т.д. Шаг хитрый, но зато можно быть уверенным, что пароль не забудется .

При использовании генератора паролей получается бессмысленный и нелогичный набор символов. Его нужно где-то хранить. Интересно, что у многих есть привычка записывать его на бумажке и клеить на монитор. Например, в офисе, где множество сотрудников, клиентов и случайных людей. С таким же успехом на рабочем столе можно создать файл с названием «мои пароли». Эффект будет тот же.

Итак, вот общие советы по хранению и запоминанию паролей:

1. Для каждого ресурса лучше создавать новый уникальный пароль.

2. Не нужно хранить комбинации паролей на рабочем столе компьютера — хакеры вполне могут проникнуть и в ПК.

3. Пароль не нужно держать у всех на виду.

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

5. Не нужно вводить пароли в «странных» или подозрительных сайтах или программах. Администрации порталов никогда не требуют сообщать им пароль — он используется только для входа.

6. Если для хранения паролей используется специальная программа, нужно создавать ее копию.

Используемые источники:

  • https://droidd.ru/all-10000-combinations-of-4-digits-is-it-hard-to-guess-the-pin.html
  • https://crabo.ru/the-security-of-your-computer/samye-rasprostranennye-paroli-iz-4-cifr-proverka-slozhnosti.html

Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации