Нещодавно мій хороший друг lan скинув мені жартівливу новину. У заголовку новини було написано щось типу:
"PIN-коди всіх кредитних карт в світі викрадені!"
Нещодавно мій хороший друг lan скинув мені жартівливу новину. У заголовку новини було написано щось типу:
"PIN-коди всіх кредитних карт в світі викрадені!"
У самій же новини було просто перераховані вкрадені PIN-коди: 0000 0001 0002 0003 0004 ...
Новина lan'а розсмішила мене. В цей же день, але трохи пізніше, я прочитав ось цей комікс на XKCD. Після прочитання двох кумедних історій у мене і з'явилася ідея написати статтю.
- Зацени мій номерний знак!
- Він ідеальний!
- Ніхто не зможе правильно запам'ятати номер моєї машини! Я можу зробити будь-який злочин, яке тільки захочу!
- Прапор тобі в руки.
Кадр 3 (трохи пізніше):
- Номер машини злодія начебто повністю складався з '1'.
- А! Так це той самий хлопець!
Який PIN-код зустрічається найрідше?
Всього з 10 цифр можна скласти 10 000 різних чотиризначних PIN-кодів. З цих десяти тисяч, які PIN-коди зустрічаються найрідше?Який з 10 000 PIN-кодів люди використовують найрідше.
Який з 10 000 PIN-кодів люди використовують найчастіше.
Якби перед вами стояло завдання знайти PIN-код кредитної картки за найкоротший час, то в якому порядку ви б перебирали всі можливі PIN-коди?
Якби вас запитали, який чотиризначний PIN-код зустрічається найрідше, то що б ви відповіли?
Всі ці питання тісно пов'язані з вищезгаданим коміксом з XKCD. У коміксі план злочинця провалився, бо його номерний знак був занадто унікальним і, як наслідок, занадто запам'ятовується. Який номерний знак запам'ятовується найважче? Запитайте будь-якого знайомого шпигуна J, як найкраще загубитися в натовпі? Відповідь буде цілком очікуваним: бути "нормальним" і нічим не виділятися.
Всім відомо, що людям погано вдається придумувати випадкові паролі. Я сподіваюся, що після прочитання статті ви станете трішки акуратніше вибирати ваш наступний PIN-код.Вам все ще цікаво, який PIN-код зустрічається найрідше?
А який найбільш популярний?
Витоку баз даних з паролями
За останній час було знайдено безліч вразливостей безпеки в базах даних з паролями: деякі уразливості набули широкого розголосу, інші - не дуже. Але у всіх витоків є одна спільна риса: за них довелося заплатити високу ціну, яка складається як з безпосередніх штрафів, так і з непрямих збитків, пов'язаних з погіршенням репутації фірми.Особисто я не дозволю обвести мене навколо пальця навіть один раз, не кажучи вже про двох ... Скажу навіть більше: будь-який розробник, паролі якого зберігаються в базі даних незашифрованими, не має права спати спокійно, поки він не виправить це жахливе непорозуміння. Більш того, ви просто зобов'язані вчитися на чужих помилках і не допускати, щоб виявлена уразливість була виявлена ще один раз у вас.
Якщо ви, як працівник компанії, знаєте, що до захисту бази даних з паролями ваших клієнтів підійшли поверхнево, тоді йдіть, а краще біжіть до вашого начальству, щосили б'єте в двері кулаками і настоюйте, щоб вразливість була виправлена якомога швидше. Не чекайте, поки не стане вже надто пізно. Стійте на своєму. Будьте приставучими, як реп'ях.
Висновок. захист повинен бути багаторівневою. І просте шифрування таблиці з паролями користувачів дозволить захистити ваших клієнтів, навіть якщо база витече. Шифрування не захищає від усіх можливих атак, але і шкоди воно теж не приносить. Який тоді сенс зберігати паролі незашифрованими?
Повернемося до вибірці
З усіх баз даних з паролями облікових записів я вибрав тільки ті записи, в яких пароль користувача складався з 4 цифр [0-9]. Результати вибірки були об'єднані в окрему базу даних чотиризначних паролів.
Звідси і далі ми будемо вважати, що чотиризначні паролі та PIN-коди це суть одне і те ж.
Мені вдалося знайти близько 3,4 мільйона чотиризначних паролів. Кожен з паролів являє собою комбінацію з 4 цифр від 0000 до 9999.
Найпопулярніший пароль: 1234 ...
... просто вражає, наскільки популярний такий пароль. А що ще більш вражаюче, так це нестача уяви у людей його обирають ...
... 1234 становить близько 11% від 3,4 мільйона всіх паролів.
Наступний за популярністю чотиризначний пароль - 1111. близько 6% від усієї вибірки.
Третє місце займає пароль 0000 з 2%.
Справа показана таблиця з 20ью самими часто використовуваними паролями. Перебравши всього 20 комбінацій можна з ймовірністю 26,83% вгадати правильну PIN-код!
З точки зору теорії ймовірності, якби PIN-коди були розподілені рівномірно, то перебравши 20 паролів з 10 000, ми б вгадали вірний пароль з ймовірністю 0,2%, але ніяк не з ймовірністю 26,83%!
Уважно глянувши на таблицю, ми знайдемо в ній всіх "головних підозрюваних": 1111. 2222. 3333. ..., 9999. а також 1212 і 6969 J.
Не дивно і те, що на початку списку знаходяться паролі, подібні паролів 1122. 1313. 4321 і 1010.
Перший "загадковий" пароль, який мені зустрівся, був паролем 2580 на позиції # 22. Чому саме така комбінація цифр? Чому так багато людей використовує PIN- код 2580.Ще одна цікава деталь: люди вважають за краще парні цифри непарних: паролі типу 2468 зустрічаються частіше паролів з усіма непарними цифрами типу 1 357.
Накопичена частота паролів
Як вже говорилося, перші рядки таблиці займають самі часто використовувані паролі. Частота використання найпопулярнішого пароля тисячі двісті тридцять чотири перевищує частоту використання 4200 самих рідко зустрічаються паролів разом узятих!
Ви можете з першої спроби вгадати близько 10% всіх паролів! А перебравши всього 5 номерів, ймовірність вгадування досягне вже 20%!
Нижче показаний граф накопиченої частоти:
Виходить, що за статистикою одну третину паролів можна вгадати, перебравши всього 61 різний пароль.
Кордон в 50% можна подолати, перевіривши 426 паролів (для порівняння, при рівномірному розподілі паролів межа в 50% досягалася б після перевірки 5000 паролів). Така статистика зовсім не радує.
Окей, тепер ми дізналися, які PIN-коди можна зустріти найчастіше і те, що їх можна легко вгадати і запам'ятати. Зайдемо тепер з іншого боку, які PIN-коди використовуються найрідше?
Судячи з моєї вибірці можна сказати, що найрідкісніший пароль - 8086. Він зустрівся всього 25 разів. Відповідно, ймовірність пароля 8086 становить 0,000744%, що набагато менше ймовірності при рівномірному розподілі і майже на п'ять порядків менше ймовірності самого популярного пароля.
Справа показані 20 найбільш рідко зустрічаються чотиризначних паролів.
Працює на CMS "1С-Бітрікс: Управління сайтом"