Усі 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-кодів у кожному наборі.

Отже, користувачі вибирають 4-циферні коди на основі лише кількох простих факторів. Якби так вибиралися і банківські PIN-коди, 8-9% із них можна було б вгадати лише за три спроби! Але, звичайно, до банківських кодів люди ставляться набагато уважніше. Зважаючи на відсутність скільки-небудь великого набору справжніх банківських даних, дослідники опитали більше 1300 осіб, щоб оцінити, наскільки реальні PIN-коди відрізняються від розглянутих. Враховуючи специфіку дослідження, у респондентів запитували не про самі коди, а лише про їх відповідність якомусь із вищезгаданих факторів (зростання, формат ДДММ тощо).

Виявилося, що люди справді набагато ретельніше вибирають банківські PIN-коди. Приблизно чверть опитаних використовують випадковий PIN, згенерований банком. Більше третини вибирають свій PIN-код, використовуючи старий номер телефону, номер студентського квитка або інший набір цифр, який виглядає випадковим. Згідно з отриманими результатами, 64% власників карток використовують псевдовипадковий PIN-код, – це набагато більше, ніж 23-27% у попередніх експериментах з не-банківськими кодами. Ще 5% використовують цифровий патерн (наприклад, 4545), а 9% віддають перевагу патерну на клавіатурі (наприклад, 2684). Загалом, зловмисник із шістьма спробами (три з банкоматом та три з платіжним терміналом) має менше 2% шансів вгадати PIN-код чужої картки.

Читайте також  Як зробити повернення квитків Укрзалізниця
ЧинникприкладRockYouiPhoneОпитування
Дати
ДДММ23115.261.383.07
ДМГГ38769.266.465.54
ММДД112310.009.353.66
ММГГ06830.670.200.94
РРРР198433.397.124.95
Разом58.5724.5122.76
Клавіатурний патерн
суміжні63511.524.99
квадрат14250.010.58
кути97130.191.06
хрест82460.170.88
діагональна лінія15900.101.36
горизонтальна лінія59870.341.42
слово56830.708.39
вертикальна лінія85200.064.28
Разом3.0922.978.96
Цифровий патерн
закінчується на 6968690.350.57
тільки цифри 0-320003.492.72
тільки цифри 0-651554.665.96
повторювані пари25252.314.11
однакові цифри66660.406.67
спадна послідовність32100.130.29
зростаюча послідовність45673.834.52
Разом15.1624.854.60
Випадковий набір цифр23.1727.6763.68

Все б добре, але, на жаль, істотна частина опитаних (23%) обирає PIN-код у вигляді дати, і майже третина з них використовує дату свого народження. Це суттєво змінює справу, адже майже всі (99%) респонденти відповіли, що зберігають у гаманці з банківськими картками різні посвідчення особи, на яких цю дату надруковано. Якщо зловмисник знає день народження власника картки, то за грамотного підходу ймовірність вгадування PIN-коду злітає до 9%.

100 найпопулярніших PIN-кодів

0000, 0101-0103, 0110, 0111, 0123, 0202, 0303, 0404, 0505, 0606, 0707, 0808, 0909, 1010, 1101-12 1956-2015, 2222, 2229, 2580, 3333, 4444, 5252, 5683, 6666, 7465, 7667.

PS На практиці, зрозуміло, зловмиснику набагато простіше підглянути ваш PIN-код, ніж вгадувати його. Але й від підгляду можна захиститись — навіть, здавалося б, у безвихідному становищі:

Читайте також  Зловмисники зламали тисячі роутерів D-link і перенаправляли їх власників на шкідливі ресурси

Нижче калькулятор призначений для генерації всіх поєднань з n по m елементів.
Число таких поєднань, як можна розрахувати за допомогою калькулятора Елементи комбінаторики. Перестановки, розміщення, поєднання.

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

Алгоритм

Комбінації генеруються у лексикографічному порядку. Алгоритм працює з порядковими індексами елементів множини.
Розглянемо алгоритм з прикладу.
Для простоти викладу розглянемо безліч із п’яти елементів, індекси в якому починаються з 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, а порядок їх важливий. Ми відразу запитали, скільки в мене взагалі було варіантів (напевно, щоб зрозуміти, наскільки це круто, що я взяла і вгадала). Тобто, із скількох комбінацій чотирьох цифр мені треба було обирати? І тут, природно, почалося пекло. У нас весь вечір вибухала голова, і у всіх, зрештою, вийшли абсолютно різні варіанти відповіді! Я навіть почала виписувати всі ці комбінації в блокнот поспіль у міру зростання, але на чотирьох сотнях зрозуміла, що їх більше чотирьох сотень (принаймні це спростувало відповідь фізика Треша, який запевняв мене, що комбінацій чотири сотні, але все одно це не абсолютно однозначно) – і здалася.

Читайте також  Як дізнатися, який стоїть на комп'ютері — 5 способів

Власне, суть питання. Яка ймовірність вгадування (у будь-якому порядку) чотирьох чисел, що містяться у чотиризначному числі?

Або ні, переформулюємо (я гуманітарій, вибачте, хоча до математики завжди мав велику слабкість), щоб було ясніше і чіткіше. Скільки не повторюваних комбінацій цифр міститься у ряді порядкових числівників від 0 до 9999? ( Будь ласка, не плутайте це з питанням “скільки комбінацій цифр, що не повторюються “!! ! цифри можуть повторюватися! в сенсі, 2233 і 3322 – це в даному випадку одна і та ж комбінація!!).

Або ще конкретніше. Мені потрібно чотири рази вгадати одну цифру із десяти. Але не підряд.

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

Будь ласка, підкріпіть свої відповіді та міркування якими-небудь точними формулами, бо ми вчора і так мало не збожеволіли. Заздалегідь усім дякую!

PS Одна розумна людина, програміст, художник і винахідник, щойно дуже вірно підказав правильне вирішення проблеми, подарувавши мені кілька хвилин прекрасного настрою . більше на її місці хвилювало не питання «яка ймовірність», а питання «чого я звертаю увагу на всі ці цифри?» Загалом навіть нічого додати:)

Степан Лютий

Обожнюю технології в сучасному світі. Хоча частенько і замислююся над тим, як далеко вони нас заведуть. Не те, щоб я прям і знаюся на ядрах, пікселях, коллайдерах і інших парсеках. Просто приходжу в захват від того, що може в творчому пориві вигадати людський розум.

You may also like...

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься.