Современные тепловизоры подключаются к компьютеру и записывают температуру каждого пикселя в 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 см, соответственно. Кроме того, менялся и угол поворота клавиатуры.
На экране ноутбука D участнику эксперимента демонстрировали символы, которые он должен вводить, в то время как другой ноутбук (С) записывал тепловые 16-битные изображения с камеры. К каждому тепловому изображению программные интерфейсы Optris API записывали файл CSV с температурой пикселей.
Архитектура ThermoSecure
-
Локализация клавиатуры: сбор данных и аннотация, обучение модели для надёжного распознавания клавиатуры в кадре.
-
Регистрация нажатых клавиш: распознавание раскладки, нажатых клавиш, в том числе многократно нажатых (они теплее, чем однократно нажатые).
- Определение порядка нажатий, распознавание этапа аутентификации на фоне общего взаимодействия с системой, то есть на фоне обычной работы.
Разметка контура клавиатуры в процессе аннотации при обучении модели
Перед поступлением в модель машинного обучения все изображения проходят предварительную обработку для подавления шумов. Эта обработка включает четыре основных этапа:
- Наложение медианного фильтра 5×5
- Преобразование в градации серого
- Повторное наложение медианного фильтра
- Контраст-ограниченная адаптивная гистограммная эквализация (CLAHE) (doi: 10.1109/ICACCI.2014.6968381)
Четыре этапа предварительной обработки изображений
На втором этапе производится наложение контура Rotated Bounding Box (RBBox) из Mask R-CNN — специальной нейросети, выполняющей сегментацию изображений. Из этого контура извлекают координаты четырёх вершин прямоугольника. Затем модель использует шаблонную конфигурацию клавиатуры (4 области, 6 рядов) для вычисления координат клавиш и соотнесения температурных кластеров в кадре с местонахождением конкретных клавиш, которые используются для ввода пароля.
Наконец, на последнем этапе модель использует координаты клавиш, полученные ранее, и температурные данные с каждого теплового изображения, для получения средней, минимальной и максимальной температуры каждого кейкапа. Затем эти три значения (mean, max, min) усредняются для каждой клавиши, чтобы вычислить правильный порядок их нажатия.
Эта процедура тоже включает в себя несколько этапов. После отделения фазы ввода имени пользователя от фазы ввода пароля определяется список символов пароля. Потом температурные данные каждой клавиши используются в качестве вероятности перехода между различными состояниями (клавишами). Используя вероятность перехода и вероятность состояния, рассчитывается вероятность каждой последовательности, как показано на следующей схеме:
В данном случае наибольшую вероятность демонстрирует последовательность
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%. Другие результаты показаны в таблице:
Чем быстрее печатает человек — тем ниже вероятность распознавания правильной последовательности нажатых клавиш. Точность распознавания пароля повышается у пользователей, которые сильно стучат по клавиатуре.
Исследователи также пришли к выводу, что кейкапы из пластика ABS гораздо лучше нагреваются, чем кейкапы PBT, и поэтому более уязвимы для съёма теплового отпечатка.
Научная статья опубликована 15 сентября 2022 года в журнале ACM Transactions on Privacy and Security (doi: 10.1145/3563693).
Что касается практических выводов из исследования, то в публичных местах клавиатуру лучше прикрывать не только во время ввода пароля, но и 60 секунд после этого. Поскольку тепловизоры перешли в разряд недорогих массовых приборов, злоумышленники могут использовать их для шпионажа.
Подробнее о преимуществах сертификата подписи кода по ссылке
Комментарии (15)
YDR
29.10.2022 20:36+1рукой накрывать часть клавиатуры после набора пароля, чтобы прогрелась с другой неравномерностью.
Daimos
29.10.2022 21:52Пароль не ввожу, пользуюсь отпечатком пальца или пинкодом, с повторяющимися цифрами.
Aleks_ja
29.10.2022 22:29+3Из статьи не понятно - человек просто ввёл пароль и потом ничего не вводил? Ну например не стал что-нибудь печатать.
agalakhov
30.10.2022 01:32+3Это все довольно легко проверяется, если есть тепловизор. У меня получилось вот что:
На десктопе тепловой след действительно достаточно хорошо виден и позволяет разглядеть примерный порядок клавиш (неточно, но перебор сократит).
На ноутбуке разглядеть следы не удается, так как ноутбук заметно греется.
Следы остаются достаточно долго и могут быть проблемой в ситуациях, когда человек ввел пароль, а потом взялся за мышку (частый сценарий).
Подсматривание таким образом пин-кодов банковских карт может быть серьезной проблемой.
BigBeerman
30.10.2022 08:41пинкоды сейчас не сильно актуальны, большинство карт с NFC, а многие и ими не пользуются, только смартфоном. Получить доступ к данным можно только физически отжав карту или телефон у владельца, а это уже совсем другая статья
catharsis
30.10.2022 20:57С пин-кодами похоже хорошо работает
https://petapixel.com/2014/08/29/heres-iphone-thermal-cameras-can-used-steal-pin-codes/
MaximRV
30.10.2022 09:51+3Не зря наверное я пароли ногтями набираю иногда, на незнакомых девайсах. Пинкоды так тем более.
dvsa
30.10.2022 15:35С целью скрыть пароль можно после набора прикоснуться к паре-тройке случайных клавиш и подержать там пальцы пару секунд.
hollycon
30.10.2022 20:26иногда, когда замечаю что подглядывают, я набираю ошибочный пароль или вообще бред какой-нибудь, а затем забиваю бэкспейсом. получается так и надо поступать.
3epka
То есть 2 одинаковых символа в пароле (все равно - друг за другом или в любом другом месте) не помогут против такого способа определения, я правильно понимаю? Сомнительно по моему...
gurovofficial
Да и последовательность мы так не узнаем, а для длинного пароля - это может быть немало комбинаций
selivanov_pavel
Почему нет? Что теплее - то последним нажимали, нажатие второй раз греется с уже подогретого состояния - тоже зацепка.
Arbuzer
Количество сообщенного тепла во второй раз уже меньше, так как ближе к равновесной температуре системы "клавиатура-рука-среда"
selivanov_pavel
Меньше, но не нулевое. Плюс пока на клавише был тёплый палец, клавиша меньше теряла тепло в воздух, который пальцем закрыли.