Устройства HID Human Interface Devices Windows 10
— HID-совместимая сенсорная панель.
— Microsoft Input Configuration Device.
— Устройство HID на шине I2C.
Далее, в свойствах устройства вы можете узнать и настроить:
Общие:
— Вы можете узнать тип устройства.
Драйвер:
— Вы можете узнать поставщика драйвера.
— Сведения о файлах драйвера.
— Вы можете обновить драйвер.
— Вы можете откатить драйвер к предыдущему.
— Можно отключить устройство.
— Можно удалить драйвер.
Сведения:
— Вы можете узнать значения свойств устройства.
— Выберите свойство и вам автоматически покажут его значение.
— Вы можете узнать характеристики, класс, код ошибки устройства и т.д.
События:
— Вы можете узнать события, которые происходили с устройством.
— Вы можете узнать дату и время события.
— Можно узнать описания и сведения событий.
— В конце нажмите на кнопку OK, чтобы сохранить сделанные изменения.
Что такое HID Keyboard Device? Как установить драйверы HID-клавиатуры
Что такое HID Keyboard Device?
Устройства интерфейса пользователя (или HID) — это класс компьютерных периферийных устройств, с помощью которых вы вводите команды. Этот термин обычно используется для обозначения мышей и клавиатур, но геймпады и джойстики тоже составляют эту категорию.
Клавиатуры HID ничем не отличаются от стандартных клавиатур PS / 2 в ноутбуках, за исключением того, что они подключаются через USB, а не встроены. Вопреки распространенному мнению, аббревиатура HID — это не термин, впервые использованный Microsoft. Фактически это происходит из спецификаций USB, поскольку USB HID является родительским классом.
Установите драйверы HID Keyboard
Если вы недавно обновились до Windows 10, переустановили или обновили ее, возможно, вы обнаружили, что вам необходимо установить (или обновить) драйверы HID Keyboard.
В большинстве случаев вам действительно не нужно ничего делать или вручную загружать и устанавливать драйверы клавиатуры. Обновления Windows обычно заботятся об этом, и процесс завершается в фоновом режиме без сбоев. Но бывают случаи, когда ваша клавиатура может начать вести себя странно, например, регистрировать случайные вводы и игнорировать фактические, или вообще перестать работать после загрузки Windows после переустановки.
Вот несколько способов обновить и переустановить драйверы клавиатуры и решить проблемы, с которыми вы можете столкнуться.
# 1: обновите драйверы клавиатуры из диспетчера устройств
Чтобы установить / обновить драйверы клавиатуры, откройте RUN, нажав Winkey + R, введите «devmgmt.msc» и нажмите Enter.
В диспетчере устройств разверните ветку Клавиатуры.
Затем щелкните правой кнопкой мыши на клавиатуре и выберите «Обновить драйвер».
Выберите Автоматический поиск драйверов.
Драйверы будут установлены / обновлены автоматически. Перезагрузите компьютер, чтобы изменения вступили в силу.
Вы также можете просмотреть (свой) компьютер в поисках драйверов, если вы уже загрузили драйверы с вашего компьютера или веб-сайта производителя клавиатуры.
Нажмите «Обзор», найдите папку с файлом драйвера и нажмите «Далее».
Кроме того, вы можете нажать «Разрешить мне выбрать» из списка доступных драйверов на моем компьютере и посмотреть, какие предложения Windows предлагает вам.
Затем выберите один из предложенных вариантов и нажмите «Далее».
Если вы не можете найти вариант, снимите флажок «Показать совместимое оборудование» и получите полный список драйверов от разных производителей на выбор. Затем нажмите Далее.
Необходимо обновить драйверы клавиатуры. Перезагрузите компьютер, чтобы изменения вступили в силу.
# 2: удалите и переустановите драйверы
Неисправный драйвер — частая причина того, что клавиатура начинает самостоятельно создавать проблемы. Самый простой способ избавиться от этой привязки — удалить текущие драйверы и все их файлы и снова переустановить драйверы. Это устраняет любые проблемы, которые могут быть связаны с неисправными драйверами.
Откройте диспетчер устройств, как показано ранее (Win + X). Вы также можете использовать для этого только мышь: щелкните правой кнопкой мыши кнопку «Пуск» и выберите «Диспетчер устройств».
Затем щелкните правой кнопкой мыши на клавиатуре в ветви «Клавиатуры» и выберите «Удалить устройство».
Снова нажмите Удалить.
Выберите Да и перезагрузите компьютер, чтобы удалить.
После перезапуска Windows автоматически установит драйверы клавиатуры по умолчанию и снова заставит клавиатуру работать.
Если клавиатура не работает после перезагрузки, это означает, что вам необходимо переустановить / обновить драйверы самостоятельно из диспетчера устройств. Но поскольку вы можете выполнить шаги, описанные выше, с помощью одной только мыши, это не должно быть проблемой.
HID Проблемы с клавиатурой
Как и большинство периферийных устройств, HID-клавиатуры имеют тенденцию создавать несколько собственных проблем. Хотя в основном проблемы возникают из-за ошибок в драйверах, проблемы также могут включать проблемы совместимости или другие программы и службы, мешающие правильному функционированию устройства.
Исправления: клавиатура не работает
Большинство вышеупомянутых проблем можно решить, просто обновив или переустановив драйверы, как показано в предыдущем разделе. Но если проблема с вашей клавиатурой не устранена, вы также можете взглянуть на следующее:
Убедитесь, что порт USB работает
Звучит достаточно очевидно, но это никогда не будет приятным сюрпризом, когда мы в конце концов обнаружим проблему там, где меньше всего хотели бы искать, — в оборудовании. Если ваша HID-клавиатура начинает проявлять странные проблемы, такие как периодическое обновление сама по себе, причиной может быть одна (или несколько) из следующих причин:
Чтобы проверить, работает ли порт USB, отключите клавиатуру HID и подключите другое устройство USB, например флэш-накопитель или мышь. Если он тоже не распознается, у вас проблема с оборудованием. Помимо исправления базовой инфраструктуры, вам также следует обойти любые USB-концентраторы, которые вы можете использовать, и подключить клавиатуру напрямую к ПК.
Конфликт обновления драйвера Windows 10
Некоторые пользователи сообщают о любопытной проблеме при перезагрузке Windows 10. Функциональная клавиатура перестает работать, как только драйверы устройства обновляются автоматически с помощью обновления Windows.
В таких случаях проблема заключается в драйверах, которые Windows обновляет самостоятельно. Быстрое решение этой проблемы — отключить обновление Windows и установить драйверы (как показано ранее) вручную. Многие производители устройств размещают на своих веб-сайтах собственные приложения, которые предоставляют подходящие драйверы для вашей системы и постоянно обновляют их.
Единственным недостатком этого решения является то, что мы должны держать обновления Windows выключенными, чтобы избежать конфликта между драйверами, которые мы установили вручную, и теми, которые обновление Windows хочет нам навязать. Однако вы можете сначала попытаться создать точку восстановления системы и снова включить обновления, чтобы проверить, работает ли ваша клавиатура.
Отключить ключи фильтра
Наконец, FilterKeys — функция «легкого доступа», которая сообщает Windows игнорировать повторяющиеся или слишком короткие нажатия клавиш. Однако этот параметр может заставить клавиатуру вести себя странно, например, регистрировать нажатие клавиши, когда оно не было выполнено, или вообще не регистрировать нажатие клавиши.
Лучше оставить ключи фильтров выключенными. Чтобы в этом убедиться, нажмите Win + I и откройте «Настройки». Щелкните «Удобство доступа».
Прокрутите вниз и выберите «Клавиатура» на левой панели.
Теперь справа в разделе «Использовать ключи фильтра» выключите кнопку и снимите флажок «Разрешить ярлыку запускать ключи файлов».
Вы также можете один раз обновить / переустановить драйверы, на всякий случай. Затем перезагрузите компьютер. Этот метод должен обновить драйверы и предотвратить вмешательство других функций во ввод данных.
Мы надеемся, что теперь вы стали лучше осведомлены о HID-клавиатурах и обновлении их дисков, чем раньше. Выполнение этого несколькими различными способами также гарантирует, что вы избежите любых проблем, которые в противном случае могли бы беспокоить вашу клавиатуру.
Обучаем HID устройство (читай BT-клавиатуру) работать правильно
Приветствую, хабралюди! 
Подключил ее к своему Android 2.3.5 (SGSII), стал с ее помощью лазить по меню, запускать программы, дошел до Вконтакте и решил написать сообщение… а вот переключить на русский язык не смог, но как оказалось позже, это еще были только цветочки! Но кое-что мне удалось. Интересно как?
Сейчас я уже многое понял, и не знаю с чего начать свой рассказ. Поэтому будет долго и скучно, но игра стоит свеч!
Имеем:
Первые шаги
Начал я с того, что написал письмо в техподдержку клавиатуры, с вопросом: а не могли бы вы посодействовать с настройкой клавиатуры для Андроида? Получил, как и ожидалось, ласковый отказ: «Эта клавиатура сделана специально для iPad».
Кому лень было читать статьи, кратко поясню:
На Вашем Android устройстве есть папка (кстати зависит от устройства, подробности есть в статье выше)
/system/usr
где расположены нужные нам каталоги
keylayout и keychars
в них размещаются файлы типа имя_клавиатуры.kl и имя_клавиатуры.kcm.bin соответственно.
Первый (обычный текстовый) отвечает за соответствие сигналов клавиатуры (Linux key code) сигналам Android (Android key code name) и выглядит как список из таких команд:
key 30 A WAKE
Расшифровка: key [scancode] [Android key] [Flags]
По-русски: если на клавиатуре нажали кнопку с кодом 30, то системе будет послана клавиша А, при этом устройство проснется.
Флаг WAKE заставляет устройство проснуться и отреагировать на нажатие буквой А.
А флаг WAKE_DROPPED заставляет только проснуться, т.е. чтобы нажать А, надо будет нажать ее снова.
В статье есть описание и других флагов.
Второй (скомпилированный из исходника бинарник) отвечает за комбинации клавиш вместе с Shift, Alt и т.п. Здесь уже идет таблица из разных вариантов, описывающих действия над Android key. В исходном виде он выглядит как:
key A <
label: ‘A’
base: ‘a’
shift, capslock: ‘A’
ctrl, alt, meta: none
>
А скомпилирован он для ускорения работы и загрузки устройства.
Решаем что делать
Я написал в техподдержку клавиатуры снова, описав свои наблюдения. Но поддержки от них никакой не добился. Им это не интересно. Придется все делать самому.
Что, опять нужен root?
Для доступа в папку /system нужны права root. Значит нужно его получить и не потерять гарантию. Я долго искал способ и для себя один нашел. Ничего не нужно прошивать. Все можно вернуть назад. ИСПОЛЬЗУЙТЕ НА СВОЙ СТРАХ И РИСК! ВСЕ ТОЛЬКО ДЛЯ ОЗНАКОМЛЕНИЯ! НИКАКОЙ ОТВЕТСТВЕННОСТИ! Но для меня все сработало как надо.
Готовим файл
Первые грабли:
Определить имя нужного файла может быть затруднительно. Общий принцип названия файлов, согласно статье — Vendor_XXXX_Product_XXXX_Version_XXXX.kl или DEVICE_NAME.kl
Ну вот, нашли файл, скачали, сделали копию, открыли текстовым редактором типа notepad.
У меня файл назывался Broadcom_Bluetooth_HID.kl
Тааааак, и что тут у нас?
Все понятно, какие-то коды, какие-то кнопки, что к чему не особо понятно, но мы уже готовы к этому, потому что внимательно читали эту статью с начала и до сюда. А как же определить коды клавиш?
Вторые грабли:
Чтобы определить коды клавиш понадобится средство отладки или.
Просто заходим на маркет и находим то что нужно, не с первой попытки конечно. Я перепробовал 3-4 программы. Не все могли похвастаться нужной функцией — многие отображали только Android коды, которые уже прописаны в нашем файле. А нам нужны scancod’ы!
Получаем scancod’ы
Я «отксерил» свою клавиатуру на копире и ручкой стал подписывать коды, которые мне давала программа KeyEvent Display. Так я получил набор кодов, осталось переписать их в файл и назначить им правильные функции.
Редактируем файл
Открываем первую статью по клавиатурам и методично назначаем новые значения нашим кнопкам.
Получается что-то вроде этого:
Третьи грабли:
Не все кнопки будут работать с Вашей версией Android OS! Обратите внимание на колонку Version в первой статье про клавиатуры. Если вы используете те коду, которые предназначены для версий больше вашей, тогда с этого места клавиатура не будет работать.
Все кнопки, указанные после неправильной не будут функционировать.
Поэтому, для будущей совместимости, я в своем файле, клавиши предназначенные не для моей версии Android OS, перенес в конец. Как показала практика, в этом случае все работает и файл готов к переносу на другие версии ОС.
Закидываем файл в систему
Здесь не обойтись без консольной утилиты. Подключаем девайс по USB в режиме отладки и выполняем последовательно команды в консоли cmd.exe:
Четвертые грабли:
Папка /system находится на файловой системе в режиме только для чтения. Для того, чтобы туда писать, нужно перемонтировать систему в режиме RW. Но для этого, нужно определить точку монтирования и тип файловой системы при помощи простой команды mount.
После перезагрузки устройства, файловая система снова станет «только для чтения».
Пояснения к командам:
Проверяем
Заработало!
Поздравляю! По-другому и быть не могло! Вы молодец! Только… как же на русский-то перейти?
Не долго гугля, я нашел простой ответ — нужна софтварная клавиатура, поддерживающая аппаратную. Таких немного. Идеальная, на мой взглад, на сегодня — ruKeybord
Устанавливаем, настраиваем, в раскладках устанавливаем аппаратную клавиатуру вместо qwerty и т.п.
Теперь можно переключать раскладку через Alt+Shift (UPD: или Shift+Space). И флажок показывается.
Кто еще не в курсе, чтобы быстро переключаться между клавиатурами, подержите палец на любом поле ввода и выберите из выпавшего меню «Режим ввода».
Итоги
Как ни старался, но заставить заработать все кнопки, подобно компьютеру, на 2.3.5 невозможно. Но скоро я обновлюсь до Android OS 4 и новые кнопки заработают. На первой фотографии я сижу в putty и редактирую сайт. Очень не хватает кнопки Ctrl. Очень жду обновления ОС. Доволен результатом.
Берегите ваши донглы: исследование безопасности ресивера клавиатур Logitech
Так исторически сложилось, что большинство сотрудников пользуются беспроводными клавиатурами и мышами фирмы Logitech. В очередной раз вводя свои пароли, мы – специалисты команды Raccoon Security – задались вопросом: насколько сложно обойти механизмы защиты беспроводных клавиатур? Проведенное исследование выявило архитектурные недостатки и программные ошибки, которые позволяют получить доступ к вводимым данным. Под катом – что у нас получилось.
Почему Logitech?
На наш взгляд, устройства ввода компании Logitech являются одними из самых качественных и удобных. Большинство имеющихся у нас устройств основаны на решении Logitech Unifying – это универсальный донгл-приемник, позволяющий подключать до 6 устройств. Все совместимые с технологией Logitech Unifying устройства маркируются соответствующим логотипом. Простое в использовании приложение позволяет управлять подключением беспроводных клавиатур к компьютеру. Подробно процесс подключения клавиатуры к донглу-приемнику Logitech, как и сама технология, освещены, например, здесь.

Донгл-приемник с поддержкой Logitech Unifying
Клавиатура может стать источником информации для злоумышленников. Компания Logitech, учитывая возможную угрозу, позаботилась о безопасности – применила алгоритм шифрования AES128 в радиоканале беспроводной клавиатуры. Первая мысль, которая может посетить злоумышленника при таком раскладе, – перехват ключевой информации при ее передаче по радиоканалу в процессе процедуры связывания. Ведь при наличии ключа можно перехватывать радиосигналы клавиатуры и расшифровывать их. Однако пользователю очень редко (или даже никогда) приходится связывать клавиатуру Unifying-процедурой, и хакеру со сканирующим радиоприемником придется долго ждать. Кроме того, не все так просто обстоит и с самим процессом перехвата. В последнем исследовании в июне 2019 года эксперт по безопасности Маркус Менгс опубликовал в сети сообщение об обнаружении уязвимости в старых прошивках USB-донглов Logitech. Она позволяет злоумышленникам с физическим доступом к устройствам получать ключи шифрования радиоканала и инжектировать нажатия клавиш (CVE-2019-13054).
Мы расскажем про наше исследование безопасности донгла Logitech на базе SoC NRF24 от Nordic Semiconductor. А начнем, пожалуй, с самого радиоканала.
Как «летят» данные в радиоканале
Для частотно-временного анализа радиосигнала мы использовали SDR-приемник на базе устройства Blade-RF в режиме анализатора спектра (об этом также можно почитать здесь).

Устройство SDR Blade-RF
Мы также рассмотрели возможность записи квадратур радиосигнала на промежуточной частоте, чтобы затем проанализировать их с применением методов цифровой обработки сигналов.
Государственной комиссией по радиочастотам в Российской Федерации разрешен к использованию устройствами малого радиуса действия диапазон частот 2400–2483,5 МГц. Это очень «населенный» диапазон, в котором чего только не встретишь: Wi-Fi, Bluetooth, всевозможные пульты ДУ, охранные системы, беспроводные извещатели, мыши с клавиатурами и другие беспроводные цифровые устройства.

Спектр участка диапазона 2,4 ГГц
Помеховая обстановка в диапазоне достаточно сложная. Но несмотря на это компания Logitech смогла обеспечить надежный и устойчивый прием с помощью использования протокола Enhanced ShockBurst в трансивере NRF24 в сочетании с алгоритмами частотной адаптации.
Каналы в диапазоне размещены в позициях целых значений МГц, как определено в спецификации NRF24 Nordic Semiconductor – всего 84 канала в сетке частот. Число одновременно используемых Logitech частотных каналов, конечно, меньше. Мы выявили использование как минимум четырех. Из-за ограниченной полосы обзора применяемого анализатора спектра сигналов точный список используемых частотных позиций определить не удалось, но в этом и не было необходимости. Информация от клавиатуры к донглу-приемнику передается в режиме Burst (короткими включениями трансмиттера) с использованием двухпозиционной частотной модуляции GFSK на символьной скорости 1 Мбод:

Радиосигнал клавиатуры во временном представлении
Ресивер использует корреляционный принцип приема, поэтому в составе передаваемого пакета присутствуют преамбула и адресная часть. Помехоустойчивое кодирование не применяется, тело данных шифруется алгоритмом AES128.
В общем, радиоинтерфейс беспроводной клавиатуры Logitech можно характеризовать как полностью асинхронный со статистическим уплотнением и частотной адаптацией. Это означает, что трансмиттер клавиатуры переключает канал для передачи каждого нового пакета. Приемнику неизвестны заранее ни время передачи, ни частотный канал, а известен только их список. Приемник и передатчик встречаются в канале благодаря согласованным алгоритмам обхода и прослушивания частот, а также механизмам подтверждений Enhanced ShockBurst. Мы не исследовали, является ли список каналов статическим. Вероятно, его изменение обусловлено алгоритмом частотной адаптации. Что-то близкое к методу ППРЧ (псевдослучайная перестройка рабочей частоты) угадывается в использовании частотного ресурса диапазона.
Таким образом, в условиях частотно-временной неопределенности для гарантированного приема всех сигналов клавиатуры злоумышленнику понадобится контролировать в постоянном режиме всю сетку частот диапазона из 84 позиций, что требует значительных временных затрат. Здесь становится понятно, почему уязвимость извлечения ключа через USB (CVE-2019-13054) в источниках позиционируется как возможность инжектирования нажатий клавиши, а не получения доступа злоумышленника к вводимым с клавиатуры данным. Очевидно, что радиоинтерфейс беспроводной клавиатуры устроен достаточно сложно и обеспечивает надежную радиосвязь между устройствами Logitech в условиях сложной помеховой обстановки в диапазоне 2,4 ГГц.
Взгляд на проблему изнутри
Для исследования мы выбрали одну из имеющихся у нас клавиатур Logitech K330 и донгл Logitech Unifying.

Заглянем внутрь клавиатуры. Интересный для исследования элемент на плате – чип SoC NRF24 от Nordic Semiconductor.

SoC NRF24 на плате беспроводной клавиатуры Logitech K330
Прошивка размещена во внутренней памяти, механизмы чтения и отладки выключены. К сожалению, прошивка в открытых источниках не опубликована. Поэтому мы решили подойти к проблеме с другой стороны – изучить внутреннее содержание донгл-приемника Logitech.
«Внутренний мир» донгл-приемника устроен достаточно интересно. Донгл легко разбирается, несет на борту знакомый нам NRF24 в релизе со встроенным USB-контроллером и может быть перепрограммирован как со стороны USB, так и непосредственно программатором.

Донгл Logitech без корпуса
Поскольку существует штатный механизм обновления прошивки с использованием приложения Firmware Update Tool (из которого можно извлечь обновленную версию прошивки), искать прошивку внутри донгла нет необходимости.
Что было выполнено: из тела приложения Firmware Update Tool была извлечена прошивка RQR_012_005_00028.bin. Для проверки ее целостности контроллер донгла был подключен шлейфом к программатору ChipProg-48:

Шлейф подключения донгла Logitech к программатору ChipProg 48
Для контроля целостности прошивки она была успешно размещена в памяти контроллера и заработала корректно, клавиатура и мышь были подключены к донглу через Logitech Unifying. Возможна заливка модифицированной прошивки с помощью штатного механизма обновления, т. к. каких-либо механизмов криптографической защиты прошивки не предусмотрено. Мы же в целях исследования использовали физическое подключение к программатору, поскольку так проводить отладку гораздо быстрее.
Исследование прошивки и атака на пользовательский ввод
Чип NRF24 спроектирован на основе вычислительного ядра Intel 8051 в традиционной гарвардской архитектуре. Для ядра трансивер выступает в качестве периферийного устройства и размещен в адресном пространстве как набор регистров. Документацию на чип и примеры исходных текстов можно найти в Интернете, поэтому дизассемблирование прошивки не представляет трудности. В ходе реверс-инжиниринга мы локализовали функции получения данных о нажатиях клавиш из радиоканала и преобразования их в формат HID для передачи на хост по USB-интерфейсу. В свободных адресах памяти был размещен код инъекции, в который вошли инструменты перехвата управления, сохранения и восстановления оригинального контекста исполнения, а также функциональный код.
Принятый донглом из радиоканала пакет нажатия или отпускания клавиши дешифруется, преобразуется в стандартный HID-репорт и направляется в USB-интерфейс как от обычной клавиатуры. В рамках исследования для нас наибольший интерес представляет часть HID-репорта, содержащая байт флагов-модификаторов и массив из 6 байт с кодами нажатий клавиш (для справки информация о HID здесь).
Непосредственно перед передачей HID-структуры на хост инжектированный код получает управление, копирует в памяти 8 байт нативных HID-данных и отправляет их на побочный радиоканал в открытом виде. В коде это выглядит так:
Побочный канал организуется на установленной нами частоте с определенными характеристиками скорости манипуляции и структуры пакета.
Работа трансивера в чипе NRF24 основана на графе состояний, в который органично вписан протокол Enhanced ShockBurst. Мы выяснили, что непосредственно перед передачей HID-данных в USB-интерфейс хоста трансивер находился в состоянии IDLE. Это делает возможным его безопасное переконфигурирование для работы в побочном канале. Инжектированный код перехватывает управление, сохраняет оригинальную конфигурацию трансивера в полном объеме и переводит его в новый режим передачи на побочный канал. Механизм подтверждений Enhanced ShockBurst в этом режиме выключен, HID-данные в открытом виде передаются в радиоэфир. Структура пакета в побочном канале представлена на рисунке ниже, эпюры сигнала получены после демодуляции и до восстановления тактовой синхронизации данных. Значение адреса выбрано для удобства визуальной идентификации пакета.

Демодулированный сигнал Burst-пакета в побочном канале
После завершения передачи пакета в побочный канал инжектированный код восстанавливает состояние трансивера. Теперь он снова готов к работе в штатном режиме в контексте оригинальной прошивки.
В частотной и частотно-временной областях побочный канал выглядит так, как показано на рисунке:

Спектральное и частотно-временное представление побочного канала
Для проверки работы чипа NRF24 с измененной прошивкой мы собрали стенд, в который вошли Logitech-донгл с модифицированной прошивкой, беспроводная клавиатура и приемник, собранный на базе китайского модуля с чипом NRF24.

Схема перехвата радиосигнала беспроводной клавиатуры Logitech

Модуль на базе NRF24
На стенде при нормальной работе клавиатуры после подключения ее к донглу Logitech мы наблюдали передачу открытых данных о нажатиях клавиш в побочном радиоканале и нормальную передачу шифрованных данных в основном радиоинтерфейсе. Таким образом, нам удалось обеспечить прямой перехват клавиатурного ввода пользователя:
Результат перехвата клавиатурного ввода
Инжектированный код вносит небольшие задержки в работу прошивки донгла. Однако они слишком малы для того, чтобы пользователь мог их заметить.
Как вы понимаете, для такого вектора атаки можно использовать любую клавиатуру Logitech, совместимую с технологией Unifying. Поскольку атака направлена на приемник Unifying, который входит в комплект большинства клавиатур Logitech, то она не зависит от конкретной модели клавиатуры.
Заключение
Полученные результаты исследования подталкивают к мысли о возможном использовании рассмотренного сценария злоумышленниками: если хакер заменит жертве донгл-приемник для беспроводной клавиатуры Logitech, то он сможет узнать пароли к учетным записям жертвы со всеми вытекающими последствиями. Не стоит забывать о том, что инжектировать нажатие клавиш тоже возможно, а значит, выполнить произвольный код на компьютере жертвы не представляет трудности.
А если вдруг злоумышленник сможет удаленно модифицировать прошивку любого Logitech-донгла через USB? Тогда из близко расположенных донглов можно сложить сеть ретрансляторов и увеличить дистанцию утечки. Хотя «финансово обеспеченному» злоумышленнику современные средства радиоприема с высокоселективными системами, чувствительными радиоприемниками с малым временем перестройки частоты и узконаправленными антеннами позволят «слушать» клавиатурный ввод и нажимать клавиши даже из соседнего здания.

Профессиональное оборудование для радиоприема
Поскольку беспроводной канал передачи данных клавиатуры Logitech достаточно хорошо защищен, найденный вектор атаки требует наличия физического доступа к ресиверу, что сильно ограничивает атакующего. Единственным вариантом защиты в данном случае могло бы быть использование механизмов криптографической защиты для прошивки ресивера, например проверка подписи загружаемой прошивки на стороне ресивера. Но, к сожалению, NRF24 это не поддерживает и в рамках текущей архитектуры устройства реализовать защиту невозможно. Так что берегите ваши донглы, ведь описанный вариант атаки требует физического доступа к ним.
Raccoon Security – специальная команда экспертов НТЦ «Вулкан» в области практической информационной безопасности, криптографии, схемотехники, обратной разработки и создания низкоуровневого программного обеспечения.






















