Keytap – акустическое прослушивание ввода с клавиатуры |

Keytap – акустическое прослушивание ввода с клавиатуры

Обзоры

Инструменты для захвата и анализа ввода с клавиатуры в сочетании с захватом микрофона

Основная цель – использовать звук, производимый нажатием клавиш клавиатуры, в качестве бокового канала, чтобы угадать содержание набираемого текста.

Для этого алгоритм принимает в качестве входных данных обучающий набор, состоящий из аудиозаписи, вместе с соответствующими клавишами, набираемыми во время этой записи.

Используя эти данные, алгоритм изучает звук различных нажатий клавиш, а затем пытается распознать звуки только с помощью захваченного звука.

Тренировочный набор очень специфичен, в том смысле, что он нацелен на одну настройку – клавиатуру, микрофон и взаимное расположение между ними.

Изменение любого из этих факторов делает такой подход бесполезным.

В качестве бонуса текущая реализация делает прогноз в режиме реального времени.

Основными этапами реализации являются следующие:

  • сбор данных обучения
  • создание модели прогнозирования (этап обучения)
  • обнаружение нажатия клавиши
  • прогнозирование ключа для обнаруженного нажатия клавиши

В текущей реализации звук промежуточных нажатий клавиш просто отбрасывается.

Мы сохраняем только звук в течение 75-100 мс до и после фактического нажатия.

Это немного сложно, так как кажется, что между нажатием клавиши и событием, записываемым программой, бывают случайные задержки – скорее всего, здесь задействованы как аппаратные, так и программные факторы.

 

зависимости:
  • SDL2 – используется для захвата аудио и открытия окон графического интерфейса libsdl
  • FFTW3 – некоторые вспомогательные инструменты выполняют преобразования Фурье fftw

¯\_(ツ)_/¯

Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий