Применяемый в 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 году исследователи экспериментально доказали, что наглядное сравнение с остальными пользователями или отображение времени, которое необходимо для подбора пароля, заставляет пользователей придумывать более стойкий пароль.
Григорий Копиев
Исследователи из Google представили две модели машинного обучения, генерирующие видеозаписи по текстовому описанию: одна лучше справляется с короткими запросами, а другая синтезирует длинные ролики по более детальным описаниям. За несколько дней до этого аналогичный алгоритм представили исследователи из Meta. Три статьи с описанием алгоритмов (Imagen Video и Phenaki от Google, Make-A-Video от Meta) опубликованы на arXiv.org.