В эксперименте использовалась система машинного обучения, основанная на применении свёрточной нейронной сети (CNN) и рекуррентной нейронной сети на базе архитектуры LSTM (Long Short Term Memory). Сеть CNN отвечала за извлечение пространственных данных для каждого кадра, а сеть LSTM использовала эти данные для извлечения меняющихся во времени шаблонов. Модель была обучена на видеозаписях ввода PIN-кода 58 разными людьми с использованием выбранных участниками методов прикрытия ввода (каждый участник вводил 100 разных кодов, т.е. для обучения использовалось 5800 примеров ввода). В ходе проведения обучения было выявлено, что большинство пользователей применяют один из трёх основных способов прикрытия ввода.
Для тренировки модели машинного обучения был задействован сервер на базе процессора Xeon E5-2670 с 128 GB ОЗУ и тремя картами Tesla K20m с 5GB памяти в каждой. Программная часть написана на языке Python с использованием библиотеки Keras и платформы Tensorflow. Так как панели ввода в банкоматах отличаются, а результат прогнозирования зависит от таких характеристик, как размер и топология размещения клавиш, для каждого типа панелей требуется отдельная тренировка.
В качестве мер для защиты от предложенного метода атаки рекомендовано по возможности использовать PIN-коды из 5 цифр вместо 4, а также стараться прикрывать рукой как можно большее пространство ввода (метод остаётся эффективен если рукой прикрывается около 75% области ввода). Производителям банкоматов рекомендовано использовать специальные защитные экраны, скрывающие ввод, а также не механические, а сенсорные панели ввода, положение цифр на которых меняется случайным образом.
Тут знаходиться посилання. Щоб побачити його, зареєструйтеся будь ласка, це займе у Вас всього хвилину