Дослідники вирахували чорний список PIN-кодів в iOS і довели його марність

Застосовуваний в iOS чорний список з простих PIN-кодів, що запам'ятовуються, не підвищує безпеку. Такі висновки зробили дослідники з Німеччини і США, які експериментально з'ясували зміст чорного списку PIN-кодів в iOS, зібравши робота на основі Raspberry Pi і LEGO, а також провели експерименти на добровольцях. Стаття про дослідження буде представлена на конференції IEEE SP2020, а його опис опубліковано на сторінці авторів.


Сучасні пристрої та інтернет-сервіси майже завжди дозволяють використовувати довгі і надійні паролі з різними символами, багато з них також дозволяють застосовувати двофакторну автентифікацію. Тим не менш, більшість людей не використовують складні та унікальні паролі, і вже сім років поспіль найпопулярнішим паролем у світі вважається 123456. В останні роки ця проблема почасти пом'якшилася через поширення біометричних датчиків на смартфонах, проте в деяких випадках, наприклад, після перезавантаження, смартфони все одно запитують у користувача пароль або PIN-код.


Через це деякі розробники, в тому числі Apple, стали попереджати користувачів, коли вони вибирають ненадійну комбінацію, а також додавати підтримку більш довгих шестизначних PIN-кодів. Дослідники в галузі інформаційної безпеки під керівництвом Адама Авіва (Adam Aviv) з Університету Джорджа Вашингтона вирішили перевірити ефективність цих методів, а також з'ясувати конкретний список PIN-кодів в iOS, які Apple вважає ненадійними.

Через чорний список PIN-кодів при спробі введення однієї з вхідних комбінацій користувач отримує попередження про те, що цей код може бути легко вгаданий, і пропозицію поміняти комбінацію. Існує простий і швидкий спосіб з'ясувати вміст чорного списку PIN-кодів: витягти його з коду прошивки. Дослідники скористалися утилітою iExtractor і успішно отримали список, однак вони вирішили також використовувати більш цікавий метод, що дозволяє отримати список безпосередньо без зворотної розробки.

Для цього вони перебрали всі можливі PIN-коди методом простого перебору. Цей метод вимогливий до ресурсів: у випадку з шестизначними кодами дослідникам довелося б вручну вводити мільйон комбінацій. Замість того, щоб вводити всі коди вручну, автори зібрали простий апарат для автоматичного введення і збору даних на основі мікрокомп'ютера Raspberry Pi Zero W, iPhone і камери для мікрокомп'ютера. Його корпус дослідники зібрали з конструктора LEGO. У нижній частині лежить iPhone екраном вгору, а над ним на відстані близько 15 сантиметрів знаходиться камера і Raspberry Pi.

Робота апарату заснована на тому, що iOS дозволяє вводити дані не тільки через екран, але і за допомогою дротової або бездротової клавіатури. Мікрокомп'ютер емулює клавіатуру і подає на екран установки PIN-коду певну комбінацію, а потім знімає результат за допомогою камери. Знімок пересилається на комп'ютер, на якому алгоритм розпізнає текст і відносить конкретний PIN-код до звичайного або чорного списку.

На збір чорного списку у випадку з чотиризначним кодом у дослідників пішло близько дев'яти годин, а у випадку з шестизначним кодом на це довелося витратити 30 днів, причому дані в другому випадку збиралися одночасно на двох смартфонах. З'ясувалося, що в iOS список зі слабких PIN-кодів складається з 274 значень для чотиризначних кодів і з 2910 чисел для шестизначних. В основному це прості комбінації типу 1234, прямі лінії на клавіатурі введення, наприклад, 2580, а також дати з 1956 по 2015 рік.

Головна частина дослідження присвячена перевірці гіпотези про те, що чорні списки і більш довгі PIN-коди допомагають підвищити безпеку. Для цього вони провели дослідження на добровольцях з Amazon Mechanical Turk, яких просили придумувати пароль в інтерфейсі, що нагадує інтерфейс iOS. Різні добровольці стикалися з різними умовами дослідження, такими як довжина комбінації (чотири або шість цифр), різними чорними списками, сформованими на основі списку Apple і двох інших наукових статей за суміжною темою, а також деяким з них автоматично пропонували змінити перший введений пароль, навіть якщо він не входив до чорного списку.


Отримавши датасет з 1220 придуманих користувачами кодів, дослідники провели їх аналіз кількома методами. В одній з перевірок дослідники імітували підбір PIN-коду, в якому зловмисник послідовно вводить пароль на основі публічно доступних датасетів популярних серед користувачів кодів. При цьому чорний список у цьому експерименті не застосовувався. Дослідники отримали досить контринтиутивний результат: на перших 40 спробах частка вгаданих шестизначних PIN-кодів вища, ніж частка чотиризначних. Вони припускають, що причина полягає в тому, що у випадку з чотиризначними кодами користувачам доступно безліч різних комбінацій, простих для запам'ятовування, таких як дати або лінії на клавіатурі. У випадку з шестизначними паролями найчастіше користувачі обходяться простим повторенням цифр або простими послідовностями на зразок 123456 або 654321.

В аналізі ефективності паролів дослідники також підбирали пароль за популярністю в датасетах в умовах різних чорних списків. З'ясувалося, що якщо враховувати, що iOS-пристрої обмежують кількість введених паролів при розблокуванні десятьма, то застосування чорного списку не дає статистично значущої переваги в частці вгаданих зловмисником PIN-кодів. Однак при використанні Android, де кількість спроб введення обмежується тільки часом, застосування більшого за розміром чорного списку має статистично значущу перевагу при десятках спроб введення. Як компроміс між безпекою і зручністю користувача дослідники пропонують використовувати список з приблизно 10 відсотків заборонених комбінацій.

У простого попередження про те, що придуманий користувачами PIN-код легко підібрати є ефективні альтернативи. Наприклад, у 2018 році дослідники експериментально довели, що наочне порівняння з іншими користувачами або відображення часу, яке необхідне для підбору пароля, змушує користувачів вигадувати більш стійкий пароль.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND