Техника определения PIN-кода по видеозаписи закрытого рукой ввода в банкомате

Kate

Administrator
Команда форума
Группа исследователей из Падуанского (Италия) и Делфтского (Нидерланды) университетов опубликовала метод использования машинного обучения для воссоздания введённого PIN-кода по видеозаписи прикрытой рукой области ввода в банкомате. При вводе PIN-кода из 4 цифр вероятность предсказания правильного кода оценена в 41%, учитывая возможность совершения трёх попыток до блокировки. Для PIN-кодов из 5 цифр вероятность предсказания составила 30%. Отдельно был проведён эксперимент, в ходе которого 78 добровольцев попытались предсказать PIN-код по аналогичным записанным видео. В этом случае вероятность успешного предсказания составила 7.92% при наличии трёх попыток.
При прикрытии цифровой панели банкомата ладонью, часть кисти руки, которой осуществляется ввод, остаётся незакрытой, чего достаточно для прогнозирования нажатий по изменению положения кисти и смещению не полностью прикрытых пальцев. При анализе ввода каждой цифры система исключает клавиши, которые не могут быть нажаты с учётом положения прикрывающей руки, а также рассчитывает наиболее вероятные варианты нажатий на основании положения нажимающей руки, относительно расположения клавиш. Для повышения вероятности определения ввода дополнительно может быть осуществлена запись звука нажатий, который немного отличается для каждой клавиши.

В эксперименте использовалась система машинного обучения, основанная на применении свёрточной нейронной сети (CNN) и рекуррентной нейронной сети на базе архитектуры LSTM (Long Short Term Memory). Сеть CNN отвечала за извлечение пространственных данных для каждого кадра, а сеть LSTM использовала эти данные для извлечения меняющихся во времени шаблонов. Модель была обучена на видеозаписях ввода PIN-кода 58 разными людьми с использованием выбранных участниками методов прикрытия ввода (каждый участник вводил 100 разных кодов, т.е. для обучения использовалось 5800 примеров ввода). В ходе проведения обучения было выявлено, что большинство пользователей применяют один из трёх основных способов прикрытия ввода.
0_1634654659.png

Для тренировки модели машинного обучения был задействован сервер на базе процессора Xeon E5-2670 с 128 GB ОЗУ и тремя картами Tesla K20m с 5GB памяти в каждой. Программная часть написана на языке Python с использованием библиотеки Keras и платформы Tensorflow. Так как панели ввода в банкоматах отличаются, а результат прогнозирования зависит от таких характеристик, как размер и топология размещения клавиш, для каждого типа панелей требуется отдельная тренировка.

В качестве мер для защиты от предложенного метода атаки рекомендовано по возможности использовать PIN-коды из 5 цифр вместо 4, а также стараться прикрывать рукой как можно большее пространство ввода (метод остаётся эффективен если рукой прикрывается около 75% области ввода). Производителям банкоматов рекомендовано использовать специальные защитные экраны, скрывающие ввод, а также не механические, а сенсорные панели ввода, положение цифр на которых меняется случайным образом.

 
Сверху