Съём пароля с клавиатуры ПК через 0–60 секунд по тепловому следу

czj_0e7sqhptwklcyrolc1a5tak.jpeg

Современные тепловизоры подключаются к компьютеру и записывают температуру каждого пикселя в CSV. Эти данные отлично подходят для обучения нейросети. Несколько месяцев назад учёные из университета Глазго провели эксперимент и разработали реально эффективную модель ThermoSecure для распознавания нажатых клавиш по тепловому следу.

Учёные пришли к выводу, что с клавиатуры можно относительно надёжно снимать введённые пароли через 0–60 секунд после ввода символов. Давайте посмотрим, как работает система машинного зрения пошагово.
Экспериментальная установка показана фотографии выше, каждый объект на ней обозначен. В частности, для эксперимента использовалась инфракрасная камера Optris PI 450 (A) стоимостью €3950 (разрешение 764×480, 80 Гц, 40mK NETD, температурный диапазон от −20° C до 100° C, на фотографии A), установленная на штативе рядом с клавиатурой a Microsoft Wired ISO Keyboard 600 (QWERTY) с кейкапами из ABS-пластика (B). Высота штатива и расстояние до объекта изменялось в каждой сессии в диапазонах от 60–90 см и 50–121 см, соответственно. Кроме того, менялся и угол поворота клавиатуры.

gdzkdah3wb5clxr9gnevu5dgare.jpeg

На экране ноутбука D участнику эксперимента демонстрировали символы, которые он должен вводить, в то время как другой ноутбук © записывал тепловые 16-битные изображения с камеры. К каждому тепловому изображению программные интерфейсы Optris API записывали файл CSV с температурой пикселей.

Архитектура ThermoSecure


  1. Локализация клавиатуры: сбор данных и аннотация, обучение модели для надёжного распознавания клавиатуры в кадре.
  2. Регистрация нажатых клавиш: распознавание раскладки, нажатых клавиш, в том числе многократно нажатых (они теплее, чем однократно нажатые).
  3. Определение порядка нажатий, распознавание этапа аутентификации на фоне общего взаимодействия с системой, то есть на фоне обычной работы.


qyk6h-ynb9mc_gcmy_32sdfpux0.png
Разметка контура клавиатуры в процессе аннотации при обучении модели

Перед поступлением в модель машинного обучения все изображения проходят предварительную обработку для подавления шумов. Эта обработка включает четыре основных этапа:

  1. Наложение медианного фильтра 5×5
  2. Преобразование в градации серого
  3. Повторное наложение медианного фильтра
  4. Контраст-ограниченная адаптивная гистограммная эквализация (CLAHE) (doi: 10.1109/ICACCI.2014.6968381)


ofimswrgdbergmkdyaqtwzav_s4.jpeg
Четыре этапа предварительной обработки изображений

На втором этапе производится наложение контура Rotated Bounding Box (RBBox) из Mask R-CNN — специальной нейросети, выполняющей сегментацию изображений. Из этого контура извлекают координаты четырёх вершин прямоугольника. Затем модель использует шаблонную конфигурацию клавиатуры (4 области, 6 рядов) для вычисления координат клавиш и соотнесения температурных кластеров в кадре с местонахождением конкретных клавиш, которые используются для ввода пароля.

a2jehojlnrgohkdxxpichvrtntm.jpeg

dmukismdxb9dldi2gmlvedvs8fe.jpeg

Наконец, на последнем этапе модель использует координаты клавиш, полученные ранее, и температурные данные с каждого теплового изображения, для получения средней, минимальной и максимальной температуры каждого кейкапа. Затем эти три значения (mean, max, min) усредняются для каждой клавиши, чтобы вычислить правильный порядок их нажатия.

Эта процедура тоже включает в себя несколько этапов. После отделения фазы ввода имени пользователя от фазы ввода пароля определяется список символов пароля. Потом температурные данные каждой клавиши используются в качестве вероятности перехода между различными состояниями (клавишами). Используя вероятность перехода и вероятность состояния, рассчитывается вероятность каждой последовательности, как показано на следующей схеме:

yahguupodbca9nckfmngmhak0fi.png

u2vkqnzecf2wlevxud1hfd1fhlm.png

В данном случае наибольшую вероятность демонстрирует последовательность 6fbx9p, хотя просчитываются все варианты:

( ' Password : ', '6 fbx9p ', ' with a probability : ' , 0.40740188103110087)
( ' Password : ', '6 fxx9p ', ' with a probability : ' , 0.4071952200350172)
( ' Password : ', ' ffbx9p ', ' with a probability : ' , 0.40670664210825924)
( ' Password : ', '6 fb99p ', ' with a probability : ' , 0.40659163972726375)
( ' Password : ', '6 f9x9p ', ' with a probability : ' , 0.4065814008654436)
( ' Password : ', ' ffxx9p ', ' with a probability : ' , 0.40649998111217556)
( ' Password : ', '6 fx99p ', ' with a probability : ' , 0.40638497873118007)
( ' Password : ', '6 bbx9p ', ' with a probability : ' , 0.4059259564615335)


По результатам эксперимента учёные рассчитали вероятность распознавания пароля по тепловому следу в зависимости от длины пароля и времени между вводом пароля и съёмом теплового следа. Как видим, короткие шестисимвольные пароли через 20 секунд после ввода распознаются с точностью 100%, а через 60 секунд после ввода — с точностью 83%. Другие результаты показаны в таблице:

xmr5s8rof28qkuuxxjixsoomnou.png

Чем быстрее печатает человек — тем ниже вероятность распознавания правильной последовательности нажатых клавиш. Точность распознавания пароля повышается у пользователей, которые сильно стучат по клавиатуре.

Исследователи также пришли к выводу, что кейкапы из пластика ABS гораздо лучше нагреваются, чем кейкапы PBT, и поэтому более уязвимы для съёма теплового отпечатка.

Научная статья опубликована 15 сентября 2022 года в журнале ACM Transactions on Privacy and Security (doi: 10.1145/3563693).

Что касается практических выводов из исследования, то в публичных местах клавиатуру лучше прикрывать не только во время ввода пароля, но и 60 секунд после этого. Поскольку тепловизоры перешли в разряд недорогих массовых приборов, злоумышленники могут использовать их для шпионажа.

q0thqohgwen5v2ewalsbpmgzjiq.jpeg
Подробнее о преимуществах сертификата подписи кода по ссылке: www.globalsign.com/ru-ru/code-signing-certificate

© Habrahabr.ru